前言
Oracle 一键安装脚本,演示 openEuler 22.03 LTS SP4 一键安装 Oracle 19C RAC 过程(全程无需人工干预)。
⭐️ 脚本下载地址:Shell脚本安装Oracle数据库
⭐️ 更多教程参考:Oracle 一键安装脚本实操合集,持续更新中!!!
安装准备
- 1、系统组所有节点均安装好操作系统(支持最小化安装)
- 2、网络组所有节点均配置好主机网络,至少需要一组公网 IP 地址和一组心跳 IP 地址
- 3、存储组所有节点均配置并在主机层挂载好 ASM 磁盘,至少需要一组 OCR 和 DATA 磁盘组,虚拟化环境需要确保已开启磁盘的 UUID
- 4、DBA 只需要在主节点创建软件目录:
mkdir /soft
- 5、DBA 只需要在主节点上传 Oracle 安装介质(基础包,补丁包)到 /soft 目录下,其他节点无需任何操作
- 6、DBA 只需要在主节点上传 Oracle 一键安装脚本到 /soft 目录下,授予脚本执行权限:
chmod +x OracleshellInstall
- 7、DBA 所有节点均挂载主机 ISO 镜像,这里只需要 mount 上即可(这个很简单,不了解的可以百度下)
- 8、根据脚本安装脚本以及实际情况,配置好脚本的安装参数,在主节点的 /soft 目录下执行一键安装即可。
环境信息
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118
|
[root@openeuler22-01 ~]# cat /etc/os-release NAME="openEuler" VERSION="22.03 (LTS-SP4)" ID="openEuler" VERSION_ID="22.03" PRETTY_NAME="openEuler 22.03 (LTS-SP4)" ANSI_COLOR="0;31"
[root@openeuler22-02 ~]# cat /etc/os-release NAME="openEuler" VERSION="22.03 (LTS-SP4)" ID="openEuler" VERSION_ID="22.03" PRETTY_NAME="openEuler 22.03 (LTS-SP4)" ANSI_COLOR="0;31"
[root@openeuler22-01 ~]# ip a 2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 00:0c:29:bc:93:6b brd ff:ff:ff:ff:ff:ff inet 192.168.6.160/24 brd 192.168.6.255 scope global noprefixroute ens33 valid_lft forever preferred_lft forever inet6 fe80::20c:29ff:febc:936b/64 scope link noprefixroute valid_lft forever preferred_lft forever 3: ens34: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 00:0c:29:bc:93:75 brd ff:ff:ff:ff:ff:ff inet 1.1.1.1/24 brd 1.1.1.255 scope global noprefixroute ens34 valid_lft forever preferred_lft forever inet6 fe80::20c:29ff:febc:9375/64 scope link noprefixroute valid_lft forever preferred_lft forever
[root@openeuler22-02 ~]# ip a 2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 00:0c:29:42:ca:b7 brd ff:ff:ff:ff:ff:ff inet 192.168.6.161/24 brd 192.168.6.255 scope global noprefixroute ens33 valid_lft forever preferred_lft forever inet6 fe80::20c:29ff:fe42:cab7/64 scope link noprefixroute valid_lft forever preferred_lft forever 3: ens34: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 00:0c:29:42:ca:c1 brd ff:ff:ff:ff:ff:ff inet 1.1.1.2/24 brd 1.1.1.255 scope global noprefixroute ens34 valid_lft forever preferred_lft forever inet6 fe80::20c:29ff:fe42:cac1/64 scope link noprefixroute valid_lft forever preferred_lft forever
[root@openeuler22-01 ~]# mount /dev/sr0 /mnt/ mount: /mnt: WARNING: source write-protected, mounted read-only. [root@openeuler22-01 ~]# mount | grep iso9660 | grep -v "/run/media" /dev/sr0 on /mnt type iso9660 (ro,relatime,nojoliet,check=s,map=n,blocksize=2048,iocharset=utf8) [root@openeuler22-01 ~]# df -h|grep /mnt /dev/sr0 19G 19G 0 100% /mnt
[root@openeuler22-02 ~]# mount /dev/sr0 /mnt/ mount: /mnt: WARNING: source write-protected, mounted read-only. [root@openeuler22-02 ~]# mount | grep iso9660 | grep -v "/run/media" /dev/sr0 on /mnt type iso9660 (ro,relatime,nojoliet,check=s,map=n,blocksize=2048,iocharset=utf8) [root@openeuler22-02 ~]# df -h|grep /mnt /dev/sr0 19G 19G 0 100% /mnt
mkdir -p /etc/yum.repos.d/bak mv /etc/yum.repos.d/* /etc/yum.repos.d/bak cat <<-EOF > /etc/yum.repos.d/local.repo [openEuler] name=openeuler baseurl=file:///mnt enabled=1 gpgcheck=1 gpgkey=file:///mnt/RPM-GPG-KEY-openEuler EOF
yum install -y iscsi-initiator-utils* systemctl start iscsid.service systemctl enable iscsid.service iscsiadm -m discovery -t st -p 192.168.6.188
iscsiadm -m node -T iqn.2008-08.com.starwindsoftware:192.168.6.188-lucifer -p 192.168.6.188 -l
iscsiadm -m node -T iqn.2008-08.com.starwindsoftware:192.168.6.188-lucifer -p 192.168.6.188 --op update -n node.startup -v automatic
[root@openeuler22-01 ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS sda 8:0 0 100G 0 disk ├─sda1 8:1 0 1G 0 part /boot └─sda2 8:2 0 99G 0 part ├─openeuler-root 253:0 0 91G 0 lvm / └─openeuler-swap 253:1 0 8G 0 lvm [SWAP] sdb 8:16 0 50G 0 disk sdc 8:32 0 20G 0 disk sr0 11:0 1 18.4G 0 rom /mnt
[root@openeuler22-02 ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS sda 8:0 0 100G 0 disk ├─sda1 8:1 0 1G 0 part /boot └─sda2 8:2 0 99G 0 part ├─openeuler-root 253:0 0 91G 0 lvm / └─openeuler-swap 253:1 0 8G 0 lvm [SWAP] sdb 8:16 0 50G 0 disk sdc 8:32 0 20G 0 disk sr0 11:0 1 18.4G 0 rom /mnt
[root@openeuler22-01 soft]# ll -rwx------. 1 root root 3059705302 7月 15 17:07 LINUX.X64_193000_db_home.zip -rwx------. 1 root root 2889184573 7月 15 17:07 LINUX.X64_193000_grid_home.zip -rwxr-xr-x. 1 root root 233993 7月 15 17:10 OracleShellInstall
|
确保安装环境准备完成后,即可执行一键安装。
安装命令
使用标准生产环境安装参数(安装过程若失败,脚本支持重复执行安装):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| [root@openeuler22-01 ~]# cd /soft/ [root@openeuler22-01 soft]# chmod +x OracleShellInstall
./OracleShellInstall -n openeuler22 `# RAC 主机名前缀`\ -hn openeuler22-01,openeuler22-02 `# RAC 主机名`\ -cn openeuler22-cls `# RAC 集群名称`\ -sn openeuler22-scan `# RAC SCAN 名称`\ -rp 'P@ssw0rdPST' `# 主机 root 用户密码`\ -lf ens33 `# 主机网卡名称`\ -pf ens34 `# 主机心跳网卡名称`\ -ri 192.168.6.160,192.168.6.161 `# RAC 公网 IP`\ -vi 192.168.6.162,192.168.6.163 `# RAC 虚拟 IP`\ -si 192.168.6.165 `# RAC SCAN IP`\ -od /dev/sdb `# OCR 磁盘盘符名称`\ -dd /dev/sdc `# DATA 磁盘盘符名称`\ -o lucifer `# 数据库名称`\ -dp 'Passw0rd#PST' `# sys/system 用户密码`\ -ds AL32UTF8 `# 数据库字符集`\ -ns AL16UTF16 `# 国家字符集`\ -redo 100 `# 在线重做日志大小(M)`\ -opd Y `# 是否优化数据库`
|
安装过程
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
| ███████ ██ ████████ ██ ██ ██ ██ ██ ██ ██ ██░░░░░██ ░██ ██░░░░░░ ░██ ░██ ░██░██ ░██ ░██ ░██ ██ ░░██ ██████ ██████ █████ ░██ █████ ░██ ░██ █████ ░██ ░██░██ ███████ ██████ ██████ ██████ ░██ ░██ ░██ ░██░░██░░█ ░░░░░░██ ██░░░██ ░██ ██░░░██░█████████░██████ ██░░░██ ░██ ░██░██░░██░░░██ ██░░░░ ░░░██░ ░░░░░░██ ░██ ░██ ░██ ░██ ░██ ░ ███████ ░██ ░░ ░██░███████░░░░░░░░██░██░░░██░███████ ░██ ░██░██ ░██ ░██░░█████ ░██ ███████ ░██ ░██ ░░██ ██ ░██ ██░░░░██ ░██ ██ ░██░██░░░░ ░██░██ ░██░██░░░░ ░██ ░██░██ ░██ ░██ ░░░░░██ ░██ ██░░░░██ ░██ ░██ ░░███████ ░███ ░░████████░░█████ ███░░██████ ████████ ░██ ░██░░██████ ███ ███░██ ███ ░██ ██████ ░░██ ░░████████ ███ ███ ░░░░░░░ ░░░ ░░░░░░░░ ░░░░░ ░░░ ░░░░░░ ░░░░░░░░ ░░ ░░ ░░░░░░ ░░░ ░░░ ░░ ░░░ ░░ ░░░░░░ ░░ ░░░░░░░░ ░░░ ░░░
注意:本脚本仅用于新服务器上实施部署数据库使用,严禁在已运行数据库的主机上执行,以免发生数据丢失或者损坏,造成不可挽回的损失!!!
请选择安装模式 [单机(si)/单机ASM(sa)/集群(rac)] : rac
数据库安装模式: rac
请选择数据库版本 [11/12/19/21] : 19
数据库版本: 19
!!! 免责声明:当前操作系统版本是 [ openEuler 22.03 (LTS-SP4) ] 不在 Oracle 官方支持列表,本脚本只负责安装,请确认是否继续安装 (Y/N): [Y]
OracleShellInstall 开始安装,详细安装过程可查看日志: tail -2000f /soft/print_shell_install_20240715171604.log
正在进行安装前检查,请稍等......
正在检测安装包 /soft/LINUX.X64_193000_grid_home.zip 的 MD5 值是否正确,请稍等...... 正在检测安装包 /soft/LINUX.X64_193000_db_home.zip 的 MD5 值是否正确,请稍等......
正在配置本地软件源......已完成 (耗时: 0 秒) 配置 root 用户互信......已完成 (耗时: 4 秒) 正在检查并更新 RAC 主机时间......已完成 (耗时: 2 秒) 正在获取操作系统信息......已完成 (耗时: 1 秒) 正在安装依赖包......已完成 (耗时: 63 秒) 正在禁用防火墙......已完成 (耗时: 1 秒) 正在禁用 selinux......已完成 (耗时: 1 秒) 正在配置 nsyctl......已完成 (耗时: 0 秒) 正在配置主机名和 /etc/hosts......已完成 (耗时: 0 秒) 正在创建用户和组......已完成 (耗时: 2 秒) 正在创建安装目录......已完成 (耗时: 1 秒) 正在配置透明大页 && NUMA && 磁盘 IO 调度器......已完成 (耗时: 1 秒) 正在配置操作系统参数 sysctl......已完成 (耗时: 1 秒) 正在配置 RemoveIPC......已完成 (耗时: 1 秒) 正在配置用户限制 limit......已完成 (耗时: 1 秒) 正在配置 shm 目录......已完成 (耗时: 0 秒) 正在配置用户环境变量......已完成 (耗时: 1 秒) 正在配置 RAC 其他节点信息......已完成 (耗时: 84 秒) 正在配置 RAC 所有节点互信......已完成 (耗时: 13 秒) 正在解压 Grid 安装包以及补丁......已完成 (耗时: 74 秒) 正在解压 Oracle 软件以及补丁......已完成 (耗时: 95 秒) 正在安装 Grid 软件以及补丁......已完成 (耗时: 1220 秒) 正在创建 ASM 磁盘组......已完成 (耗时: 27 秒) 正在安装 Oracle 软件以及补丁......已完成 (耗时: 502 秒) 正在创建数据库......已完成 (耗时: 1140 秒) 正在优化数据库......已完成 (耗时: 88 秒)
恭喜!Oracle 一键安装执行完成 (耗时: 3379 秒),现在是否重启主机:[Y/N] Y
正在重启节点 192.168.6.161 主机......
正在重启当前节点主机......
|
连接测试
查看系统版本:
1 2 3 4 5 6 7
| [root@openeuler22-01:/root]# cat /etc/os-release NAME="openEuler" VERSION="22.03 (LTS-SP4)" ID="openEuler" VERSION_ID="22.03" PRETTY_NAME="openEuler 22.03 (LTS-SP4)" ANSI_COLOR="0;31"
|
查看 Grid 版本以及补丁:
1 2 3 4 5 6 7 8 9 10 11 12
| [grid@openeuler22-01:/home/grid]$ sqlplus -v
SQL*Plus: Release 19.0.0.0.0 - Production Version 19.3.0.0.0
[grid@openeuler22-01:/home/grid]$ opatch lspatches 29585399;OCW RELEASE UPDATE 19.3.0.0.0 (29585399) 29517247;ACFS RELEASE UPDATE 19.3.0.0.0 (29517247) 29517242;Database Release Update : 19.3.0.0.190416 (29517242) 29401763;TOMCAT RELEASE UPDATE 19.0.0.0.0 (29401763)
OPatch succeeded.
|
查看集群:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
| [grid@openeuler22-01:/home/grid]$ crsctl stat res -t -------------------------------------------------------------------------------- Name Target State Server State details -------------------------------------------------------------------------------- Local Resources -------------------------------------------------------------------------------- ora.LISTENER.lsnr ONLINE ONLINE openeuler22-01 STABLE ONLINE ONLINE openeuler22-02 STABLE ora.chad ONLINE ONLINE openeuler22-01 STABLE ONLINE ONLINE openeuler22-02 STABLE ora.net1.network ONLINE ONLINE openeuler22-01 STABLE ONLINE ONLINE openeuler22-02 STABLE ora.ons ONLINE ONLINE openeuler22-01 STABLE ONLINE ONLINE openeuler22-02 STABLE -------------------------------------------------------------------------------- Cluster Resources -------------------------------------------------------------------------------- ora.ASMNET1LSNR_ASM.lsnr(ora.asmgroup) 1 ONLINE ONLINE openeuler22-01 STABLE 2 ONLINE ONLINE openeuler22-02 STABLE 3 ONLINE OFFLINE STABLE ora.DATA.dg(ora.asmgroup) 1 ONLINE ONLINE openeuler22-01 STABLE 2 ONLINE ONLINE openeuler22-02 STABLE 3 OFFLINE OFFLINE STABLE ora.LISTENER_SCAN1.lsnr 1 ONLINE ONLINE openeuler22-02 STABLE ora.OCR.dg(ora.asmgroup) 1 ONLINE ONLINE openeuler22-01 STABLE 2 ONLINE ONLINE openeuler22-02 STABLE 3 OFFLINE OFFLINE STABLE ora.asm(ora.asmgroup) 1 ONLINE ONLINE openeuler22-01 Started,STABLE 2 ONLINE ONLINE openeuler22-02 Started,STABLE 3 OFFLINE OFFLINE STABLE ora.asmnet1.asmnetwork(ora.asmgroup) 1 ONLINE ONLINE openeuler22-01 STABLE 2 ONLINE ONLINE openeuler22-02 STABLE 3 OFFLINE OFFLINE STABLE ora.cvu 1 ONLINE ONLINE openeuler22-02 STABLE ora.lucifer.db 1 ONLINE ONLINE openeuler22-01 Open,HOME=/u01/app/o racle/product/19.3.0 /db,STABLE 2 ONLINE ONLINE openeuler22-02 Open,HOME=/u01/app/o racle/product/19.3.0 /db,STABLE ora.openeuler22-01.vip 1 ONLINE ONLINE openeuler22-01 STABLE ora.openeuler22-02.vip 1 ONLINE ONLINE openeuler22-02 STABLE ora.qosmserver 1 ONLINE ONLINE openeuler22-02 STABLE ora.scan1.vip 1 ONLINE ONLINE openeuler22-02 STABLE --------------------------------------------------------------------------------
|
查看 ASM 磁盘组:
1 2 3 4
| [grid@openeuler22-01:/home/grid]$ asmcmd lsdg State Type Rebal Sector Logical_Sector Block AU Total_MB Free_MB Req_mir_free_MB Usable_file_MB Offline_disks Voting_files Name MOUNTED EXTERN N 512 512 4096 4194304 20480 14512 0 14512 0 N DATA/ MOUNTED EXTERN N 512 512 4096 4194304 51200 50840 0 50840 0 Y OCR/
|
查看 Oracle 版本以及补丁:
1 2 3 4 5 6 7 8 9 10
| [oracle@openeuler22-01:/home/oracle]$ sqlplus -v
SQL*Plus: Release 19.0.0.0.0 - Production Version 19.3.0.0.0
[oracle@openeuler22-01:/home/oracle]$ opatch lspatches 29585399;OCW RELEASE UPDATE 19.3.0.0.0 (29585399) 29517242;Database Release Update : 19.3.0.0.190416 (29517242)
OPatch succeeded.
|
连接数据库:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| [oracle@openeuler22-01:/home/oracle]$ sas
SQL*Plus: Release 19.0.0.0.0 - Production on Wed Jul 17 09:20:59 2024 Version 19.3.0.0.0
Copyright (c) 1982, 2019, Oracle. All rights reserved.
Connected to: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production Version 19.3.0.0.0
sys@LUCIFER 2024-07-17 09:20:59> show parameter name
NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ cdb_cluster_name string cell_offloadgroup_name string db_file_name_convert string db_name string lucifer db_unique_name string lucifer global_names boolean FALSE instance_name string lucifer1 lock_name_space string log_file_name_convert string pdb_file_name_convert string processor_group_name string service_names string lucifer sys@LUCIFER 2024-07-17 09:21:04> select instance_name,status from gv$instance;
INSTANCE_NAME STATUS ---------------- ------------ lucifer1 OPEN lucifer2 OPEN
|
数据库连接正常。