1.当前DB环境
[oracle@localhost ~]$ cat /etc/redhat-release CentOS Linux release 7.9.2009 (Core) [oracle@localhost ~]$ uname -r 3.10.0-1160.el7.x86_64 [oracle@localhost ~]$ lsnrctl status LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 08-AUG-2023 05:39:02 Copyright (c) 1991, 2019, Oracle. All rights reserved. Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521))) STATUS of the LISTENER ------------------------ Alias LISTENER Version TNSLSNR for Linux: Version 19.0.0.0.0 - Production Start Date 12-JAN-2023 00:13:37 Uptime 208 days 4 hr. 25 min. 25 sec Trace Level off Security ON: Local OS Authentication SNMP OFF Listener Parameter File /u01/app/oracle/product/19c/db_1/network/admin/listener.ora Listener Log File /u01/app/oracle/diag/tnslsnr/localhost/listener/alert/log.xml Listening Endpoints Summary... (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521))) (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521))) Services Summary... Service "orcl" has 1 instance(s). Instance "orcl", status READY, has 1 handler(s) for this service... Service "orclXDB" has 1 instance(s). Instance "orcl", status READY, has 1 handler(s) for this service... The command completed successfully [oracle@localhost ~]$ sqlplus / as sysdba SQL*Plus: Release 19.0.0.0.0 - Production on Tue Aug 8 05:40:12 2023 Version 19.3.0.0.0 Copyright (c) 1982, 2019, Oracle. All rights reserved. Connected to: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production Version 19.3.0.0.0
2.下载补丁包和opatch的升级包
要具有开源精神
opatch升级包:
https://dxz.haodaima.com/202308/yuanma/OPatch_haodaima.rar
19.18的补丁包
链接: https://pan.baidu.com/s/10GbaiIoXqQHDqd7Q2p1clg提取码: bqdh
3.检查OPatch的版本
更新opatch,根据README要求,opatch工具版本至少12.2.0.1.34 或更高版本
[oracle@localhost ~]$ cd $ORACLE_HOME [oracle@localhost db_1]$ cd OPatch/ [oracle@localhost OPatch]$ ./opatch version OPatch Version: 12.2.0.1.17 OPatch succeeded.
升级opatch版本
#备份OPatch [oracle@localhost ~]$ mv $ORACLE_HOME/OPatch $ORACLE_HOME/OPatch.bak #解压到$ORACLE_HOME目录下 [oracle@localhost ~]$ unzip p6880880_190000_Linux-x86-64.zip -d $ORACLE_HOME #查看升级后的opatch的版本 [oracle@localhost ~]$ cd $ORACLE_HOME [oracle@localhost db_1]$ cd OPatch/ [oracle@localhost OPatch]$ ./opatch version OPatch Version: 12.2.0.1.36 OPatch succeeded.
4.检查补丁是否冲突
[oracle@localhost ~]$ unzip p34762026_190000_Linux-x86-64.zip [oracle@localhost ~]$ chown -R oracle:oinstall 34762026/ [oracle@localhost ~]$ chmod 775 -R 34762026/ #检测冲突,依次检测 [oracle@localhost ~]$ $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -ph /home/oracle/34762026/33575402/ [oracle@localhost ~]$ $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -ph /home/oracle/34762026/34765931/ [oracle@localhost ~]$ $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -ph /home/oracle/34762026/34768559/ [oracle@localhost ~]$ $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -ph /home/oracle/34762026/34768569/ [oracle@localhost ~]$ $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -ph /home/oracle/34762026/34863894/ #出现以下字样,检测成功 Oracle Interim Patch Installer version 12.2.0.1.36 Copyright (c) 2023, Oracle Corporation. All rights reserved. PREREQ session Oracle Home : /u01/app/oracle/product/19c/db_1 Central Inventory : /u01/oraInventory from : /u01/app/oracle/product/19c/db_1/oraInst.loc OPatch version : 12.2.0.1.36 OUI version : 12.2.0.7.0 Log file location : /u01/app/oracle/product/19c/db_1/cfgtoollogs/opatch/opatch2023-08-08_06-47-50AM_1.log Invoking prereq "checkconflictagainstohwithdetail" Prereq "checkConflictAgainstOHWithDetail" passed. OPatch succeeded.
5.关闭数据库实例,关闭监听
[oracle@localhost ~]$ sqlplus / as sysdba SQL*Plus: Release 19.0.0.0.0 - Production on Tue Aug 8 06:53:08 2023 Version 19.3.0.0.0 Copyright (c) 1982, 2019, Oracle. All rights reserved. Connected to: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production Version 19.3.0.0.0 SQL> shutdown immediate; Database closed. Database dismounted. ORACLE instance shut down. SQL> exit Disconnected from Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production Version 19.3.0.0.0 [oracle@localhost ~]$ lsnrctl stop LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 08-AUG-2023 07:13:07 Copyright (c) 1991, 2019, Oracle. All rights reserved. Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521))) The command completed successfully
6.应用patch
[oracle@localhost 34765931]$ pwd /home/oracle/34762026/34765931 [oracle@localhost 34765931]$ $ORACLE_HOME/OPatch/opatch apply Oracle Interim Patch Installer version 12.2.0.1.36 Copyright (c) 2023, Oracle Corporation. All rights reserved. Oracle Home : /u01/app/oracle/product/19c/db_1 Central Inventory : /u01/oraInventory from : /u01/app/oracle/product/19c/db_1/oraInst.loc OPatch version : 12.2.0.1.36 OUI version : 12.2.0.7.0 Log file location : /u01/app/oracle/product/19c/db_1/cfgtoollogs/opatch/opatch2023-08-08_07-19-09AM_1.log Verifying environment and performing prerequisite checks... ......
7.加载变化的SQL到数据库
安装补丁之后,还需要将有变化的SQL加载到数据库中,这里可以直接运行Datapatch工具将这些修改的SQL重新加载到数据库中,如果是RAC环境,只需要在一个节点执行就可以了。
根据readme的说明,操作步骤如下:
sqlplus /nolog SQL> Connect / as sysdba SQL> startup SQL> alter pluggable database all open; SQL> quit cd $ORACLE_HOME/OPatch ./datapatch -verbose
8.ORACLE升级补丁查询
1.查询dba_server_registry视图
SQL> select comp_name,version from dba_server_registry;
2.查询dba_registry_history
SQL> select * from dba_registry_history;
3.查询product_component_version视图
SQL> select product,version from product_component_version;
4.查询v$version视图
SQL> select * from v$version;
到此这篇关于Oracle单实例升级补丁的文章就介绍到这了,更多相关Oracle单实例升级补丁内容请搜索好代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持好代码网!