暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

好消息:Oracle 23ai 现已支持一键部署!

原创 Lucifer三思而后行 2025-08-25
214

目录

前言

最近拿到了 23ai 的本地版安装包,之前也写了一篇手动安装 Oracle 23ai RAC 的文章:装个 Oracle 23ai RAC 玩玩~,当时文章里说会尽快适配好 23ai 的一键安装,正好晚上有空适配了一下,花了半小时左右调整了一下静默安装的模版,已经搞定了!

本文先演示一下用一键安装脚本安装 Oracle 23ai 的过程,过两天再发一篇 23ai RAC 的一键安装。

安装前准备

安装使用方式和之前一样,安装命令通用,不分操作系统版本,同一套命令安装所有 Oracle 场景。

环境配置

操作系统版本:

[root@orcl:/root]# cat /etc/os-release NAME="Oracle Linux Server" VERSION="8.10" ID="ol" ID_LIKE="fedora" VARIANT="Server" VARIANT_ID="server" VERSION_ID="8.10" PLATFORM_ID="platform:el8" PRETTY_NAME="Oracle Linux Server 8.10" ANSI_COLOR="0;31" CPE_NAME="cpe:/o:oracle:linux:8:10:server" HOME_URL="https://linux.oracle.com/" BUG_REPORT_URL="https://github.com/oracle/oracle-linux" ORACLE_BUGZILLA_PRODUCT="Oracle Linux 8" ORACLE_BUGZILLA_PRODUCT_VERSION=8.10 ORACLE_SUPPORT_PRODUCT="Oracle Linux" ORACLE_SUPPORT_PRODUCT_VERSION=8.10

网络信息

查看网络配置情况:

[root@orcl:/root]# ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: ens192: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000 link/ether 00:0c:29:8f:22:48 brd ff:ff:ff:ff:ff:ff altname enp11s0 inet 192.168.31.102/24 brd 192.168.31.255 scope global noprefixroute ens192 valid_lft forever preferred_lft forever inet6 fe80::20c:29ff:fe8f:2248/64 scope link noprefixroute valid_lft forever preferred_lft forever

获取网卡名称 ens192

系统镜像挂载

手动挂载操作系统镜像,脚本会自动配置本地 YUM 源:

[root@orcl:/root]# mount /dev/cdrom /mnt/ mount: /mnt: WARNING: device write-protected, mounted read-only. [root@orcl:/root]# df -h | grep /mnt /dev/sr0 14G 14G 0 100% /mnt

要用 everything 版本的镜像,否则可能会缺包。

安装包上传

提前上传安装介质和安装脚本:

[root@orcl:/soft]# ls LINUX.X64_235000_db_home.zip OracleShellInstall

获取安装命令

使用我配套开发的 Oracle 一键安装命令生成工具 可视化填写参数,获取一键安装命令:

一键安装

切换到安装包和脚本所在目录,执行一键安装即可:

[root@orcl23ai soft]# ./OracleShellInstall \ -lf ens192 `# 公网IP的网卡名称`\ -pdb pdb01 `# PDB名称`\ -opd Y `# 优化数据库` ███████ ██ ████████ ██ ██ ██ ██ ██ ██ ██ ██░░░░░██ ░██ ██░░░░░░ ░██ ░██ ░██░██ ░██ ░██ ░██ ██ ░░██ ██████ ██████ █████ ░██ █████ ░██ ░██ █████ ░██ ░██░██ ███████ ██████ ██████ ██████ ░██ ░██ ░██ ░██░░██░░█ ░░░░░░██ ██░░░██ ░██ ██░░░██░█████████░██████ ██░░░██ ░██ ░██░██░░██░░░██ ██░░░░ ░░░██░ ░░░░░░██ ░██ ░██ ░██ ░██ ░██ ░ ███████ ░██ ░░ ░██░███████░░░░░░░░██░██░░░██░███████ ░██ ░██░██ ░██ ░██░░█████ ░██ ███████ ░██ ░██ ░░██ ██ ░██ ██░░░░██ ░██ ██ ░██░██░░░░ ░██░██ ░██░██░░░░ ░██ ░██░██ ░██ ░██ ░░░░░██ ░██ ██░░░░██ ░██ ░██ ░░███████ ░███ ░░████████░░█████ ███░░██████ ████████ ░██ ░██░░██████ ███ ███░██ ███ ░██ ██████ ░░██ ░░████████ ███ ███ ░░░░░░░ ░░░ ░░░░░░░░ ░░░░░ ░░░ ░░░░░░ ░░░░░░░░ ░░ ░░ ░░░░░░ ░░░ ░░░ ░░ ░░░ ░░ ░░░░░░ ░░ ░░░░░░░░ ░░░ ░░░ 注意:本脚本仅用于新服务器上实施部署数据库使用,严禁在已运行数据库的主机上执行,以免发生数据丢失或者损坏,造成不可挽回的损失!!! 请选择安装模式 [单机(si)/单机ASM(sa)/集群(rac)] : si 数据库安装模式: single 请选择数据库版本 [11|12|19|21|23] : 23 数据库版本: 23 OracleShellInstall 开始安装,详细安装过程可查看日志: tail -2000f /soft/print_shell_install_20250825214052.log 正在进行安装前检查,请稍等...... 正在检测安装包 /soft/LINUX.X64_235000_db_home.zip 的 MD5 值是否正确,请稍等...... 正在配置本地软件源......已完成 (耗时: 1 秒) 正在获取操作系统信息......已完成 (耗时: 1 秒) 正在安装依赖包......已完成 (耗时: 113 秒) 正在禁用防火墙......已完成 (耗时: 2 秒) 正在禁用 selinux......已完成 (耗时: 1 秒) 正在配置 nsyctl......已完成 (耗时: 1 秒) 正在配置主机名和 hosts 文件......已完成 (耗时: 1 秒) 正在创建用户和组......已完成 (耗时: 2 秒) 正在创建安装目录......已完成 (耗时: 1 秒) 正在配置 Avahi-daemon 服务......已完成 (耗时: 1 秒) 正在配置透明大页 && NUMA && 磁盘 IO 调度器......已完成 (耗时: 4 秒) 正在配置操作系统参数 sysctl......已完成 (耗时: 1 秒) 正在配置 RemoveIPC......已完成 (耗时: 1 秒) 正在配置用户限制 limit......已完成 (耗时: 1 秒) 正在配置 shm 目录......已完成 (耗时: 1 秒) 正在安装 rlwrap 插件......已完成 (耗时: 16 秒) 正在配置用户环境变量......已完成 (耗时: 1 秒) 正在解压 Oracle 安装包以及补丁......已完成 (耗时: 51 秒) 正在安装 Oracle 软件以及补丁......已完成 (耗时: 170 秒) 正在创建监听......已完成 (耗时: 5 秒) 正在创建数据库......已完成 (耗时: 473 秒) 正在优化数据库......已完成 (耗时: 121 秒) 恭喜!Oracle 一键安装执行完成 (耗时: 973 秒),现在是否重启主机:[Y/N] Y 正在重启当前节点主机......

因为我虚拟化环境的磁盘是机械盘,所以安装不是很快,如果是 SSD,估计 10 分钟不到就装完了。

安装后检查

重启主机后,数据库自动启动:

[root@orcl:/soft]# so ## 数据库开机自启 [oracle@orcl:/home/oracle]$ ps -ef|grep pmon oracle 1861 1 0 22:36 ? 00:00:00 ora_pmon_orcl oracle 3353 3313 0 22:58 pts/0 00:00:00 grep --color=auto pmon ## 自动配置归档删除和备份定时任务 [oracle@orcl:/home/oracle]$ crontab -l # OracleBegin 00 02 * * * /home/oracle/scripts/del_arch_orcl.sh #00 00 * * 0 /home/oracle/scripts/dbbackup_lv0_orcl.sh #00 00 * * 1,2,3,4,5,6 /home/oracle/scripts/dbbackup_lv1_orcl.sh ## 自动配置 SQLNET 优化 [oracle@orcl:/home/oracle]$ cat $TNS_ADMIN/sqlnet.ora # sqlnet.ora Network Configuration File: /u01/app/oracle/product/23.5.0/db/network/admin/sqlnet.ora # Generated by Oracle configuration tools. NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT) # OracleBegin SQLNET.ALLOWED_LOGON_VERSION_CLIENT=8 SQLNET.ALLOWED_LOGON_VERSION_SERVER=8 ## 各种快捷别名,运维便捷 alias sas='sqlplus / as sysdba' alias awr='sqlplus / as sysdba @?/rdbms/admin/awrrpt' alias ash='sqlplus / as sysdba @?/rdbms/admin/ashrpt' alias alert='vi $ORACLE_BASE/diag/rdbms/*/$ORACLE_SID/trace/alert_$ORACLE_SID.log' export PS1="[`whoami`@`hostname`:"'$PWD]$ ' alias bdf='df -Th' alias acd='cd $ORACLE_BASE/diag/rdbms/*/$ORACLE_SID/trace' alias dblog='tail -200f $ORACLE_BASE/diag/rdbms/*/$ORACLE_SID/trace/alert_$ORACLE_SID.log' ## 支持别名快速连接数据库 [oracle@orcl:/home/oracle]$ sas SQL*Plus: Release 23.0.0.0.0 - Production on Mon Aug 25 22:58:35 2025 Version 23.8.0.25.04 Copyright (c) 1982, 2025, Oracle. All rights reserved. Connected to: Oracle Database 23ai Enterprise Edition Release 23.0.0.0.0 - Limited Availability Version 23.8.0.25.04 ## 默认创建一个 PDB01,可根据参数自定义 PDB 名称(支持安装过程中同时创建多个 PDB) SYS@orcl SQL> show pdbs CON_ID CON_NAME OPEN MODE RESTRICTED ---------- ------------------------------ ---------- ---------- 2 PDB$SEED READ ONLY NO 3 PDB01 READ WRITE NO ## 默认开启归档模式,可根据参数自定义是否开启归档 SYS@orcl SQL> archive log list Database log mode Archive Mode Automatic archival Enabled Archive destination /oradata/archivelog Oldest online log sequence 2 Next log sequence to archive 2 Current log sequence 1 ## 默认创建 8 组 1G 的在线重做日志,可根据参数定义日志文件大小(默认 1G) SYS@orcl SQL> select group#,thread#,bytes/1024/1024,status from v$log; GROUP# THREAD# BYTES/1024/1024 STATUS ---------- ---------- --------------- ---------------- 1 1 1024 INACTIVE 2 1 1024 CURRENT 3 1 1024 UNUSED 4 1 1024 UNUSED 5 1 1024 UNUSED 6 1 1024 UNUSED 7 1 1024 UNUSED 8 1 1024 UNUSED 8 rows selected.

以上都是一键安装脚本自动完成,没有任何人为配置,更多优化内容不一一展示,最后附上完整的一键安装详细日志:

Mon Aug 25 21:40:55 CST 2025 #==============================================================# 配置本地软件源 #==============================================================# [BaseOS] name=BaseOS baseurl=file:///mnt/BaseOS enabled=1 gpgcheck=0 [AppStream] name=AppStream baseurl=file:///mnt/AppStream enabled=1 gpgcheck=0 #==============================================================# 打印系统信息 #==============================================================# 服务器时间: Mon Aug 25 21:41:00 CST 2025 操作系统版本: NAME="Oracle Linux Server" VERSION="8.10" ID="ol" ID_LIKE="fedora" VARIANT="Server" VARIANT_ID="server" VERSION_ID="8.10" PLATFORM_ID="platform:el8" PRETTY_NAME="Oracle Linux Server 8.10" ANSI_COLOR="0;31" CPE_NAME="cpe:/o:oracle:linux:8:10:server" HOME_URL="https://linux.oracle.com/" BUG_REPORT_URL="https://github.com/oracle/oracle-linux" ORACLE_BUGZILLA_PRODUCT="Oracle Linux 8" ORACLE_BUGZILLA_PRODUCT_VERSION=8.10 ORACLE_SUPPORT_PRODUCT="Oracle Linux" ORACLE_SUPPORT_PRODUCT_VERSION=8.10 内核信息: Linux version 5.15.0-206.153.7.1.el8uek.x86_64 (mockbuild@host-100-100-224-14) (gcc (GCC) 11.4.1 20230605 (Red Hat 11.4.1-2.1.0.1), GNU ld version 2.36.1-4.0.2.el8_6) #2 SMP Wed May 22 20:49:34 PDT 2024 Glibc 版本: 2.28 CPU 信息: 型号名称 :Intel(R) Xeon(R) CPU E5-2673 v4 @ 2.30GHz 物理 CPU 个数 :4 每个物理 CPU 的逻辑核数 :2 系统的 CPU 线程数 :8 系统的 CPU 类型 :x86_64 内存信息: total used free shared buff/cache available Mem: 7932 637 4636 10 2658 7023 Swap: 8191 0 8191 挂载信息: /dev/mapper/ol-root / xfs defaults 0 0 UUID=92390a0d-1af9-4e77-9403-6c705eec2494 /boot xfs defaults 0 0 UUID=D974-8153 /boot/efi vfat umask=0077,shortname=winnt 0 2 /dev/mapper/ol-swap none swap defaults 0 0 目录信息: Filesystem Size Used Avail Use% Mounted on devtmpfs 3.9G 0 3.9G 0% /dev tmpfs 3.9G 0 3.9G 0% /dev/shm tmpfs 3.9G 9.3M 3.9G 1% /run tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup /dev/mapper/ol-root 91G 8.2G 83G 9% / /dev/sda2 1014M 322M 693M 32% /boot /dev/sda1 599M 6.0M 593M 1% /boot/efi tmpfs 794M 12K 794M 1% /run/user/42 tmpfs 794M 0 794M 0% /run/user/0 /dev/sr0 14G 14G 0 100% /mnt #==============================================================# 安装依赖软件包 #==============================================================# psmisc \ tar \ glibc \ libaio \ libgcc \ libstdc++ \ bc \ make \ binutils \ glibc-devel \ ksh \ libstdc++-devel \ unzip \ gcc \ gcc-c++ \ libnsl \ initscripts \ libaio-devel \ e2fsprogs \ e2fsprogs-libs \ smartmontools \ net-tools \ nfs-utils \ elfutils-libelf \ elfutils-libelf-devel \ libibverbs \ librdmacm \ fontconfig \ fontconfig-devel \ libXrender \ libXrender-devel \ libX11 \ libXau \ libXi \ libXtst \ libxcb \ unixODBC \ sysstat \ readline \ readline-devel \ policycoreutils \ libvirt-libs \ policycoreutils-python-utils \ libnsl2 \ libasan \ liblsan \ compat-openssl10 \ libxcrypt-compat \ compat-openssl11 \ libgfortran \ rlwrap #==============================================================# 静默安装软件包 #==============================================================# 检查必需软件包安装情况: psmisc-23.1-5.el8.x86_64 tar-1.30-9.el8.x86_64 glibc-2.28-251.0.2.el8.x86_64 libaio-0.3.112-1.el8.x86_64 libgcc-8.5.0-21.0.1.el8.x86_64 libstdc++-8.5.0-21.0.1.el8.x86_64 bc-1.07.1-5.el8.x86_64 make-4.2.1-11.el8.x86_64 binutils-2.30-123.0.2.el8.x86_64 glibc-devel-2.28-251.0.2.el8.x86_64 ksh-20120801-267.0.1.el8.x86_64 libstdc++-devel-8.5.0-21.0.1.el8.x86_64 unzip-6.0-46.0.1.el8.x86_64 gcc-8.5.0-21.0.1.el8.x86_64 gcc-c++-8.5.0-21.0.1.el8.x86_64 libnsl-2.28-251.0.2.el8.x86_64 initscripts-10.00.18-1.0.1.el8.x86_64 #==============================================================# 禁用防火墙 #==============================================================# ● firewalld.service - firewalld - dynamic firewall daemon Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled) Active: inactive (dead) since Mon 2025-08-25 21:42:54 CST; 402ms ago Docs: man:firewalld(1) Main PID: 1209 (code=exited, status=0/SUCCESS) Aug 24 22:17:46 orcl23ai systemd[1]: Starting firewalld - dynamic firewall daemon... Aug 24 22:18:00 orcl23ai systemd[1]: Started firewalld - dynamic firewall daemon. Aug 24 22:18:01 orcl23ai firewalld[1209]: WARNING: AllowZoneDrifting is enabled. This is considered an insecure configuration option. It will be removed in a future release. Please consider disabling it now. Aug 25 21:42:54 orcl23ai systemd[1]: Stopping firewalld - dynamic firewall daemon... Aug 25 21:42:54 orcl23ai systemd[1]: firewalld.service: Succeeded. Aug 25 21:42:54 orcl23ai systemd[1]: Stopped firewalld - dynamic firewall daemon. #==============================================================# 禁用 SELinux #==============================================================# SELinux status: enabled SELinuxfs mount: /sys/fs/selinux SELinux root directory: /etc/selinux Loaded policy name: targeted Current mode: permissive Mode from config file: disabled Policy MLS status: enabled Policy deny_unknown status: allowed Memory protection checking: actual (secure) Max kernel policy version: 33 #==============================================================# 配置 nsysctl.conf #==============================================================# NOZEROCONF=yes #==============================================================# 配置主机名 #==============================================================# Static hostname: orcl Icon name: computer-vm Chassis: vm Machine ID: 2361e9c20d1d4403aeb1be8b44a81b87 Boot ID: 4f1c9139827648d9bd79e9cf6a072ca3 Virtualization: vmware Operating System: Oracle Linux Server 8.10 CPE OS Name: cpe:/o:oracle:linux:8:10:server Kernel: Linux 5.15.0-206.153.7.1.el8uek.x86_64 Architecture: x86-64 #==============================================================# 配置 /etc/hosts 文件 #==============================================================# 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.31.102 orcl #==============================================================# 创建用户和组 #==============================================================# oracle 用户: uid=54321(oracle) gid=54321(oinstall) groups=54321(oinstall),54322(dba),54323(oper),54324(backupdba),54325(dgdba),54326(kmdba),54330(racdba) #==============================================================# 配置 Avahi-daemon 服务 #==============================================================# ● avahi-daemon.service - Avahi mDNS/DNS-SD Stack Loaded: loaded (/usr/lib/systemd/system/avahi-daemon.service; disabled; vendor preset: enabled) Active: inactive (dead) Aug 24 22:18:16 orcl23ai avahi-daemon[1107]: New relevant interface virbr0.IPv4 for mDNS. Aug 24 22:18:16 orcl23ai avahi-daemon[1107]: Registering new address record for 192.168.122.1 on virbr0.IPv4. Aug 25 21:43:02 orcl systemd[1]: Stopping Avahi mDNS/DNS-SD Stack... Aug 25 21:43:02 orcl avahi-daemon[1107]: Got SIGTERM, quitting. Aug 25 21:43:02 orcl avahi-daemon[1107]: Leaving mDNS multicast group on interface virbr0.IPv4 with address 192.168.122.1. Aug 25 21:43:02 orcl avahi-daemon[1107]: Leaving mDNS multicast group on interface ens192.IPv6 with address fe80::20c:29ff:fe8f:2248. Aug 25 21:43:02 orcl avahi-daemon[1107]: Leaving mDNS multicast group on interface ens192.IPv4 with address 192.168.31.102. Aug 25 21:43:02 orcl avahi-daemon[1107]: avahi-daemon 0.7 exiting. Aug 25 21:43:02 orcl systemd[1]: avahi-daemon.service: Succeeded. Aug 25 21:43:02 orcl systemd[1]: Stopped Avahi mDNS/DNS-SD Stack. #==============================================================# 配置透明大页 && NUMA && 磁盘 IO 调度器 #==============================================================# args="ro resume=/dev/mapper/ol-swap rd.lvm.lv=ol/root rd.lvm.lv=ol/swap rhgb quiet numa=off transparent_hugepage=never elevator=deadline $tuned_params" -resume=/dev/mapper/ol-swap -args="ro args="ro resume=/dev/mapper/ol-swap rd.lvm.lv=ol/root rd.lvm.lv=ol/swap rhgb quiet numa=off transparent_hugepage=never elevator=deadline $tuned_params" -elevator=deadline -transparent_hugepage=never args="ro resume=/dev/mapper/ol-swap rd.lvm.lv=ol/root rd.lvm.lv=ol/swap rhgb quiet numa=off transparent_hugepage=never elevator=deadline $tuned_params" - - #==============================================================# 配置 sysctl.conf #==============================================================# 查看 sysctl.conf 配置情况 :sysctl -p fs.aio-max-nr = 1048576 fs.file-max = 6815744 kernel.shmall = 2097152 kernel.shmmax = 8317681654 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 net.ipv4.ip_local_port_range = 9000 65500 net.core.rmem_default = 262144 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 1048576 vm.min_free_kbytes = 32490 net.ipv4.conf.ens192.rp_filter = 1 vm.swappiness = 10 kernel.panic_on_oops = 1 kernel.randomize_va_space = 2 vm.hugetlb_shm_group = 54321 kernel.numa_balancing = 0 #==============================================================# 配置 RemoveIPC #==============================================================# 查看 RemoveIPC :/etc/systemd/logind.conf RemoveIPC=no RemoveIPC=no #==============================================================# 配置 /etc/security/limits.conf 和 /etc/pam.d/login #==============================================================# 查看 /etc/security/limits.conf: oracle soft nofile 1024 oracle hard nofile 65536 oracle soft stack 10240 oracle hard stack 32768 oracle soft nproc 16384 oracle hard nproc 16384 oracle hard memlock unlimited oracle soft memlock unlimited 查看 /etc/pam.d/login 文件: auth substack system-auth auth include postlogin account required pam_nologin.so account include system-auth password include system-auth session required pam_selinux.so close session required pam_loginuid.so session optional pam_console.so session required pam_selinux.so open session required pam_namespace.so session optional pam_keyinit.so force revoke session include system-auth session include postlogin -session optional pam_ck_connector.so session required pam_limits.so #==============================================================# 配置 /dev/shm #==============================================================# 查看 Linux 挂载情况:/etc/fstab /dev/mapper/ol-root / xfs defaults 0 0 UUID=92390a0d-1af9-4e77-9403-6c705eec2494 /boot xfs defaults 0 0 UUID=D974-8153 /boot/efi vfat umask=0077,shortname=winnt 0 2 /dev/mapper/ol-swap none swap defaults 0 0 tmpfs /dev/shm tmpfs size=8122736k 0 0 #==============================================================# 安装 rlwrap 插件 #==============================================================# 成功安装 rlwrap: rlwrap 0.44 #==============================================================# Root 用户环境变量 #==============================================================# 查看 root 用户环境变量:/root/.bash_profile if [ -f ~/.bashrc ]; then . ~/.bashrc fi PATH=$PATH:$HOME/bin export PATH alias so='su - oracle' export PS1=[`whoami`@`hostname`:'$PWD]# ' alias bdf='df -Th' alias syslog='vi /var/log/messages' #==============================================================# oracle 用户环境变量,实例名:orcl #==============================================================# 查看 oracle 用户环境变量:/home/oracle/.bash_profile if [ -f ~/.bashrc ]; then . ~/.bashrc fi umask 022 export TMP=/tmp export TMPDIR=$TMP export NLS_LANG=AMERICAN_AMERICA.AL32UTF8 export ORACLE_BASE=/u01/app/oracle export ORACLE_HOME=/u01/app/oracle/product/23.5.0/db export ORACLE_TERM=xterm export TNS_ADMIN=$ORACLE_HOME/network/admin export ORACLE_SID=orcl export PATH=/usr/sbin:$PATH export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$ORACLE_HOME/perl/bin:$PATH export PERL5LIB=$ORACLE_HOME/perl/lib alias sas='sqlplus / as sysdba' alias awr='sqlplus / as sysdba @?/rdbms/admin/awrrpt' alias ash='sqlplus / as sysdba @?/rdbms/admin/ashrpt' alias alert='vi $ORACLE_BASE/diag/rdbms/*/$ORACLE_SID/trace/alert_$ORACLE_SID.log' export PS1="[`whoami`@`hostname`:"'$PWD]$ ' alias bdf='df -Th' alias acd='cd $ORACLE_BASE/diag/rdbms/*/$ORACLE_SID/trace' alias dblog='tail -200f $ORACLE_BASE/diag/rdbms/*/$ORACLE_SID/trace/alert_$ORACLE_SID.log' export CV_ASSUME_DISTID=OL8 alias sqlplus='rlwrap sqlplus' alias rman='rlwrap rman' alias adrci='rlwrap adrci' #==============================================================# 静默解压 Oracle 软件包 #==============================================================# 正在静默解压缩 Oracle 软件包,请稍等: 静默解压 Oracle 软件安装包: /soft/LINUX.X64_235000_db_home.zip #==============================================================# Oracle 安装静默文件 #==============================================================# oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v23.0.0 installOption=INSTALL_DB_SWONLY UNIX_GROUP_NAME=oinstall INVENTORY_LOCATION=/u01/app/oraInventory ORACLE_BASE=/u01/app/oracle ORACLE_HOME=/u01/app/oracle/product/23.5.0/db installEdition=EE OSDBA=dba OSOPER=oper OSBACKUPDBA=backupdba OSDGDBA=dgdba OSKMDBA=kmdba OSRACDBA=racdba #==============================================================# 静默安装 Oracle 软件命令 #==============================================================# /u01/app/oracle/product/23.5.0/db/runInstaller \ -silent \ -ignorePrereqFailure \ -responseFile /soft/oracle.rsp \ -waitForCompletion #==============================================================# 静默安装数据库软件 #==============================================================# 检查 Oracle 软件 OPacth 版本: OPatch Version: 12.2.0.1.46 OPatch succeeded. 正在安装 Oracle 软件: Launching Oracle Database Setup Wizard... The response file for this session can be found at: /u01/app/oracle/product/23.5.0/db/install/response/db_2025-08-25_09-44-21PM.rsp You can find the log of this install session at: /tmp/InstallActions2025-08-25_09-44-21PM/installActions2025-08-25_09-44-21PM.log As a root user, run the following script(s): 1. /u01/app/oraInventory/orainstRoot.sh 2. /u01/app/oracle/product/23.5.0/db/root.sh Run /u01/app/oraInventory/orainstRoot.sh on the following nodes: [orcl] Run /u01/app/oracle/product/23.5.0/db/root.sh on the following nodes: [orcl] Successfully Setup Software. Moved the install session logs to: /u01/app/oraInventory/logs/InstallActions2025-08-25_09-44-21PM #==============================================================# 执行 root 脚本 #==============================================================# 执行命令:/u01/app/oraInventory/orainstRoot.sh Changing permissions of /u01/app/oraInventory. Adding read,write permissions for group. Removing read,write,execute permissions for world. Changing groupname of /u01/app/oraInventory to oinstall. The execution of the script is complete. 执行命令:/u01/app/oracle/product/23.5.0/db/root.sh Check /u01/app/oracle/product/23.5.0/db/install/root_orcl_2025-08-25_21-47-03-468441092.log for the output of root script #==============================================================# Oracle 软件版本 #==============================================================# SQL*Plus: Release 23.0.0.0.0 - Production Version 23.8.0.25.04 #==============================================================# Oracle 补丁信息 #==============================================================# 37701424;OCW RELEASE UPDATE 23.8.0.25.04 (37701424) Gold Image 37701421;Database Release Update : 23.8.0.25.04 (37701421) Gold Image OPatch succeeded. #==============================================================# 静默安装 Oracle 软件命令 #==============================================================# /u01/app/oracle/product/23.5.0/db/bin/netca -silent \ -responsefile /u01/app/oracle/product/23.5.0/db/assistants/netca/netca.rsp #==============================================================# 创建监听 #==============================================================# 正在创建监听: Parsing command line arguments: Parameter "silent" = true Parameter "responsefile" = /u01/app/oracle/product/23.5.0/db/assistants/netca/netca.rsp Done parsing command line arguments. Oracle Net Services Configuration: Profile configuration complete. Oracle Net Listener Startup: Running Listener Control: /u01/app/oracle/product/23.5.0/db/bin/lsnrctl start LISTENER Listener Control complete. Listener started successfully. Listener configuration complete. Oracle Net Services configuration successful. The exit code is 0 #==============================================================# 检查监听状态 #==============================================================# LSNRCTL for Linux: Version 23.0.0.0.0 - Production on 25-AUG-2025 21:47:13 Copyright (c) 1991, 2025, Oracle. All rights reserved. Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=orcl)(PORT=1521))) STATUS of the LISTENER ------------------------ Alias LISTENER Version TNSLSNR for Linux: Version 23.0.0.0.0 - Production Start Date 25-AUG-2025 21:47:13 Uptime 0 days 0 hr. 0 min. 1 sec Trace Level off Security ON: Local OS Authentication SNMP OFF Listener Parameter File /u01/app/oracle/product/23.5.0/db/network/admin/listener.ora Listener Log File /u01/app/oracle/diag/tnslsnr/orcl/listener/alert/log.xml Listening Endpoints Summary... (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=orcl)(PORT=1521))) (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521))) The listener supports no services The command completed successfully #==============================================================# DBCA 静默建库文件:orcl #==============================================================# gdbName=orcl sid=orcl templateName=General_Purpose.dbc sysPassword=oracle systemPassword=oracle characterSet=AL32UTF8 nationalCharacterSet=AL16UTF16 automaticMemoryManagement=false totalMemory=6345 initParams=db_block_size=8192BYTES createAsContainerDatabase=true databaseConfigType=SI storageType=FS datafileDestination=/oradata recoveryAreaDestination=/oradata responseFileVersion=/oracle/assistants/rspfmt_dbca_response_schema_v23.0.0 #==============================================================# 静默创建数据库命令 #==============================================================# /u01/app/oracle/product/23.5.0/db/bin/dbca -silent -createDatabase \ -responseFile /soft/db.rsp \ -ignorePreReqs \ -ignorePrereqFailure \ -J-Doracle.assistants.dbca.validate.ConfigurationParams=false \ -initParams _exadata_feature_on=true #==============================================================# 创建数据库实例:orcl #==============================================================# 正在创建数据库:orcl [WARNING] [DBT-06208] The 'SYS' password entered does not conform to the Oracle recommended standards. CAUSE: a. Oracle recommends that the password entered should be at least 8 characters in length, contain at least 1 uppercase character, 1 lower case character and 1 digit [0-9]. b.The password entered is a keyword that Oracle does not recommend to be used as password ACTION: Specify a strong password. If required refer Oracle documentation for guidelines. [WARNING] [DBT-06208] The 'SYSTEM' password entered does not conform to the Oracle recommended standards. CAUSE: a. Oracle recommends that the password entered should be at least 8 characters in length, contain at least 1 uppercase character, 1 lower case character and 1 digit [0-9]. b.The password entered is a keyword that Oracle does not recommend to be used as password ACTION: Specify a strong password. If required refer Oracle documentation for guidelines. Prepare for db operation 10% complete Copying database files 40% complete Creating and starting Oracle instance 42% complete 46% complete 50% complete 54% complete 60% complete Completing Database Creation 66% complete 69% complete 70% complete Executing Post Configuration Actions 100% complete Database creation complete. For details check the logfiles at: /u01/app/oracle/cfgtoollogs/dbca/orcl. Database Information: Global Database Name:orcl System Identifier(SID):orcl Look at the log file "/u01/app/oracle/cfgtoollogs/dbca/orcl/orcl.log" for further details. #==============================================================# 创建 PDB 数据库 #==============================================================# 正在创建 PDB:pdb01 CON_ID CON_NAME OPEN MODE RESTRICTED ---------- ------------------------------ ---------- ---------- 2 PDB$SEED READ ONLY NO 3 PDB01 READ WRITE NO #==============================================================# 配置 Oracle 数据库控制文件复用 #==============================================================# 数据库控制文件: NAME ---------------------------------------------------------------------------------------------------- /oradata/ORCL/control01.ctl /oradata/ORCL/control02.ctl #==============================================================# 配置在线重做日志 #==============================================================# THREAD# GROUP# MEMBER size(M) ---------- ---------- -------------------------------------------------------------------------------- ---------- 1 1 /oradata/ORCL/redo01.log 1024 1 2 /oradata/ORCL/redo02.log 1024 1 3 /oradata/ORCL/redo03.log 1024 1 4 /oradata/ORCL/redo04.log 1024 1 5 /oradata/ORCL/redo05.log 1024 1 6 /oradata/ORCL/redo06.log 1024 1 7 /oradata/ORCL/redo07.log 1024 1 8 /oradata/ORCL/redo08.log 1024 #==============================================================# 配置 Oracle 数据库开机自启 #==============================================================# 数据库开机自启配置: touch /var/lock/subsys/local su oracle -lc "/u01/app/oracle/product/23.5.0/db/bin/lsnrctl start" su oracle -lc "/u01/app/oracle/product/23.5.0/db/bin/dbstart" #==============================================================# 配置 RMAN 备份任务 #==============================================================# # OracleBegin 00 02 * * * /home/oracle/scripts/del_arch_orcl.sh #00 00 * * 0 /home/oracle/scripts/dbbackup_lv0_orcl.sh #00 00 * * 1,2,3,4,5,6 /home/oracle/scripts/dbbackup_lv1_orcl.sh #==============================================================# 优化数据库参数 #==============================================================# 数据库参数: NAME SID SPVALUE VALUE -------------------------------------------------- ---------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- _b_tree_bitmap_plans * FALSE FALSE _datafile_write_errors_crash_instance * FALSE FALSE _exadata_feature_on * true TRUE audit_trail * NONE NONE compatible * 23.6.0 23.6.0 control_file_record_keep_time * 31 31 db_block_size * 8192 8192 db_create_file_dest * /oradata /oradata db_file_multiblock_read_count * 128 db_files * 5000 200 db_name * orcl orcl db_writer_processes * 1 deferred_segment_creation * FALSE FALSE diagnostic_dest * /u01/app/oracle /u01/app/oracle dispatchers * (PROTOCOL=TCP) (SERVICE=orclXDB) (PROTOCOL=TCP) (SERVICE=orclXDB) enable_pluggable_database * true TRUE event * 10949 trace name context forever,level 1 event * 28401 trace name context forever,level 1 fast_start_parallel_rollback * LOW log_archive_dest_1 * location=/oradata/archivelog location=/oradata/archivelog log_archive_format * %t_%s_%r.dbf %t_%s_%r.dbf max_dump_file_size * 1G max_string_size * STANDARD nls_language * AMERICAN AMERICAN nls_territory * AMERICA AMERICA open_cursors * 1000 300 optimizer_adaptive_plans * TRUE optimizer_adaptive_statistics * FALSE optimizer_index_caching * 0 optimizer_mode * ALL_ROWS parallel_force_local * FALSE parallel_max_servers * 64 64 pga_aggregate_target * 1330642944 1664090112 processes * 2000 640 remote_login_passwordfile * EXCLUSIVE EXCLUSIVE session_cached_cursors * 300 50 sessions * 984 sga_max_size * 5322571776 4999610368 sga_target * 5322571776 4999610368 spfile * /u01/app/oracle/product/23.5.0/db/dbs/spfileorcl.ora statistics_level * TYPICAL undo_retention * 10800 900 #==============================================================# 配置 glogin.sql #==============================================================# define _editor=vi set serveroutput on size 1000000 set trimspool on set long 5000 set linesize 100 set pagesize 9999 column plan_plus_exp format a80 set sqlprompt '&_user.@&_connect_identifier. SQL> '

有心人可以根据我的安装日志就可以完成手动静默安装 Oracle 23ai 啦!

写在最后

其实 Oracle 23ai RAC 一键安装我已经测试完了,但是没时间整理文章,等我有时间整理好了就发出来!886~

最后修改时间:2025-08-25 23:16:58
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论