前言
Oracle 一鍵安裝腳本,演示 麒麟 Kylin V10 SP3 一鍵安裝 Oracle 12CR2 RAC 過程(全程無需人工干預)。
?? 腳本下載地址:Shell腳本安裝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 目錄下執行一鍵安裝即可。
環境信息
# 主機版本
## 節點一
[root@kylinv10-01 soft]# cat /etc/os-release
NAME="Kylin Linux Advanced Server"
VERSION="V10 (Halberd)"
ID="kylin"
VERSION_ID="V10"
PRETTY_NAME="Kylin Linux Advanced Server V10 (Halberd)"
ANSI_COLOR="0;31"
## 節點二
[root@kylinv10-02 ~]# cat /etc/os-release
NAME="Kylin Linux Advanced Server"
VERSION="V10 (Halberd)"
ID="kylin"
VERSION_ID="V10"
PRETTY_NAME="Kylin Linux Advanced Server V10 (Halberd)"
ANSI_COLOR="0;31"
# 網絡信息
## 節點一
[root@kylinv10-01 soft]# 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:d2:86:47 brd ff:ff:ff:ff:ff:ff
inet 192.168.6.150/24 brd 192.168.6.255 scope global noprefixroute ens33
valid_lft forever preferred_lft forever
inet6 fe80::4471:e6d3:f2a9:96cd/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:d2:86:51 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::9683:eb97:5e60:cedb/64 scope link noprefixroute
valid_lft forever preferred_lft forever
## 節點二
[root@kylinv10-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:dc:5d:67 brd ff:ff:ff:ff:ff:ff
inet 192.168.6.151/24 brd 192.168.6.255 scope global noprefixroute ens33
valid_lft forever preferred_lft forever
inet6 fe80::3dd1:f670:8a3d:5d90/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:dc:5d:71 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::9707:c4e8:d76e:8180/64 scope link noprefixroute
valid_lft forever preferred_lft forever
# 掛載本地 ISO 鏡像
## 節點一
[root@kylinv10-01 soft]# mount /dev/sr0 /mnt/
mount: /mnt: WARNING: source write-protected, mounted read-only.
[root@kylinv10-01 soft]# 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@kylinv10-01 soft]# df -h|grep /mnt
/dev/sr0 4.4G 4.4G 0 100% /mnt
## 節點二
[root@kylinv10-02 ~]# mount /dev/sr0 /mnt/
mount: /mnt: WARNING: source write-protected, mounted read-only.
[root@kylinv10-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@kylinv10-02 ~]# df -h|grep /mnt
/dev/sr0 4.4G 4.4G 0 100% /mnt
# 兩節點均需執行,配置本地軟件源(為了安裝 iscsi,不需要使用 starwind 掛載共享存儲可以不配置)
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
[server]
name=server
baseurl=file:///mnt
enabled=1
gpgcheck=0
EOF
# 兩節點均需執行,Starwind 共享磁盤掛載(有存儲就不需要使用 starwind,直接存儲上劃盤掛載就可)
yum install -y iscsi-initiator-utils*
systemctl start iscsid.service
systemctl enable iscsid.service
iscsiadm -m discovery -t st -p 192.168.6.188
## 掛載 ASM 磁盤
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
## Oracle 12CR2 基礎版官方默認必須安裝 GIMR 組件(OCR 磁盤組至少需要 50 G 空間),建議增加 OCR 磁盤空間或者安裝 Grid PSU 補丁號為 12.2.0.1.190115(28828733) 之后的版本!
## 可參考:Oracle 12CR2 RAC 基礎版安裝要求說明(GIMR) https://github.com/DBAutoTask/OracleShellInstall/issues/15
## 節點一
[root@kylinv10-01 soft]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 100G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 99G 0 part
├─klas-root 253:0 0 83G 0 lvm /
└─klas-swap 253:1 0 16G 0 lvm [SWAP]
sdb 8:16 0 50G 0 disk
sdc 8:32 0 20G 0 disk
sr0 11:0 1 4.4G 0 rom /mnt
## 節點二
[root@kylinv10-02 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 100G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 99G 0 part
├─klas-root 253:0 0 83G 0 lvm /
└─klas-swap 253:1 0 16G 0 lvm [SWAP]
sdb 8:16 0 50G 0 disk
sdc 8:32 0 20G 0 disk
sr0 11:0 1 4.4G 0 rom /mnt
# 安裝包存放在 /soft 目錄下
[root@kylin01 soft]# ll
-rwx------ 1 root root 3453696911 6月 23 16:08 LINUX.X64_122010_db_home.zip
-rwx------ 1 root root 2994687209 6月 23 16:08 LINUX.X64_122010_grid_home.zip
-rwxr-xr-x 1 root root 226712 6月 23 16:06 OracleShellInstall
-rwx------ 1 root root 321590 6月 23 16:09 rlwrap-0.44.tar.gz
確保安裝環境準備完成后,即可執行一鍵安裝。
安裝命令
使用標準生產環境安裝參數(安裝過程若失敗,腳本支持重復執行安裝):
# 根據腳本 README 或者 -h 命令提示,編輯好一鍵安裝命令,進入 /soft 目錄執行安裝:
[root@kylinv10-01 ~]# cd /soft/
[root@kylinv10-01 soft]# chmod +x OracleShellInstall
./OracleShellInstall -n kylinv10 `# RAC 主機名前綴`\
-hn kylinv10-01,kylinv10-02 `# RAC 主機名`\
-cn kylinv10-cls `# RAC 集群名稱`\
-sn kylinv10-scan `# RAC SCAN 名稱`\
-rp P@ssw0rdPST `# 主機 root 用戶密碼`\
-lf ens33 `# 主機網卡名稱`\
-pf ens34 `# 主機心跳網卡名稱`\
-ri 192.168.6.150,192.168.6.151 `# RAC 公網 IP`\
-vi 192.168.6.152,192.168.6.153 `# RAC 虛擬 IP`\
-si 192.168.6.154 `# RAC SCAN IP`\
-od /dev/sdb `# OCR 磁盤盤符名稱`\
-dd /dev/sdc `# DATA 磁盤盤符名稱`\
-o lucifer `# 數據庫名稱`\
-dp 'Passw0rd#PST' `# sys/system 用戶密碼`\
-ds AL32UTF8 `# 數據庫字符集`\
-ns AL16UTF16 `# 國家字符集`\
-redo 10 `# 在線重做日志大小(M)`\
-opd Y `# 是否優化數據庫`
安裝過程
███████ ██ ████████ ██ ██ ██ ██ ██ ██ ██
██?????██ ?██ ██?????? ?██ ?██ ?██?██ ?██ ?██ ?██
██ ??██ ██████ ██████ █████ ?██ █████ ?██ ?██ █████ ?██ ?██?██ ███████ ██████ ██████ ██████ ?██ ?██
?██ ?██??██??█ ??????██ ██???██ ?██ ██???██?█████████?██████ ██???██ ?██ ?██?██??██???██ ██???? ???██? ??????██ ?██ ?██
?██ ?██ ?██ ? ███████ ?██ ?? ?██?███████????????██?██???██?███████ ?██ ?██?██ ?██ ?██??█████ ?██ ███████ ?██ ?██
??██ ██ ?██ ██????██ ?██ ██ ?██?██???? ?██?██ ?██?██???? ?██ ?██?██ ?██ ?██ ?????██ ?██ ██????██ ?██ ?██
??███████ ?███ ??████████??█████ ███??██████ ████████ ?██ ?██??██████ ███ ███?██ ███ ?██ ██████ ??██ ??████████ ███ ███
??????? ??? ???????? ????? ??? ?????? ???????? ?? ?? ?????? ??? ??? ?? ??? ?? ?????? ?? ???????? ??? ???
注意:本腳本僅用于新服務器上實施部署數據庫使用,嚴禁在已運行數據庫的主機上執行,以免發生數據丟失或者損壞,造成不可挽回的損失!!!
請選擇安裝模式 [單機(si)/單機ASM(sa)/集群(rac)] : rac
數據庫安裝模式: rac
請選擇數據庫版本 [11/12/19/21] : 12
數據庫版本: 12
!!! 免責聲明:當前操作系統版本是 [ Kylin Linux Advanced Server V10 (Halberd) ] 不在 Oracle 官方支持列表,本腳本只負責安裝,請確認是否繼續安裝 (Y/N): [Y]
正在進行安裝前檢查,請稍等......
檢查 ASM 磁盤 [ /dev/sdb ] 中已存在磁盤組名稱 [ OCR ] 信息,請確認是否格式化磁盤 (Y/N): [Y]
檢查 ASM 磁盤 [ /dev/sdc ] 中已存在磁盤組名稱 [ DATA ] 信息,請確認是否格式化磁盤 (Y/N): [Y]
正在檢測安裝包 /soft/LINUX.X64_122010_grid_home.zip 的 MD5 值是否正確,請稍等......
正在檢測安裝包 /soft/LINUX.X64_122010_db_home.zip 的 MD5 值是否正確,請稍等......
OracleShellInstall 開始安裝,詳細安裝過程可查看日志: tail -2000f /soft/print_shell_install_20240623161855.log
正在獲取操作系統信息......已完成 (耗時: 1 秒)
正在配置本地軟件源......已完成 (耗時: 1 秒)
正在安裝依賴包......已完成 (耗時: 77 秒)
配置 root 用戶互信......已完成 (耗時: 3 秒)
正在檢查并更新 RAC 主機時間......已完成 (耗時: 2 秒)
正在禁用防火墻......已完成 (耗時: 2 秒)
正在禁用 selinux......已完成 (耗時: 1 秒)
正在配置 nsyctl......已完成 (耗時: 0 秒)
正在配置主機名和 /etc/hosts......已完成 (耗時: 0 秒)
正在創建用戶和組......已完成 (耗時: 1 秒)
正在創建安裝目錄......已完成 (耗時: 0 秒)
正在配置透明大頁 && NUMA && 磁盤 IO 調度器......已完成 (耗時: 1 秒)
正在配置操作系統參數 sysctl......已完成 (耗時: 1 秒)
正在配置 RemoveIPC......已完成 (耗時: 1 秒)
正在配置用戶限制 limit......已完成 (耗時: 1 秒)
正在配置 shm 目錄......已完成 (耗時: 1 秒)
正在安裝 rlwrap 插件......已完成 (耗時: 14 秒)
正在配置用戶環境變量......已完成 (耗時: 1 秒)
正在配置 RAC 其他節點信息......已完成 (耗時: 106 秒)
正在配置 RAC 所有節點互信......已完成 (耗時: 14 秒)
正在解壓 Grid 安裝包以及補丁......已完成 (耗時: 88 秒)
正在解壓 Oracle 軟件以及補丁......已完成 (耗時: 87 秒)
正在安裝 Grid 軟件以及補丁......已完成 (耗時: 2847 秒)
正在創建 ASM 磁盤組......已完成 (耗時: 23 秒)
正在安裝 Oracle 軟件以及補丁......已完成 (耗時: 635 秒)
正在創建數據庫......已完成 (耗時: 590 秒)
正在優化數據庫......已完成 (耗時: 20 秒)
恭喜!Oracle 一鍵安裝執行完成 (耗時: 4527 秒),現在是否重啟主機:[Y/N] Y
正在重啟節點 192.168.6.151 主機......
正在重啟當前節點主機......
連接測試
查看系統版本:
[root@kylinv10-01:/root]# cat /etc/os-release
NAME="Kylin Linux Advanced Server"
VERSION="V10 (Halberd)"
ID="kylin"
VERSION_ID="V10"
PRETTY_NAME="Kylin Linux Advanced Server V10 (Halberd)"
ANSI_COLOR="0;31"
查看 Grid 版本以及補丁:
[grid@kylinv10-01:/home/grid]$ sqlplus -v
SQL*Plus: Release 12.2.0.1.0 Production
[grid@kylinv10-01:/home/grid]$ opatch lspatches
此 Oracle 主目錄中未安裝任何中間補丁程序 "/u01/app/12.2.0/grid".
OPatch succeeded.
查看集群:
[grid@kylinv10-01:/home/grid]$ crsctl stat res -t
--------------------------------------------------------------------------------
Name Target State Server State details
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.ASMNET1LSNR_ASM.lsnr
ONLINE ONLINE kylinv10-01 STABLE
ONLINE ONLINE kylinv10-02 STABLE
ora.DATA.dg
ONLINE ONLINE kylinv10-01 STABLE
ONLINE ONLINE kylinv10-02 STABLE
ora.LISTENER.lsnr
ONLINE ONLINE kylinv10-01 STABLE
ONLINE ONLINE kylinv10-02 STABLE
ora.OCR.dg
ONLINE ONLINE kylinv10-01 STABLE
ONLINE ONLINE kylinv10-02 STABLE
ora.chad
ONLINE ONLINE kylinv10-01 STABLE
ONLINE ONLINE kylinv10-02 STABLE
ora.net1.network
ONLINE ONLINE kylinv10-01 STABLE
ONLINE ONLINE kylinv10-02 STABLE
ora.ons
ONLINE ONLINE kylinv10-01 STABLE
ONLINE ONLINE kylinv10-02 STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.LISTENER_SCAN1.lsnr
1 ONLINE ONLINE kylinv10-02 STABLE
ora.MGMTLSNR
1 ONLINE ONLINE kylinv10-01 169.254.108.194 1.1.
1.1,STABLE
ora.asm
1 ONLINE ONLINE kylinv10-01 Started,STABLE
2 ONLINE ONLINE kylinv10-02 Started,STABLE
3 OFFLINE OFFLINE STABLE
ora.cvu
1 ONLINE ONLINE kylinv10-01 STABLE
ora.kylinv10-01.vip
1 ONLINE ONLINE kylinv10-01 STABLE
ora.kylinv10-02.vip
1 ONLINE ONLINE kylinv10-02 STABLE
ora.lucifer.db
1 ONLINE ONLINE kylinv10-01 Open,HOME=/u01/app/o
racle/product/12.2.0
/db,STABLE
2 ONLINE ONLINE kylinv10-02 Open,HOME=/u01/app/o
racle/product/12.2.0
/db,STABLE
ora.mgmtdb
1 ONLINE ONLINE kylinv10-01 Open,STABLE
ora.qosmserver
1 ONLINE ONLINE kylinv10-01 STABLE
ora.scan1.vip
1 ONLINE ONLINE kylinv10-02 STABLE
--------------------------------------------------------------------------------a
查看 ASM 磁盤組:
[grid@kylinv10-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 18304 0 18304 0 N DATA/ MOUNTED EXTERN N 512 512 4096 4194304 51200 17172 0 17172 0 Y OCR/
查看 Oracle 版本以及補丁:
[oracle@kylinv10-01:/home/oracle]$ sqlplus -v
SQL*Plus: Release 12.2.0.1.0 Production
[oracle@kylinv10-01:/home/oracle]$ opatch lspatches
此 Oracle 主目錄中未安裝任何中間補丁程序 "/u01/app/oracle/product/12.2.0/db".
OPatch succeeded.
連接數據庫:
[oracle@kylinv10-01:/home/oracle]$ sas
SQL*Plus: Release 12.2.0.1.0 Production on Sun Jun 23 21:42:01 2024
Copyright (c) 1982, 2016, Oracle. All rights reserved.
Connected to:
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
sys@LUCIFER 2024-06-23 21:42:01> select instance_name,status from gv$instance;
INSTANCE_NAME STATUS
---------------- ------------
lucifer1 OPEN
lucifer2 OPEN
sys@LUCIFER 2024-06-23 21:42:19> show parameter name
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
cdb_cluster_name string lucifer
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
數據庫連接正常。
最后修改時間:2026-03-23 16:48:52
「喜歡這篇文章,您的關注和贊賞是給作者最好的鼓勵」
關注作者
【版權聲明】本文為墨天輪用戶原創內容,轉載時必須標注文章的來源(墨天輪),文章鏈接,文章作者等基本信息,否則作者和墨天輪有權追究責任。如果您發現墨天輪中有涉嫌抄襲或者侵權的內容,歡迎發送郵件至:contact@modb.pro進行舉報,并提供相關證據,一經查實,墨天輪將立刻刪除相關內容。




