Oracle数据库升级OPatch全过程
·
opatch是用来升级的,但有时也需要升级它自己。例如在19.3.0升级到19.9.0过程中,报错:
$ opatch apply
Oracle Interim Patch Installer version 12.2.0.1.17
Copyright (c) 2021, Oracle Corporation. All rights reserved.
Oracle Home : /opt/oracle/product/19c/dbhome_1
Central Inventory : /opt/oracle/oraInventory
from : /opt/oracle/product/19c/dbhome_1/oraInst.loc
OPatch version : 12.2.0.1.17
OUI version : 12.2.0.7.0
Log file location : /opt/oracle/product/19c/dbhome_1/cfgtoollogs/opatch/opatch2021-02-20_17-51-43PM_1.log
Verifying environment and performing prerequisite checks...
Prerequisite check "CheckMinimumOPatchVersion" failed.
The details are:
The OPatch being used has version 12.2.0.1.17 while the following patch(es) require higher versions:
Patch 31771877 requires OPatch version 12.2.0.1.19.
Please download latest OPatch from My Oracle Support.
UtilSession failed: Prerequisite check "CheckMinimumOPatchVersion" failed.
Log file location: /opt/oracle/product/19c/dbhome_1/cfgtoollogs/opatch/opatch2021-02-20_17-51-43PM_1.log
OPatch failed with error code 73
最新opatch可以从此页面下载。详见Master Note For OPatch (Doc ID 293369.1)。
opatch的Patch ID为6880880。大小在100M左右。
升级前:
$ export PATH=$PATH:$ORACLE_HOME/OPatch
$ opatch version
OPatch Version: 12.2.0.1.17
OPatch succeeded.
升级(其实就是解压到$ORACLE_HOME目录):
# 备份很重要
mv $ORACLE_HOME/OPatch $ORACLE_HOME/OPatch_old
unzip /vagrant/p6880880_190000_Linux-x86-64.zip -d $ORACLE_HOME
升级后:
$ opatch version
OPatch Version: 12.2.0.1.24
OPatch succeeded.
小插曲
升级时遇到错误。参考这里解决。
$ opatch version
/opt/oracle/product/19c/dbhome_1/OPatch/opatch: line 839: [: too many arguments
/opt/oracle/product/19c/dbhome_1/OPatch/opatch: line 839: [: too many arguments
Java (1.7) could not be located. OPatch cannot proceed!
OPatch returns with error code = 1
SQL> select dbms_sqlpatch.verify_queryable_inventory from dual;
VERIFY_QUERYABLE_INVENTORY
--------------------------------------------------------------------------------
ORA-20001: Latest xml inventory is not loaded into table
SQL> select * from OPATCH_XML_INV ;
ERROR:
ORA-29913: error in executing ODCIEXTTABLEFETCH callout
ORA-29400: data cartridge error
KUP-04095: preprocessor command
/opt/oracle/product/19c/dbhome_1/QOpatch/qopiprep.bat encountered error
"/opt/oracle/product/19c/dbhome_1/OPatch/opatch: line 839: [: too many
arguments
/opt/oracle/product/19c/dbhome_1/OPatch/opatch: line 839: [: too many arguments
"
no rows selected
原因时把Linux平台需要的OPatch下成Windows平台了,重新下载后,再打一次就好了。
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐



所有评论(0)