Framework to source GI/DB RAC environment stored on shared volume.
[oracle@racnode-dc1-2 patch]$ df -h |grep patch media_patch 3.7T 442G 3.3T 12% /media/patch [oracle@racnode-dc1-2 patch]$ ps -ef|grep pmon oracle 3268 2216 0 15:37 pts/0 00:00:00 grep --color=auto pmon oracle 11254 1 0 06:33 ? 00:00:02 ora_pmon_hawk2 oracle 19995 1 0 05:52 ? 00:00:02 asm_pmon_+ASM2 [oracle@racnode-dc1-2 patch]$ cat /etc/oratab +ASM2:/u01/app/12.1.0.1/grid:N hawk2:/u01/app/oracle/12.1.0.1/db1:N [oracle@racnode-dc1-2 patch]$ cat gi.env ### Michael Dinh : Mar 26, 2019 ### Source RAC GI environment ### Prerequisites for hostname: last char from hostname must be digit ### Allow: prodhost01, racnode-dc1-1 ### DisAllow: prod01host set +x unset ORACLE_UNQNAME ORAENV_ASK=NO h=$(hostname -s) ### Extract last character from hostname to create ORACLE_SID export ORACLE_SID=+ASM${h:${#h} - 1} . oraenv <<< $ORACLE_SID export GRID_HOME=$ORACLE_HOME env|egrep 'ORA|GRID' sysresv|tail -1 [oracle@racnode-dc1-2 patch]$ cat hawk.env ### Michael Dinh : Mar 26, 2019 ### Source RAC DB environment ### Prerequisites for hostname: last char from hostname must be digit ### Allow: prodhost01, racnode-dc1-1 ### DisAllow: prod01host set +x unset GRID_HOME h=$(hostname -s) ### Extract filename without extension (.env) ORAENV_ASK=NO export ORACLE_UNQNAME=$(basename $BASH_SOURCE .env) ### Extract last character from hostname to create ORACLE_SID export ORACLE_SID=$ORACLE_UNQNAME${h:${#h} - 1} . oraenv <<< $ORACLE_SID env|egrep 'ORA|GRID' sysresv|tail -1 [oracle@racnode-dc1-2 patch]$
update_opatch.sh
#!/bin/sh -x update_opatch() { set -ex cd $ORACLE_HOME $ORACLE_HOME/OPatch/opatch version unzip -qod . /media/patch/Jan2019/p6880880_122010_Linux-x86-64.zip ; echo $? $ORACLE_HOME/OPatch/opatch version } ls -lh /media/patch/Jan2019/p6880880_122010_Linux-x86-64.zip . /media/patch/gi.env update_opatch . /media/patch/hawk.env update_opatch exit
Run update_opatch.sh
[oracle@racnode-dc1-1 patch]$ ./update_opatch.sh + ls -lh /media/patch/Jan2019/p6880880_122010_Linux-x86-64.zip -rwxrwxrwx 1 vagrant vagrant 107M Feb 1 22:08 /media/patch/Jan2019/p6880880_122010_Linux-x86-64.zip + . /media/patch/gi.env ++ set +x The Oracle base has been changed from hawk1 to /u01/app/oracle ORACLE_SID=+ASM1 ORACLE_BASE=/u01/app/oracle GRID_HOME=/u01/app/12.1.0.1/grid ORACLE_HOME=/u01/app/12.1.0.1/grid Oracle Instance alive for sid "+ASM1" + cd /u01/app/12.1.0.1/grid + /u01/app/12.1.0.1/grid/OPatch/opatch version OPatch Version: 12.2.0.1.16 OPatch succeeded. + unzip -qod . /media/patch/Jan2019/p6880880_122010_Linux-x86-64.zip + echo 0 0 + /u01/app/12.1.0.1/grid/OPatch/opatch version OPatch Version: 12.2.0.1.16 OPatch succeeded. + . /media/patch/hawk.env ++ set +x The Oracle base remains unchanged with value /u01/app/oracle ORACLE_UNQNAME=hawk ORACLE_SID=hawk1 ORACLE_BASE=/u01/app/oracle ORACLE_HOME=/u01/app/oracle/12.1.0.1/db1 Oracle Instance alive for sid "hawk1" + cd /u01/app/oracle/12.1.0.1/db1 + /u01/app/oracle/12.1.0.1/db1/OPatch/opatch version OPatch Version: 12.1.0.1.3 OPatch succeeded. + unzip -qod . /media/patch/Jan2019/p6880880_122010_Linux-x86-64.zip + echo 0 0 + /u01/app/oracle/12.1.0.1/db1/OPatch/opatch version OPatch Version: 12.2.0.1.16 OPatch succeeded. + exit [oracle@racnode-dc1-1 patch]$ [oracle@racnode-dc1-2 patch]$ ./update_opatch.sh + ls -lh /media/patch/Jan2019/p6880880_122010_Linux-x86-64.zip -rwxrwxrwx 1 vagrant vagrant 107M Feb 1 22:08 /media/patch/Jan2019/p6880880_122010_Linux-x86-64.zip + . /media/patch/gi.env ++ set +x The Oracle base has been set to /u01/app/oracle ORACLE_SID=+ASM2 ORACLE_BASE=/u01/app/oracle GRID_HOME=/u01/app/12.1.0.1/grid ORACLE_HOME=/u01/app/12.1.0.1/grid Oracle Instance alive for sid "+ASM2" + cd /u01/app/12.1.0.1/grid + /u01/app/12.1.0.1/grid/OPatch/opatch version OPatch Version: 12.1.0.1.3 OPatch succeeded. + unzip -qod . /media/patch/Jan2019/p6880880_122010_Linux-x86-64.zip + echo 0 0 + /u01/app/12.1.0.1/grid/OPatch/opatch version OPatch Version: 12.2.0.1.16 OPatch succeeded. + . /media/patch/hawk.env ++ set +x The Oracle base remains unchanged with value /u01/app/oracle ORACLE_UNQNAME=hawk ORACLE_SID=hawk2 ORACLE_BASE=/u01/app/oracle ORACLE_HOME=/u01/app/oracle/12.1.0.1/db1 Oracle Instance alive for sid "hawk2" + cd /u01/app/oracle/12.1.0.1/db1 + /u01/app/oracle/12.1.0.1/db1/OPatch/opatch version OPatch Version: 12.1.0.1.3 OPatch succeeded. + unzip -qod . /media/patch/Jan2019/p6880880_122010_Linux-x86-64.zip + echo 0 0 + /u01/app/oracle/12.1.0.1/db1/OPatch/opatch version OPatch Version: 12.2.0.1.16 OPatch succeeded. + exit [oracle@racnode-dc1-2 patch]$