天天看點

ORACLE 11G R2 RAC+Mutilpath+RAW+ASM+Silent+AddNode+DG 完全安裝詳解 (三)

HOST_NAME GLOBAL_DBNAME SCAN_NAME CLUSTER_NAME PUBLIC_IP
rac1 orcl rac-cluster-scan rac-cluster 192.168.1.91
rac2 orcl rac-cluster-scan rac-cluster 192.168.1.92
dg1 orcl rac-cluster-scan rac-cluster 192.168.1.96

################################### CRS ###################################

#  CRS 先決條件檢查 su - grid -c "/grid/runcluvfy.sh stage -pre crsinst -n rac1,rac2 -fixup -verbose"

#發現問題生成的 修複腳本(由于我們沒有采用 DNS,檢測失敗是正常的,可以忽略) sh /tmp/CVU_11.2.0.4.0_grid/runfixup.sh &&  ssh [email protected] " sh /tmp/CVU_11.2.0.4.0_grid/runfixup.sh "

# 圖形  安裝 Grid Infrastructure(這裡的 IP 為遠端機器的 IP 位址,伺服器會向客戶機傳輸圖形界面) #xhost + &&  su - grid -c "export  DISPLAY=192.168.1.88:0.0 &&  /grid/runInstaller"

# 靜默 安裝 Grid Infrastructure(該以及後面的響應檔案隻适合本教程,不是萬能通用的!) cat >  /home/grid/my_grid.rsp <<EOF

oracle.install.responseFileVersion=/oracle/install/rspfmt_crsinstall_response_schema_v11_2_0 ORACLE_HOSTNAME=rac1 INVENTORY_LOCATION=/u01/app/oraInventory SELECTED_LANGUAGES=zh_CN,en oracle.install.option=CRS_CONFIG ORACLE_BASE=/u01/app/grid ORACLE_HOME=/u01/app/11.2.0/grid oracle.install.asm.OSDBA=asmdba oracle.install.asm.OSOPER=asmoper oracle.install.asm.OSASM=asmadmin oracle.install.crs.config.gpnp.scanName=rac-cluster-scan oracle.install.crs.config.gpnp.scanPort=1521 oracle.install.crs.config.clusterName=rac-cluster oracle.install.crs.config.gpnp.configureGNS=false oracle.install.crs.config.autoConfigureClusterNodeVIP=false oracle.install.crs.config.clusterNodes=rac1:rac1-vip,rac2:rac2-vip oracle.install.crs.config.networkInterfaceList=*:192.168.1.0:1,*:192.168.99.0:2 oracle.install.crs.config.storageOption=ASM_STORAGE oracle.install.crs.config.sharedFileSystemStorage.votingDiskRedundancy=NORMAL oracle.install.crs.config.sharedFileSystemStorage.ocrRedundancy=NORMAL oracle.install.crs.config.useIPMI=false oracle.install.asm.SYSASMPassword= sys oracle.install.asm.diskGroup.name=CRS oracle.install.asm.diskGroup.redundancy=EXTERNAL oracle.install.asm.diskGroup.AUSize=1 oracle.install.asm.diskGroup.disks=/dev/asm-b oracle.install.asm.diskGroup.diskDiscoveryString=/dev/asm* oracle.install.asm.monitorPassword= sys oracle.install.asm.upgradeASM=false oracle.installer.autoupdates.option=SKIP_UPDATES EOF

su - grid -c "/grid/runInstaller -silent -force -ignoreSysPrereqs -ignorePrereq  -showProgress  -responseFile  /home/grid/my_grid.rsp"

# 按照要求執行以下腳本 /u01/app/oraInventory/orainstRoot.sh && ssh [email protected] "/u01/app/oraInventory/orainstRoot.sh" &&  /u01/app/11.2.0/grid/root.sh  && ssh  [email protected]  "/u01/app/11.2.0/grid/root.sh"

# 靜默 安裝 開啟監聽(圖形化安裝這裡不需要單獨執行) su - grid -c "/u01/app/11.2.0/grid/cfgtoollogs/configToolAllCommands"

#圖形 安裝時最後一項會報 PRVF-4657 的錯,這是沒有解析 SCAN-VIP 的 DNS,運作 ping rac-cluster-scan 能通的話可以跳過。 ping -c3 rac-cluster-scan && ssh [email protected] "ping -c3 rac-cluster-scan"

# GI 安裝成功檢測 su - grid -c "crs_stat -t"

su - grid -c " crsctl stat res -t"

su - grid -c "crsctl stat res -t -init" su - grid -c "crsctl check cluster -all" #watch "ps -ef | grep asm | grep -v grep"

# GI 安裝失敗處理 (不清理無法再次安裝) #處理 root.sh 執行失敗(執行完可以重新執行 root.sh,看是否能通過,不行的話向下清理,重新安裝 GI) #/u01/app/11.2.0/grid/crs/install/rootcrs.pl -verbose -deconfig -force #/u01/app/11.2.0/grid/crs/install/ roothas.pl  -verbose -deconfig -force #删除 GI 軟體(加 -local 隻删除本地) #su - grid -c '$ORACLE_HOME/deinstall/deinstall  -local' #清理 CRS 磁盤組 #dd if=/dev/zero of=/dev/ asm-b bs=10M count=10

################################### ASM ## #################################

# 圖形 建立 ASM 磁盤組 (ASM 磁盤組與 ASMlib 沒有任何關系,與 10G SID=ASM 的DBCA 類型一樣) #xhost + &&  su - grid -c "export DISPLAY=192.168.1.88:0.0 &&  asmca"

#靜默 建立 ASM 磁盤組 #方式一:(增加 DATA 磁盤組,最簡單) su - grid -c 'asmca -silent  -createDiskGroup -sysAsmPassword  sys -diskGroupName  DATA -diskList "/dev/asm- c" -redundancy EXTERNAL'

#方式二:(增加 FRA 磁盤組,帶搜尋路徑和 asm 版本) su - grid -c 'asmca -silent  -createDiskGroup -sysAsmPassword  sys -diskGroupName  FRA -diskString "/dev/asm*" -diskList "/dev/asm- d" -redundancy EXTERNAL -compatible.asm 11.2 -compatible.rdbms 11.2'

#方式三:(給磁盤組增加磁盤) #su - grid -c 'asmca -silent -addDisk -sysAsmPassword  sys -diskGroupName  DATA -diskList "/dev/asm- e"'

#檢測磁盤組 su - grid -c 'ocrcheck' su - grid -c 'asmcmd -p ls && asmcmd -p du CRS/'

# ASM 建立失敗處理(不清理的話會報已存在,并無法添加至 ASM) #dd if=/dev/zero  of=/dev/ asm-c bs=10M count=10 #dd if=/dev/zero  of=/dev/ asm-d bs=10M count=10

#################################### DB ####################################

#開啟 ASMSNMP 使用者(不設定會在建庫使用 ASM 驗證 ASMSNMP 使用者密碼時失敗) su - grid -c "orapwd file=/u01/app/11.2.0/grid/dbs/orapw+ASM password= sys force=y && scp /u01/app/11.2.0/grid/dbs/orapw+ASM rac2:/u01/app/11.2.0/grid/dbs/" su - grid -c "echo ' create user asmsnmp identified by  sys; grant sysdba to asmsnmp; ' | sqlplus / as sysasm"

#  DB 先決條件檢查

su - grid -c "cluvfy stage -pre dbinst -n rac1,rac2 -verbose"

# 圖形 安裝 ORACLE 資料庫軟體 #xhost + &&  su - oracle -c "export DISPLAY=192.168.1.88:0.0 &&  /database/runInstaller"

#靜默 安裝 ORACLE 資料庫軟體(方法一:安裝 ORACLE 軟體同時建庫,至此 RAC 完全結束 ) #cat /home/oracle/db.rsp | grep -v ^# | grep -v ^$ >> /home/oracle/my_db.rsp cat > /home/oracle/my_db.rsp <<EOF oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0 oracle.install.option=INSTALL_DB_AND_CONFIG ORACLE_HOSTNAME=rac1 UNIX_GROUP_NAME=oinstall INVENTORY_LOCATION=/u01/app/oraInventory SELECTED_LANGUAGES=zh_CN,en ORACLE_HOME= /u01/app/oracle/product/11.2.0/db_1 ORACLE_BASE=/u01/app/oracle oracle.install.db.InstallEdition=EE oracle.install.db.EEOptionsSelection=false oracle.install.db.DBA_GROUP=dba oracle.install.db.OPER_GROUP=oper oracle.install.db.CLUSTER_NODES=rac1,rac2 oracle.install.db.isRACOneInstall=false oracle.install.db.config.starterdb.type=GENERAL_PURPOSE oracle.install.db.config.starterdb.globalDBName=orcl oracle.install.db.config.starterdb.SID= rac oracle.install.db.config.starterdb.characterSet=AL32UTF8 oracle.install.db.config.starterdb.memoryOption=true oracle.install.db.config.starterdb.memoryLimit=1584 oracle.install.db.config.starterdb.installExampleSchemas=true oracle.install.db.config.starterdb.enableSecuritySettings=true oracle.install.db.config.starterdb.password.ALL= sys oracle.install.db.config.starterdb.control=DB_CONTROL oracle.install.db.config.starterdb.automatedBackup.enable=false oracle.install.db.config.starterdb.storageType=ASM_STORAGE oracle.install.db.config.asm.diskGroup=DATA oracle.install.db.config.asm.ASMSNMPPassword= sys SECURITY_UPDATES_VIA_MYORACLESUPPORT=false DECLINE_SECURITY_UPDATES=true oracle.installer.autoupdates.option=SKIP_UPDATES EOF

su - oracle -c "/database/runInstaller -silent -force -ignoreSysPrereqs -ignorePrereq -showProgress  -responseFile  /home/oracle/my_db.rsp"

# 靜默  安裝 ORACLE 資料庫軟體(方法二:隻單獨安裝 ORACLE 軟體) cat >  /home/oracle/my_db.rsp <<EOF oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0 oracle.install.option=INSTALL_DB_SWONLY ORACLE_HOSTNAME=rac1 UNIX_GROUP_NAME=oinstall INVENTORY_LOCATION=/u01/app/oraInventory SELECTED_LANGUAGES=zh_CN,en ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1 ORACLE_BASE=/u01/app/oracle oracle.install.db.InstallEdition=EE oracle.install.db.EEOptionsSelection=false oracle.install.db.DBA_GROUP=dba oracle.install.db.OPER_GROUP=oper oracle.install.db.CLUSTER_NODES=rac1,rac2 oracle.install.db.isRACOneInstall=false oracle.install.db.config.starterdb.type=GENERAL_PURPOSE oracle.install.db.config.starterdb.memoryOption=false oracle.install.db.config.starterdb.memoryLimit= oracle.install.db.config.starterdb.installExampleSchemas=false oracle.install.db.config.starterdb.enableSecuritySettings=true oracle.install.db.config.starterdb.control=DB_CONTROL SECURITY_UPDATES_VIA_MYORACLESUPPORT=false DECLINE_SECURITY_UPDATES=true oracle.installer.autoupdates.option=SKIP_UPDATES EOF

su - oracle -c "/database/runInstaller -silent -force -ignoreSysPrereqs -ignorePrereq -showProgress -responseFile /home/oracle/my_db.rsp"

# 按照要求執行以下腳本

/u01/app/oracle/product/11.2.0/db_1/root.sh && ssh [email protected] "/u01/app/oracle/product/11.2.0/db_1/root.sh"

# 删除 ORACLE 資料庫軟體(加 -local 隻删除本地) #su - oracle -c '$ORACLE_HOME/deinstall/deinstall  -local'