Oracle单实例升级补丁全过程记录

 更新时间:2023年08月09日 09:30:54   作者:草莓田田圈~  
这篇文章主要介绍了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://dxz.jb51.net/202308/yuanma/OPatch_jb51.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单实例升级补丁内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Oracle REGEXP_LIKE模糊查询用法例子

    Oracle REGEXP_LIKE模糊查询用法例子

    Oracle中偶遇正则表达式的使用,简直逆天,在数据统计方面,最长用的就是regexp_like与regexp_replace两个了,下面这篇文章主要给大家介绍了关于Oracle REGEXP_LIKE模糊查询用法例子的相关资料,需要的朋友可以参考下
    2022-11-11
  • Oracle数据库中ORDER BY排序和查询按IN条件的顺序输出

    Oracle数据库中ORDER BY排序和查询按IN条件的顺序输出

    这篇文章主要介绍了Oracle数据库中ORDER BY排序和查询按IN条件的顺序输出的方法,其中ORDER BY的排序结果需要注意其是否稳定,需要的朋友可以参考下
    2015-11-11
  • Oracle CDB管理实现多租户管理功能

    Oracle CDB管理实现多租户管理功能

    这篇文章主要介绍了Oracle CDB管理实现多租户管理功能的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用oracle具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2022-12-12
  • oracle 多个字符替换实现

    oracle 多个字符替换实现

    CSDN上的一个网友,需要一个sql语句的解决方案需求是这样的求写oracle多个字符替换(有测试数据)
    2009-10-10
  • Oracle中serveroutput参数一次设置永久保存方法

    Oracle中serveroutput参数一次设置永久保存方法

    serveroutput是sqlplus的配置参数,而不是数据库的配置参数,每次都需要修改并保存sqlplus的配置参数,本文将介绍如何一次设置永久保存
    2012-11-11
  • oracle中print_table存储过程实例介绍

    oracle中print_table存储过程实例介绍

    存储过程(Stored Procedure),就是一组用于完成特定数据库功能的SQL语句集,该SQL语句集经过编译后存储在数据库系统中。这篇文章主要介绍了oracle中print_table存储过程介绍,需要的朋友可以参考下
    2018-09-09
  • 快速学习Oracle触发器和游标

    快速学习Oracle触发器和游标

    oracle触发器和游标是面试中常问到的知识点,今天就抽空通过实例代码给大家介绍Oracle触发器和游标的示例代码,需要的朋友参考下吧
    2021-06-06
  • Oracle事务(transaction)详解

    Oracle事务(transaction)详解

    本文详细讲解了Oracle中的事务(transaction),文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-05-05
  • Oracle 外连接实现代码

    Oracle 外连接实现代码

    对于外连接,Oracle中可以使用“(+)”来表示,9i可以使用LEFT/RIGHT/FULL OUTER JOIN,下面将配合实例一一介绍。
    2009-08-08
  • oracle数据库定时任务dbms_job的用法详解

    oracle数据库定时任务dbms_job的用法详解

    这篇文章给大家详细介绍了dbms_job的用法,用于安排和管理作业队列,通过使用作业,可以使ORACLE数据库定期执行特定的任务。有需要的朋友们可以参考借鉴。
    2016-09-09

最新评论