Home  >  Article  >  Database  >  Oracle 11g升级PSU详细步骤

Oracle 11g升级PSU详细步骤

WBOY
WBOYOriginal
2016-06-07 16:00:28990browse

Oracle 每个季度都会发布最新的补

Oracle 每个季度都会发布最新的补丁。对于生产运维人员来说,定期升级系统、打补丁是日常工作中不可缺少的部分。

 相对于过去的版本,,Oracle打补丁的方式已经变得比较简单,处理PSU的方法也发生了一些变化。在11g中,对于一些小bug的修复,我们可以使用OPatch工具进行补丁修复。对于大的版本升级,Oracle的PSU实际上就是一系列全新的安装文件,从MOS上下载之后就可以直接进行安装。

1、关闭数据库

Oracle的PSU升级不更新数据字典,风险较小,但是还是需要停库进行升级操作。

SQL> shutdown immediate

Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> exit
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
停止监听服务。
[oracle@bntjftest 20299015]$ lsnrctl stop
检查服务进程
[oracle@bntjftest 20299015]$  ps aux | grep ora_
oracle    6922  0.0  0.0  5700  796 pts/3    S+  17:48  0:00 grep ora_
[oracle@bntjftest 20299015]$  ps aux | grep tns
oracle    6924  0.0  0.0  5704  796 pts/3    S+  17:48  0:00 grep tns

2、检查opatch版本信息,需要的话进行升级


 

[oracle@bntjftest OPatch]$ ./opatch version
OPatch Version: 11.2.0.1.7
OPatch succeeded.

检查发现opatch版本较低,为默认版本,所以需要升级opatch。升级方法很简单,直接mv掉原来的opatch目录,然后解压最新版本的opatch软件到ORACLE_HOME下面即可

[oracle@bntjftest OPatch]$ unzip p6880880_112000_Linux-x86-64-opatch .zip  -d $ORACLE_HOME

再次检查版本,发现已经升级成功。
[oracle@bntjftest OPatch]$  ./opatch version
OPatch Version: 11.2.0.3.6
OPatch succeeded.


3、应用PSU补丁

 


1)插曲一、安装程序错误

[oracle@bntjftest OPatch]$ ./opatch apply ./20299015/
Oracle Interim Patch Installer version 11.2.0.3.6
Copyright (c) 2013, Oracle Corporation.  All rights reserved.

Oracle Home      : /app/oracle/product/11.2.0/dbhome_1
Central Inventory : /app/oraInventory
  from          : /app/oracle/product/11.2.0/dbhome_1/oraInst.loc
OPatch version    : 11.2.0.3.6
OUI version      : 11.2.0.4.0
Log file location : /app/oracle/product/11.2.0/dbhome_1/cfgtoollogs/opatch/opatch2015-05-14_10-45-03AM_1.log


Verifying environment and performing prerequisite checks...
Prerequisite check "CheckPatchApplicableOnCurrentPlatform" failed.
The details are:
Patch ( 20299015 ) is not applicable>UtilSession failed: Prerequisite check "CheckActiveFilesAndExecutables" failed.
Log file location: /app/oracle/product/11.2.0/dbhome_1/cfgtoollogs/opatch/opatch2015-05-14_10-45-03AM_1.log
OPatch failed with error code 73


不使用自动模式,手工运行,一样报错:

[oracle@bntjftest 20299015]$ /app/oracle/product/11.2.0/dbhome_1/OPatch/opatch napply -skip_subset -skip_duplicate
Oracle Interim Patch Installer version 11.2.0.3.6
Copyright (c) 2013, Oracle Corporation.  All rights reserved.

Oracle Home      : /app/oracle/product/11.2.0/dbhome_1
Central Inventory : /app/oraInventory
  from          : /app/oracle/product/11.2.0/dbhome_1/oraInst.loc
OPatch version    : 11.2.0.3.6
OUI version      : 11.2.0.4.0
Log file location : /app/oracle/product/11.2.0/dbhome_1/cfgtoollogs/opatch/opatch2015-05-14_10-45-03AM_1.log


Verifying environment and performing prerequisite checks...
Prerequisite check "CheckPatchApplicableOnCurrentPlatform" failed.
The details are:
Patch ( 20299015 ) is not applicable>UtilSession failed: Prerequisite check "CheckActiveFilesAndExecutables" failed.
Log file location: /app/oracle/product/11.2.0/dbhome_1/cfgtoollogs/opatch/opatch2015-05-14_10-45-03AM_1.log
OPatch failed with error code 73

 


上网baidu,“ UtilSession failed: Prerequisite check "CheckActiveFilesAndExecutables" failed”, 很快就查到解决办法,明确了其实就是因为有用户进程占用了文件libclntsh.so.11

[oracle@bntjftest 20299015]$  /sbin/fuser /app/oracle/product/11.2.0/dbhome_1/lib/libclntsh.so.11 .1
/app/oracle/product/11.2.0/dbhome_1/lib/libclntsh.so.11.1:  16470m
[oracle@bntjftest 20299015]$  ps -ef | grep 16470
oracle    16470 5399  0 14:45 pts/2    00:00:00 sqlplus  as sysdba
oracle    7780  6617  0 18:47 pts/3    00:00:00 grep 16470
[oracle@bntjftest 20299015]$  kill -9  16470
[oracle@bntjftest 20299015]$  /sbin/fuser /app/oracle/product/11.2.0/dbhome_1/lib/libclntsh.so.11.1


3)再次重新应用PSU补丁,成功


[oracle@bntjftest 20299015]$ /app/oracle/product/11.2.0/dbhome_1/OPatch/opatch napply -skip_subset -skip_duplicate
Oracle Interim Patch Installer version 11.2.0.3.6
Copyright (c) 2013, Oracle Corporation.  All rights reserved.

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn