Oracle单实例升级补丁

目录

oracle19.3升级补丁到19.18

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://pan.baidu.com/s/1I2Kt44kMM2Y2rNMdjvintw

提取码:y09u

--来自百度网盘超级会员V1的分享

19.18的补丁包

链接:https://pan.baidu.com/s/1V-L6BJykTKqUSri1BqzFwg

提取码:narc

--来自百度网盘超级会员V1的分享

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;
相关推荐
JAVA面经实录91720 分钟前
MySQL问题定位与性能优化完整知识体系
java·jvm·数据库·mysql·性能优化
JL1537 分钟前
如何用 MySQL 持久化、历史快照与游标实现多步 Redo/Undo
前端·数据库·mysql
SL-staff38 分钟前
APS排产规则底座实践:如何用生产全局配置统一自动拆分、成批基数与齐套策略
大数据·数据库·人工智能·智能制造·aps·mes·排产规则
Wang's Blog44 分钟前
PostgreSQL笔记64:分区插件生态与扩展查询协议深度解析
数据库·笔记·postgresql
小蒜学长1 小时前
基于Django的社区团购购物平台的设计与实现(代码+数据库+LW)
数据库·后端·python·django
刘婉晴1 小时前
【AI提效】利用 qwenwork 智能体平台(免费)实现 webgoat 靶场 SQL 注入速通
数据库·sql
__zRainy__1 小时前
Node系列 · 数据库:MySQL 安装
数据库·后端·mysql·node.js
sibylyue1 小时前
MariaDB / H2
数据库·mariadb
zone_z2 小时前
07 · 等待事件与 OWI 方法:从 OSW 到 BUG 的完整破案实录
linux·数据库·oracle·ffmpeg·bug·troubleshooting
A.说学逗唱的Coke2 小时前
【数据库专题】ClickHouse 深度实战:从列式存储原理到 PB 级海量日志与可观测性分析
数据库·clickhouse·硬件架构