首页 > 数据库 >使用OPatch给Oracle打补丁

使用OPatch给Oracle打补丁

时间:2022-10-08 21:33:15浏览次数:63  
标签:grep opatch OPatch oracle sqlplus 打补丁 HOME Oracle 11.1


查看数据库版本方法如下:

以oracle用户登录数据库,查看数据库版本。

$ sqlplus / as sysdba

SQL> select * from v$version;

输出信息包含如下类似信息。

BANNER

--------------------------------------------------------------------------------

Oracle Database 11g Enterprise Edition Release11.1.0.7.0- 64bit Production

PL/SQL Release 11.1.0.7.0 - Production

CORE    11.1.0.7.0      Production

TNS for Linux: Version 11.1.0.7.0 - Production

NLSRTL Version 11.1.0.7.0 – Production

如上所示,11.1.0.7.0即为Oracle数据库的当前版本。

 

将OPatch工具(opatch版本必须为11.1.0.8.2以上)、PSU16——p16619896_111070_Linux-x86-64.zip 补丁包解压在$ORACLE_HOME下

~> opatch version  查询opatch的版本

 

使用which命令确保make、ar、ld、nm执行命令包含在环境变量PATH。

~> which make

/usr/bin/make

~> cd $ORACLE_HOME

~> unzip p16619896_111070_Linux-x86-64.zip

 

检查当前是否已安装整改要求的补丁包

~> opatch lsinventory -all

检查补丁冲突。

> export PATH=$ORACLE_HOME/OPatch:$PATH

> opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir ./ 16619896

 

关闭数据库所有进程。

以oracle用户登录执行以下命令关闭数据库所有进程。

~> lsnrctl stop

~> sqlplus / as sysdba

SQL> shutdown immediate

SQL> exit

查看是否存在oracle进程。

~> ps -ef |grep -v grep |grep oracle

~> kill -9<PID>


执行补丁包

~> cd $ORACLE_HOME/16619896

~> opatch apply

 

以oracle用户登录执行以下命令修正数据库的SQL文件。

~> cd $ORACLE_HOME/rdbms/admin

~> sqlplus /nolog

SQL> CONNECT / AS SYSDBA

SQL> STARTUP

SQL> @catbundle.sql psu apply

SQL>QUIT

 

以oracle用户登录执行以下命令检查数据字典是否已经重新编译。

~> sqlplus / as sysdba

SQL> SELECT * FROM registry$history where ID = '6452863';

如果此sql有一行或多行数据返回,则不需要执行以下命令;如果没有数据返回(no rows selected),则需要执行以下操作。

以oracle用户登录执行以下命令重新编译数据字典。

~> cd $ORACLE_HOME/cpu/view_recompile

> sqlplus /nolog

SQL> CONNECT / AS SYSDBA

SQL> @recompile_precheck_jan2008cpu.sql

SQL> SHUTDOWN IMMEDIATE

SQL> STARTUP UPGRADE

SQL> @view_recompile_jan2008cpu.sql

SQL> SHUTDOWN

SQL> STARTUP

SQL> QUIT

 

检查打PSU16包是否成功,包含关键字“Patch 16619896”

~> opatch lsinventory –all

 

如果执行该命令有类似如下报错,则可能是oracle进程未完全关闭。

Prerequisite check "CheckActiveFilesAndExecutables" FAILED.

The details are:Following executables are active :/opt/oracle/app/oracle/product/11.1.0/mos7100/bin/oracle

Log file location: /opt/oracle/app/oracle/product/11.1.0/mos7100/cfgtoollogs/opatch/16619896_Sep_27_2013_18_07_54/apply2013-09-27_18-07-54PM_1.log

Recommended actions: OPatch needs to modify files which are being used by some processes.

OPatch FAILED with ERROR code 41

 

按照如下步骤解决:

1.    以oracle用户登录执行以下命令关闭数据库所有进程。

~> lsnrctl stop

~> sqlplus / as sysdba

SQL> shutdown immediate

SQL> exit

2.    查看是否存在oracle进程。

~> ps -ef |grep -v grep |grep oracle

3.    杀掉除sshd:*,-bash,su - oracle,ps -ef以外的其他进程

~> kill -9 <PID>

4.  删除文件锁 

cd /opt/oracle/app/oracle/product/11.1.0/mos7100/.patch_storage

rm patch_lock

5.  在ideploy的当前任务中的Step Two后打上断点,选择单击Step Two,在报错的主机上点击重新执行即可。



标签:grep,opatch,OPatch,oracle,sqlplus,打补丁,HOME,Oracle,11.1
From: https://blog.51cto.com/u_15812342/5738742

相关文章

  • oracle 用户权限
    使用sys用户登录select*fromdba_users;查询数据库中的所有用户select*fromdba_roles;查询数据库中的所有角色select*fromdba_sys_privs;查询数据库中的所有用......
  • docker/docker-compose安装Oracle11gr2
    docker/docker-compose安装Oracle11gr2使用镜像wnameless/oracle-xe-11g-r2(Oracle12c使用absolutapps/oracle-12c-ee)登录用户密码sys/oracle实例信息XE查询镜像:dock......
  • Oracle 查询及删除重复数据
    文章转自:划边逅SQL重复记录查询1、查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断select*frompeoplewherepeopleIdin(selectpeopleIdfromp......
  • Oracle同义词
    Oraclesynonym(同义词)同义词是数据库当前用户通过给另外一个用户的对象创建一个别名,然后可以通过对别名进行查询和操作,等价于直接操作该数据库对象。Oracle同义词常......
  • [Oracle] LeetCode 20 Valid Parentheses
    Givenastringscontainingjustthecharacters'(',')','{','}','['and']',determineiftheinputstringisvalid.Aninputstringisvalidif:Openbra......
  • [Oracle] LeetCode 205 Isomorphic Strings
    Giventwostringssandt,determineiftheyareisomorphic.Twostringssandtareisomorphicifthecharactersinscanbereplacedtogett.Alloccurrence......
  • Oracle
    数据库体系结构数据库逻辑存储结构重做日志文件一个数据库至少包含两个重做日志文件组。每一个重做日志文件成员对应一个物理文件。.LOG结尾数据块......
  • Red Hat 64位安装oracle 客户端sqlplus
    1.首先下载以下两个安装包:oracle-instantclient12.1-basic-12.1.0.2.0-1.x86_64.rpmoracle-instantclient12.1-basic-12.1.0.2.0-1.x86_64.rpm下载路径:https://www.ora......
  • 表的唯一约束的作用 KingbaseES VS Oracle
    背景演示唯一约束怎样创建、删除、禁用和使用唯一性约束,已经多种数据库的差异。什么是唯一约束唯一性约束指表中一个字段或者多个字段联合起来可以唯一标识一条记录的约......
  • Oracle多实例的配置方法
     SID_LIST_LISTENER=(SID_LIST=(SID_DESC=(SID_NAME=PLSExtProc)(ORACLE_HOME=/oracleapp/oracle/product/11.2.0/dbhome_2)(PROGRAM=ext......