将oracle19c从19.3升级到19.22
OPatch升级
备份OPatch
root用户下执行
mv OPatch OPatch.bak
解压包并授予文件夹组权限
unzip p6880880_190000_Linux-x86-64.zip -d /u01/app/oracle/product/19.3.0/db_1
chmod -R 755 /u01/app/oracle/product/19.3.0/db_1/OPatch
chown oracle:oinstall /u01/app/oracle/product/19.3.0/db_1/OPatch
查看版本
到oracle用户下
/u01/app/oracle/product/19.3.0/db_1/OPatch ./opatch version
验证Oracle Inventory
$ORACLE_HOME/OPatch/opatch lsinventory -detail -oh $ORACLE_HOME
至此OPatch的升级就完成了
补丁的升级
关闭数据库
sqlplus / as sysdba
shutdown immediate
关闭监听
lsnrctl stop
解压补丁
unzip p35943157_190000_Linux-x86-64.zip
进行冲突检测
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -ph ./
执行补丁文件
$ORACLE_HOME/OPatch/opatch apply
一路y确定
完成
将补丁更新的bug等组件加载数据库中
启动数据库
sqlplus / as sysdba
startup
退出后执行数据修补程序
cd $ORACLE_HOME/OPatch
./datapatch -verbose
加载成功
最后进入sqlplus查看数据库版本,可以看到数据库版本由19.3升级到了19.22
至此数据库补丁就完成了
补丁的回退
关闭监听
lsnrctl stop
关闭数据库
sqlplus / as sysdba
shutdown immediate
退出sqlplus后(在OPatch的路径下)
ps -ef | grep sqlplus
./opatch lspatches
回退补丁
回退补丁,这里选择刚刚打上的补丁回退
./opatch rollback -id 35943157
y执行
启动监听
lsnrctl start
启动数据库
sqlplus / as sysdba
startup
退出后进行健全性检查进行健全性检查
./datapatch -sanity_checks
执行数据修补程序
./datapatch -verbose
完成后
sqlplus / as sysdba
即可看到数据库版本回退到19.3