SUSE 12 SP5下静默全脚本搭建Oracle 12C RAC R1(五)

静默安装GI

5.1 解压安装包

unzip /stage/V46095-01_1of2.zip -d /stage/ && unzip /stage/V46095-01_2of2.zip -d /stage/
unzip /stage/V46096-01_1of2.zip -d /stage/ && unzip /stage/V46096-01_2of2.zip -d /stage/

解压后的目录结构

rac1:/stage # du -sh *
1.6G    V46095-01_1of2.zip
968M    V46095-01_2of2.zip
1.7G    V46096-01_1of2.zip
618M    V46096-01_2of2.zip
2.8G    database
2.5G    grid

为了方便管理将文件移动到对应的home目录

rac1:/stage # mv database/ /home/oracle/
rac1:/stage # mv grid/ /home/grid/

5.2 配置互信

5.2.1 使用解压后安装包中的工具配置互信

/home/grid/grid/sshsetup/sshUserSetup.sh  -user grid  -hosts "rac1 rac2 rac1-priv rac2-priv" -advanced  -noPromotPassphrase
/home/oracle/database/sshsetup/sshUserSetup.sh -user oracle  -hosts "rac1 rac2 rac1-priv rac2-priv" -advanced  -noPromotPassphrase

##出现以下结果说明配置成功
===================
The script will now run the date command on the remote nodes using ssh
to verify if ssh is setup correctly. IF THE SETUP IS CORRECTLY SETUP,
THERE SHOULD BE NO OUTPUT OTHER THAN THE DATE AND SSH SHOULD NOT ASK FOR
PASSWORDS. If you see any output other than date or are prompted for the
password, ssh is not setup correctly and you will need to resolve the
issue and set up ssh again.
The possible causes for failure could be:
1. The server settings in /etc/ssh/sshd_config file do not allow ssh
for user oracle.
2. The server may have disabled public key based authentication.
3. The client public key on the server may be outdated.
4. ~oracle or ~oracle/.ssh on the remote host may not be owned by oracle.
5. User may not have passed -shared option for shared remote users or
may be passing the -shared option for non-shared remote users.
6. If there is output in addition to the date, but no password is asked,
it may be a security alert shown as part of company policy. Append the
additional text to the <OMS HOME>/sysman/prov/resources/ignoreMessages.txt file.
------------------------------------------------------------------------
--rac2:--
Running /usr/bin/ssh -x -l oracle rac2 date to verify SSH connectivity has been setup from local host to rac2.
IF YOU SEE ANY OTHER OUTPUT BESIDES THE OUTPUT OF THE DATE COMMAND OR IF YOU ARE PROMPTED FOR A PASSWORD HERE, IT MEANS SSH SETUP HAS NOT BEEN SUCCESSFUL. Please note that being prompted for a passphrase may be OK but being prompted for a password is ERROR.
The script will run SSH on the remote machine rac2. The user may be prompted for a passphrase here in case the private key has been encrypted with a passphrase.
Fri Aug 13 12:19:59 CST 2021
------------------------------------------------------------------------
--rac1:--
Running /usr/bin/ssh -x -l oracle rac1 date to verify SSH connectivity has been setup from local host to rac1.
IF YOU SEE ANY OTHER OUTPUT BESIDES THE OUTPUT OF THE DATE COMMAND OR IF YOU ARE PROMPTED FOR A PASSWORD HERE, IT MEANS SSH SETUP HAS NOT BEEN SUCCESSFUL. Please note that being prompted for a passphrase may be OK but being prompted for a password is ERROR.
The script will run SSH on the remote machine rac1. The user may be prompted for a passphrase here in case the private key has been encrypted with a passphrase.
Fri Aug 13 12:19:59 CST 2021
------------------------------------------------------------------------
------------------------------------------------------------------------
Verifying SSH connectivity has been setup from rac2 to rac2
IF YOU SEE ANY OTHER OUTPUT BESIDES THE OUTPUT OF THE DATE COMMAND OR IF YOU ARE PROMPTED FOR A PASSWORD HERE, IT MEANS SSH SETUP HAS NOT BEEN SUCCESSFUL.
Fri Aug 13 12:20:00 CST 2021
------------------------------------------------------------------------
------------------------------------------------------------------------
Verifying SSH connectivity has been setup from rac2 to rac1
IF YOU SEE ANY OTHER OUTPUT BESIDES THE OUTPUT OF THE DATE COMMAND OR IF YOU ARE PROMPTED FOR A PASSWORD HERE, IT MEANS SSH SETUP HAS NOT BEEN SUCCESSFUL.
Fri Aug 13 12:20:00 CST 2021
------------------------------------------------------------------------
-Verification from complete-
SSH verification complete.

5.2.2 使用操作系统自带命令配置互信

oracle用户配置互信:
1、为oracle用户配置互信(双节点执行)
[root@rac1 ~]# su - oracle
[oracle@rac1 ~]$ mkdir ~/.ssh 
[oracle@rac1 ~]$ cd .ssh
[oracle@rac1 .ssh]$ ssh-keygen -t rsa
[oracle@rac1 .ssh]$ ssh-keygen -t dsa
2、合成authorized_keys文件(单节点执行,这里在rac1上执行,然后把合成的文件发到rac2上)
[oracle@rac1 ~]# touch authorized_keys 
[oracle@rac1 ~]# ssh rac1 cat /home/oracle/.ssh/id_rsa.pub >> authorized_keys 
[oracle@rac1 ~]# ssh rac2 cat /home/oracle/.ssh/id_rsa.pub >> authorized_keys 
[oracle@rac1 ~]# ssh rac1 cat /home/oracle/.ssh/id_dsa.pub >> authorized_keys 
[oracle@rac1 ~]# ssh rac2 cat /home/oracle/.ssh/id_dsa.pub >> authorized_keys 
[oracle@rac1 ~]# scp authorized_keys rac2:/home/oracle/.ssh/ 

grid用户配置互信

1、为oracle用户配置互信(双节点执行)
[root@rac1 ~]# su - oracle
[oracle@rac1 ~]$ mkdir ~/.ssh 
[oracle@rac1 ~]$ cd .ssh
[oracle@rac1 .ssh]$ ssh-keygen -t rsa
[oracle@rac1 .ssh]$ ssh-keygen -t dsa
2、合成authorized_keys文件(单节点执行,这里在rac1上执行,然后把合成的文件发到rac2上)
[oracle@rac1 ~]# touch authorized_keys 
[oracle@rac1 ~]# ssh rac1 cat /home/oracle/.ssh/id_rsa.pub >> authorized_keys 
[oracle@rac1 ~]# ssh rac2 cat /home/oracle/.ssh/id_rsa.pub >> authorized_keys 
[oracle@rac1 ~]# ssh rac1 cat /home/oracle/.ssh/id_dsa.pub >> authorized_keys 
[oracle@rac1 ~]# ssh rac2 cat /home/oracle/.ssh/id_dsa.pub >> authorized_keys 
[oracle@rac1 ~]# scp authorized_keys rac2:/home/oracle/.ssh/ 

5.2.3 验证是否配置成功

验证是否配置成功:

(双节点执行)
rac1:/ # su - oracle
oracle@rac1:~> ssh rac1 date
Fri Aug 13 12:23:45 CST 2021
oracle@rac1:~> ssh rac2 date
Fri Aug 13 12:23:51 CST 2021
oracle@rac1:~> 

5.3 安装预检查(单节点执行)

如果通过了安装预检查,则说明我们的安装便会一帆风顺,若安装预检查中出现了问题,也能提前解决,不至于影响到正式的安装进程。
以grid用户登录rac1(你之前把安装软件放在了哪个节点,这时就登陆哪个),进入grid安装文件的位置(我们在第1步的时候将它移动到了/home/grid下),执行以下命令:

runuser - grid -c "sh /home/grid/grid/runcluvfy.sh  stage -pre crsinst -n rac1,rac2  -fixup -verbose"

说明:花了大量的时间,找到了原因,说这是oracle 12c 版本在suse linux下的bug,但是在网上没有找到相关的安装包,暂时跳过这一步。在安装的时候可以设置-IgnoreSysPreReqs参数跳过系统检查。

校验报错:
ERROR: 
Reference data is not available for release "12.1" on the operating system distribution "Linux4.12.14-122.37-default"
Verification cannot proceed

5.4 静默安装GI

安装之前使用脚本进行校验,确保所有的failed选项都可以忽略。
新建/etc/oraInst.loc文件:
在2个节点上新建/etc/oraInst.loc,文件中的内容如下:

echo "inventory_loc=/u01/app/oraInventory
inst_group=oinstall" >> /etc/oraInst.loc

输入下面的命令在oraInst.loc文件上设置合适的拥有者,组和权限:

chown oracle:oinstall /etc/oraInst.loc
chmod 664 /etc/oraInst.loc

5.4.1 执行静默安装脚本

su - grid 
./runInstaller -silent  -force -noconfig -IgnoreSysPreReqs -ignorePrereq  -showProgress \
INVENTORY_LOCATION=/u01/app/oraInventory \
SELECTED_LANGUAGES=en \
ORACLE_BASE=/u01/app/grid \
ORACLE_HOME=/u01/app/12.1.0/grid \
oracle.install.asm.OSDBA=asmdba \
oracle.install.asm.OSOPER=asmoper \
oracle.install.asm.OSASM=asmadmin \
oracle.install.crs.config.storageOption=ASM_STORAGE \
oracle.install.crs.config.sharedFileSystemStorage.votingDiskRedundancy=EXTERNAL \
oracle.install.crs.config.sharedFileSystemStorage.ocrRedundancy=EXTERNAL \
oracle.install.crs.config.useIPMI=false \
oracle.install.asm.diskGroup.name=OCR \
oracle.install.asm.diskGroup.redundancy=EXTERNAL \
oracle.installer.autoupdates.option=SKIP_UPDATES \
oracle.install.crs.config.gpnp.scanPort=1521 \
oracle.install.crs.config.gpnp.configureGNS=false \
oracle.install.crs.config.autoConfigureClusterNodeVIP=false \
oracle.install.option=CRS_CONFIG \
oracle.install.crs.config.ClusterType=STANDARD \
oracle.install.asm.SYSASMPassword=HHdb#2o21 \
oracle.install.asm.monitorPassword=HHdb#2o21 \
oracle.install.config.managementOption=NONE \
oracle.install.crs.config.ignoreDownNodes=false \
oracle.install.asm.diskGroup.diskDiscoveryString=/dev/asm-disk* \
oracle.install.asm.diskGroup.disks=/dev/asm-diskb \
oracle.install.crs.config.gpnp.scanName=scan-cluster \
oracle.install.crs.config.clusterName=rac \
oracle.install.crs.config.clusterNodes=rac1:rac1-vip,rac2:rac2-vip \
oracle.install.crs.config.networkInterfaceList=eth0:192.168.2.0:1,eth1:10.0.0.0:2 \
ORACLE_HOSTNAME=rac1

安装过程中的日志:

grid@rac1:~/grid> ./runInstaller -silent  -force -noconfig -IgnoreSysPreReqs -ignorePrereq  -showProgress INVENTORY_LOCATION=/u01/app/oraInventory SELECTED_LANGUAGES=en ORACLE_BASE=/u01/app/grid ORACLE_HOME=/u01/app/12.1.0/grid oracle.install.asm.OSDBA=asmdba oracle.install.asm.OSOPER=asmoper oracle.install.asm.OSASM=asmadmin oracle.install.crs.config.storageOption=ASM_STORAGE oracle.install.crs.config.sharedFileSystemStorage.votingDiskRedundancy=EXTERNAL oracle.install.crs.config.sharedFileSystemStorage.ocrRedundancy=EXTERNAL oracle.install.crs.config.useIPMI=false oracle.install.asm.diskGroup.name=OCR oracle.install.asm.diskGroup.redundancy=EXTERNAL oracle.installer.autoupdates.option=SKIP_UPDATES oracle.install.crs.config.gpnp.scanPort=1521 oracle.install.crs.config.gpnp.configureGNS=false oracle.install.crs.config.autoConfigureClusterNodeVIP=false oracle.install.option=CRS_CONFIG oracle.install.crs.config.ClusterType=STANDARD oracle.install.asm.SYSASMPassword=HHdb#2o21 oracle.install.asm.monitorPassword=HHdb#2o21 oracle.install.config.managementOption=NONE oracle.install.crs.config.ignoreDownNodes=false oracle.install.asm.diskGroup.diskDiscoveryString=/dev/asm-disk* oracle.install.asm.diskGroup.disks=/dev/asm-diskc oracle.install.crs.config.gpnp.scanName=scan-cluster oracle.install.crs.config.clusterName=rachh-cluster oracle.install.crs.config.clusterNodes=rac1:rac1-vip,rac2:rac2-vip oracle.install.crs.config.networkInterfaceList=eth0:192.168.2.0:1,eth1:10.0.0.0:2 ORACLE_HOSTNAME=rac1
Starting Oracle Universal Installer...

Checking Temp space: must be greater than 415 MB.   Actual 26224 MB    Passed
Checking swap space: must be greater than 150 MB.   Actual 2053 MB    Passed
Preparing to launch Oracle Universal Installer from /tmp/OraInstall2021-08-13_03-33-45PM. Please wait ...grid@rac1:~/grid> 
grid@rac1:~/grid> You can find the log of this install session at:
 /u01/app/oraInventory/logs/installActions2021-08-13_03-33-45PM.log

Prepare in progress.
..................................................   7% Done.

Prepare successful.

Copy files in progress.
..................................................   14% Done.
..................................................   19% Done.
..................................................   25% Done.
..................................................   30% Done.
..................................................   35% Done.
..................................................   40% Done.
....................
Copy files successful.

Link binaries in progress.
..........
Link binaries successful.
..................................................   51% Done.

Setup files in progress.

Setup files successful.
..................................................   56% Done.

Setup Inventory in progress.

Setup Inventory successful.
..................................................   62% Done.

Finish Setup successful.

Perform remote operations in progress.

Perform remote operations successful.
..................................................   68% Done.

Saving Cluster Inventory in progress.
..................................................   73% Done.

Saving Cluster Inventory successful.
The installation of Oracle Grid Infrastructure 12c was successful.
Please check '/u01/app/oraInventory/logs/silentInstall2021-08-13_03-33-45PM.log' for more details.

Setup Oracle Base in progress.

Setup Oracle Base successful.
..................................................   82% Done.

Prepare for configuration steps in progress.

Prepare for configuration steps successful.
..........
Update Inventory in progress.

Update Inventory successful.
..................................................   95% Done.

As a root user, execute the following script(s):
        1. /u01/app/12.1.0/grid/root.sh

Execute /u01/app/12.1.0/grid/root.sh on the following nodes: 
[rac1, rac2]

Run the script on the local node first. After successful completion, you can start the script in parallel on all other nodes.

..................................................   100% Done.
Successfully Setup Software.
As install user, execute the following script to complete the configuration.
        1. /u01/app/12.1.0/grid/cfgtoollogs/configToolAllCommands RESPONSE_FILE=<response_file>

        Note:
        1. This script must be run on the same host from where installer was run. 
        2. This script needs a small password properties file for configuration assistants that require passwords (refer to install guide documentation).

5.4.2 安装成功后执行脚本

在root账号下执行如下脚本,两边主机都需要执行,先在rac1节点执行,完成后再在rac2节点执行

rac1:~ # /u01/app/12.1.0/grid/root.sh
Check /u01/app/12.1.0/grid/install/root_rac1_2021-08-13_16-07-51.log for the output of root script

rac2:/etc # /u01/app/12.1.0/grid/root.sh
Check /u01/app/12.1.0/grid/install/root_rac2_2021-08-13_16-08-25.log for the output of root script
由于电脑配置比较低,虚拟机出了点故障,好在有惊无险:
rac1:~ # /u01/app/12.1.0/grid/root.sh
Check /u01/app/12.1.0/grid/install/root_rac1_2021-08-13_16-07-51.log for the output of root script

Message from syslogd@rac1 at Aug 13 16:17:32 ...
 kernel:[49065.404674] NMI watchdog: BUG: soft lockup - CPU#0 stuck for 22s! [ksoftirqd/0:7]

Message from syslogd@rac1 at Aug 13 16:17:35 ...
 kernel:[49066.095695] NMI watchdog: BUG: soft lockup - CPU#1 stuck for 23s! [kswapd0:38]
--------------------

2021/08/13 16:28:28 CLSRSC-325: Configure Oracle Grid Infrastructure for a Cluster ... succeeded

执行configToolAllCommands脚本(只在rac1执行)

该脚本执行完毕会创建一个sid为-MGMTDB,gdbName为_mgmtdb的单实例容器数据库(从日志可以找到相关命令:/u01/app/12.1.0/grid/bin/dbca -silent -createDatabase -createAsContainerDatabase true -templateName MGMTSeed_Database.dbc -sid -MGMTDB -gdbName _mgmtdb -storageType ASM -diskGroupName OCR -datafileJarLocation /u01/app/12.1.0/grid/assistants/dbca/templates -characterset AL32UTF8 -autoGeneratePasswords -skipUserTemplateCheck -oui_internal)该数据库属于grid用户。

rac1 # touch /home/grid/cfgrsp.properties
rac1 # echo "oracle.assistants.asm|S_ASMPASSWORD=HHdb#2o21
oracle.assistants.asm|S_ASMMONITORPASSWORD=HHdb#2o21
oracle.crs|S_BMCPASSWORD=HHdb#2o21" >> /home/grid/cfgrsp.properties
rac1 # /u01/app/12.1.0/grid/cfgtoollogs/configToolAllCommands RESPONSE_FILE=/home/grid/cfgrsp.properties

猜你喜欢

转载自blog.csdn.net/KaiKaiWaWa/article/details/120106899