一、环境说明
主 | 备 | |
IP | 192.168.37.201 | 192.168.37.202 |
系统版本 | RedHat 7.9 | RedHat 7.9 |
数据库版本 | 19.3.0.0.0 | 19.3.0.0.0 |
SID | pri | std |
hostname | primary | standby |
二、OPatch配置
19c 19.22版本补丁,需要的Opatch的版本为12.2.0.1.40或者高于此版本才可以。
2.1.备份原OPATCH目录(主备)
su - oracle
cd /u01/app/oracle/product/19.3.0/db #进入到ORACL_HOME
mv OPatch /u01/app/oracle/product/19.3.0/db/OPatch #备份OPatch
2.2.解压OP包至$ORACLE_HOME(主备库)
su - oracle -c "unzip -q -o /soft/p6880880_190000_Linux-x86-64.zip -d /u01/app/oracle/product/19.3.0/db" #这里将OPatch包放在了根目录的soft下
#更改权限
chmod -R 755 /u01/app/oracle/product/19.3.0/db/OPatch
chown -R oracle:oinstall /u01/app/oracle/product/19.3.0/db/OPatch
2.3.查看版本
su – oracle
opatch version
三、备份db_home
3.1.备份
su – oracle
cd $ORACLE_HOME
cd ..
tar -cvzf db_home.tar.gz db/ #压缩至db同一目录
四、关闭数据库及监听
4.1.关闭数据库
su – oracle
sas
shutdown immediate
4.2.关闭监听
lsnrctl status #查看监听状态
lsnrctl stop #关闭监听
五、解压补丁包(主备)
su - oracle
unzip /soft/p35943157_190000_Linux-x86-64.zip -d /soft/ #解压到根目录下的soft目录内
chown -R oracle:oinstall /soft/35943157
chmod -R 755 /soft/35943157
六、补丁冲突检测(主备)
su – oracle
opatch prereq CheckConflictAgainstOHWithDetail -ph ./ #检测看是否冲突
七、备库打补丁
opatch apply #执行
#后续步骤根据提示输入y即可
八、主库打补丁
opatch apply #执行
后续步骤根据提示输入y即可
九、将sql文件修改到数据库中
su – oracle
lsnrctl start #启动监听
lsnrctl status #监听状态
sqlplus /nolog
connect / as sysdba
startup
quitps -ef|grep ora #查看进程
cd $ORACLE_HOME/Opatcch #进入到OPatch目录
./datapatch -sanity_checks #可选
./datapatch -verbose #执行,时间有点长
十、更新extjob权限
su – root
chown root /u01/app/oracle/product/19.3.0/db/bin/extjob
chmod 4750 /u01/app/oracle/product/19.3.0/db/bin/extjob
十一、检查补丁注册情况(主备)
sas
select VERSION,VERSION_FULL from dba_registry; #19.22为成功
十二、补丁回退
12.1.关闭ADG
shutdown immediate #关闭主库
alter database recover managed standby database cancel; #取消备库应用归档日志
shutdown immediate #关闭备库
lsnrctl stop #关闭主备库监听
12.2.备库补丁回退
cd $ORACLE_HOME/OPatch
./opatch lspatches
./opatch rollback -id 35943157
12.3.主库补丁回退
cd $ORACLE_HOME/OPatch
./opatch lspatches
./opatch rollback -id 35943157
12.4.将sql文件修改到库中
su – oracle
lsnrctl start #启动监听
lsnrctl status #监听状态
sqlplus /nolog
connect / as sysdba
startup
quitps -ef|grep ora #查看进程
cd $ORACLE_HOME/Opatcch #进入到OPatch目录
./datapatch -sanity_checks #可选
./datapatch -verbose #执行
12.5.更改extjob权限
su – root
chown root /u01/app/oracle/product/19.3.0/db/bin/extjob
chmod 4750 /u01/app/oracle/product/19.3.0/db/bin/extjob
十三、查看版本
sas
select VERSION,VERSION_FULL from dba_registry;