作者簡介:
作者:LuciferLiu
中國DBA聯盟(ACDU)成員。目前從事Oracle DBA工作,曾從事 Oracle 資料庫開發工作,主要服務于生産制造,汽車金融等行業。現擁有Oracle OCP,OceanBase OBCA認證,擅長Oracle資料庫運維開發,備份恢複,安裝遷移,Linux自動化運維腳本編寫等。
前言
ORACLE一鍵安裝單機11G/12C/18C/19C并建庫腳本(shell)
一、介紹
本腳本旨在通過無人值守方式初始化安裝Oracle軟體。
Github
功能:
1.配置作業系統
2.安裝Grid軟體
3.安裝Oracle軟體
4.安裝PSU&&RU更新檔
5.建立資料庫
6.資料庫優化
目前支援:
ORACLE版本: 11GR2、12CR2、18C、19C。
作業系統版本: Linux6(x86_64)、Linux7(x86_64)、Linux8(x86_64)。
##19C 作業系統要求
Red Hat Enterprise Linux 8: 4.18.0-80.el8.x86_64 or later
Red Hat Enterprise Linux 7.5: 3.10.0-862.11.6.el7.x86_64 or later
包括Single、Oracle Restart、Oracle Real Cluster模式。
目前RAC隻支援雙節點安裝
二、使用
2.1 安裝準備
2.1.1 建立軟體目錄,例如:/soft
mkdir /soft
2.1.2 挂載鏡像 ISO
## 通過cdrom挂載
mount /dev/cdrom /mnt
or
##通過安裝鏡像源挂載
mount -o loop /soft/rhel-server-7.9-x86_64-dvd.iso /mnt
2.1.3 上傳安裝媒體和腳本到軟體目錄
2.1.4 設定好主機IP(Public&&Private)
#For Example:
##Linux 6
vi /etc/sysconfig/network-scripts/ifcfg-eth0
IPADDR=10.211.55.100
NETMASK=255.255.255.0
GATEWAY=10.211.55.1
##Linux 7
nmcli connection modify eth0 ipv4.addresses 10.211.55.100/24 ipv4.gateway 10.211.55.1 ipv4.method manual autoconnect yes
2.1.5 如果需要安裝Rac,需提前配置ASM共享磁盤
##For Example
##通過iscsi配置共享盤
1.StarWind(Windows)
2.Openfiler(Linux)
##假設已配置好共享存儲伺服器,IP為10.211.55.18。
##配置iscsi連接配接共享存儲
yum install -y iscsi-initiator-utils*
##輸出targetname
iscsiadm -m discovery -t st -p 10.211.55.18
##連接配接共享存儲
iscsiadm -m node -T iqn.2008-08.com.starwindsoftware:10.211.55.18-lucifer -p 10.211.55.18 -l
共享存儲之–StarWind進階配置
共享存儲之–Openfiler進階配置
2.2 腳本參數
2.2.1 通過運作 ./OracleShellInstall --help
可以檢視參數:
./OracleShellInstall --help
-i, --PUBLICIP PUBLICIP NETWORK ADDRESS
-n, --HOSTNAME HOSTNAME(orcl)
-rs, --ROOTPASSWD ROOT USER PASSWORD(oracle)
-gp, --GRIDPASSWD GRID USER PASSWORD(oracle)
-op, --ORAPASSWD ORACLE USER PASSWORD(oracle)
-b, --ENV_BASE_DIR ORACLE BASE DIR(/u01/app)
-o, --ORACLE_SID ORACLE_SID(orcl)
-s, --CHARACTERSET ORACLE CHARACTERSET(AL32UTF8)
-c, --ISCDB IS CDB OR NOT(FALSE)
-pb, --PDBNAME PDBNAME(pdb01)
-pb1, --RAC1PUBLICIP RAC NODE ONE PUBLIC IP
-pb2, --RAC2PUBLICIP RAC NODE SECONED PUBLIC IP
-vi1, --RAC1VIP RAC NODE ONE VIRTUAL IP
-vi2, --RAC2VIP RAC NODE SECOND VIRTUAL IP
-pi1, --RAC1PRIVIP RAC NODE ONE PRIVATE IP
-pi2, --RAC2PRIVIP RAC NODE SECOND PRIVATE IP
-pi3, --RAC1PRIVIP1 RAC NODE ONE PRIVATE IP
-pi4, --RAC2PRIVIP1 RAC NODE SECOND PRIVATE IP
-puf, --RACPUBLICFCNAME RAC PUBLIC FC NAME
-prf, --RACPRIVFCNAME RAC PRIVATE FC NAME
-prf1, --RACPRIVFCNAME1 RAC PRIVATE FC NAME
-si, --RACSCANIP RAC SCAN IP
-dn, --ASMDATANAME RAC ASM DATADISKGROUP NAME(DATA)
-on, --ASMOCRNAME RAC ASM OCRDISKGROUP NAME(OCR)
-dd, --DATA_BASEDISK RAC DATADISK DISKNAME
-od, --OCRP_BASEDISK RAC OCRDISK DISKNAME
-or, --OCRREDUN RAC OCR REDUNDANCY(EXTERNAL|NORMAL|HIGH)
-dr, --DATAREDUN RAC DATA REDUNDANCY(EXTERNAL|NORMAL|HIGH)
-ts, --TIMESERVER RAC TIME SERVER IP
-txh --TuXingHua Tu Xing Hua Install
-udev --UDEV Whether Auto Set UDEV
-dns --DNS RAC CONFIGURE DNS(Y|N)
-dnss --DNSSERVER RAC CONFIGURE DNSSERVER LOCAL(Y|N)
-dnsn --DNSNAME RAC DNSNAME(orcl.com)
-dnsi --DNSIP RAC DNS IP
-m, --ONLYCONFIGOS ONLY CONFIG SYSTEM PARAMETER(Y|N)
-g, --ONLYINSTALLGRID ONLY INSTALL GRID SOFTWARE(Y|N)
-w, --ONLYINSTALLORACLE ONLY INSTALL ORACLE SOFTWARE(Y|N)
-ocd, --ONLYCREATEDB ONLY CREATE DATABASE(Y|N)
-gpa, --GRID RELEASE UPDATE GRID RELEASE UPDATE(32072711)
-opa, --ORACLE RELEASE UPDATE ORACLE RELEASE UPDATE(32072711)
2.3 腳本運作
Notes:必須提前上傳所需安裝媒體,否則安裝失敗
cdb 12C後開始支援容器,隻需要加上如下參數即可:
-c TRUE `# cdb` \
-pb singlepdb `# pdbname` \
腳本須Root使用者下執行
chmod +x OracleShellInstall.sh
2.3.1 Single模式安裝
cd /soft
./OracleShellInstall.sh -i 10.211.55.100 `#Public ip`\
-n single `# hostname`\
-o nocdb `# oraclesid`\
-op oracle `# oracle user password`\
-b /oracle/app `# install basedir`\
-s AL32UTF8 `# characterset`\
-opa 31537677 `# oracle psu number`
2.3.2 Oracle Restart模式安裝
cd /soft
./OracleShellInstall.sh -i 10.211.55.100 `#Public ip`\
-n restart `# hostname`\
-o nocdb `# oraclesid`\
-gp oracle `# grid user password`\
-op oracle `# oracle user password`\
-b /u01/app `# install basedir`\
-s AL32UTF8 `# characterset`\
-dd /dev/sde,/dev/sdf `# asm data disk`\
-dn DATA `# asm data diskgroupname`\
-dr EXTERNAL `# asm data redundancy`\
-gpa 31718723 `# grid psu number`
2.3.3 Oracle Rac模式安裝
cd /soft
./OracleShellInstall.sh -i 10.211.55.100 `#Public ip`\
-n rac `# hostname`\
-rs oracle `# root password`\
-op oracle `# oracle password`\
-gp oracle `# grid password`\
-b /u01/app `# install basedir`\
-o nocdb `# oraclesid`\
-s AL32UTF8 `# characterset`\
-pb1 10.211.55.100 -pb2 10.211.55.101 `# node public ip`\
-vi1 10.211.55.102 -vi2 10.211.55.103 `# node virtual ip`\
-pi1 10.10.1.1 -pi2 10.10.1.2 `# node private ip`\
-puf eth0 -prf eth1 `# network fcname`\
-si 10.211.55.105 `# scan ip`\
-dd /dev/sde,/dev/sdf `# asm data disk`\
-od /dev/sdb,/dev/sdc,/dev/sdd `# asm ocr disk`\
-or EXTERNAL `# asm ocr redundancy`\
-dr EXTERNAL `# asm data redundancy`\
-on OCR `# asm ocr diskgroupname`\
-dn DATA `# asm data diskgroupname`\
-gpa 32580003 `# GRID PATCH`
三. 功能介紹
3.1 配置節點間互信
RAC模式自動配置節點間互信
3.2 配置DNS伺服器
-dns Y `# DNS` \
-dnss Y `# LOCAL DNSSERVER` \
-dnsn lucifer.com `# DNS SERVER NAME` \
-dnsi 10.211.55.200 `# DNS SERVER IP` \
3.3 記錄安裝日志
日志記錄在軟體目錄中,格式為:
oracleAllSilent_$(date +"20%y%m%d%H%M%S").log
3.4 可重複執行
執行失敗支援多次執行安裝。
3.5 幫助功能
3.6 自動配置Multipath+UDEV綁盤
-dd /dev/sde,/dev/sdf `# asm data disk`\
-od /dev/sdb,/dev/sdc,/dev/sdd `# asm ocr disk`\
3.7 配置時間同步crontab
-tsi 10.211.55.18 `# timeserver` \
3.8 自動安裝更新檔(PSU,RU,RUR)
-gpa 32580003 `# Grid PATCH` \
-opa 32580014 `# Oracle PATCH` \
3.9 資料庫優化
1.自動優化資料庫參數
2.建立備份crontab+scripts
3.設定資料庫開機自啟動
4.設定pdb随cdb啟動
3.10 最多支援2組Private IP
-pi1 10.10.1.1 -pi2 10.10.1.2 `# node private ip`\
-prf eth1 -prf1 eth2 `# network fcname`\
3.11 最多支援3組Scan IP
-si 10.211.55.104,10.211.55.105,10.211.55.106 `# scan ip`\
3.12 支援圖形化安裝+VNC
-txh Y `#tuxinghua` \
3.13 支援隻配置主機環境
-m Y `#Only Config System` \