1. 程式人生 > >oracle 11gr2 11.2.0.4升級11.2.0.4.2

oracle 11gr2 11.2.0.4升級11.2.0.4.2

oracle 11gr2 11.2.0.4升級11.2.0.4.2

更新的補丁安裝包有如下:
1.p6880880_112000_LINUX.zip
2.p18031668_112040_Linux-x86-64.zip
1.把Opatch的環境變數配置
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATH
2.檢查當前資料庫的版本

opatch version
[[email protected] OPatch]$ opatch version
OPatch Version: 11.2.0.3.4
OPatch succeeded.

opatch lsinventory

[[email protected] OPatch]$ opatch lsinventory
Oracle Interim Patch Installer version 11.2.0.3.4
Copyright (c) 2012, Oracle Corporation.  Allrights reserved.

OracleHome      : /opt/app/oracle/product/11.2.0/db_1
Central Inventory : /opt/oraInventory
  from          : /opt/app/oracle/product/11.2.0/db_1/oraInst.loc
OPatchversion    :11.2.0.3.4
OUIversion      : 11.2.0.4.0
Log file location :/opt/app/oracle/product/11.2.0/db_1/cfgtoollogs/opatch/opatch2014-07-07_10-44-39AM_1.log

Lsinventory Output file location :/opt/app/oracle/product/11.2.0/db_1/cfgtoollogs/opatch/lsinv/lsinventory2014-07-07_10-44-39AM.txt

--------------------------------------------------------------------------------
Installed Top-level Products (1):

Oracle Database11g                                                 11.2.0.4.0
There are 1 products installed in this Oracle Home.
There are no Interim patches installed in this Oracle Home.

--------------------------------------------------------------------------------
3.更新補丁工具包
cd $ORACLE_HOME/
mv OPatch OPath_bak
unzip p6880880_112000_LINUX.zip

cd OPatch

[[email protected] db_1]$ cd OPatch
[[email protected] OPatch]$ ls
crs  docs emdpatch.pl  jlib ocm  opatch opatch.bat  opatchdiag opatchdiag.bat  opatch.ini opatch.pl  opatchprereqs oplan  README.txt version.txt
[[email protected] OPatch]$

[[email protected] OPatch]$ opatch version
OPatch Version: 11.2.0.3.6

OPatch succeeded.

4.檢查你需要打的補丁是否與現有的補丁有衝突

unzip p18031668_112040_Linux-x86-64.zip

cd 18031668

[[email protected] 18031668]$ opatch prereqCheckConflictAgainstOHWithDetail -ph ./
Oracle Interim Patch Installer version 11.2.0.3.6
Copyright (c) 2013, Oracle Corporation.  Allrights reserved.

PREREQ session

OracleHome      : /u01/app/oracle/product/11.2.0/db_1
Central Inventory : /u01/app/oraInventory
  from          : /u01/app/oracle/product/11.2.0/db_1/oraInst.loc
OPatchversion    :11.2.0.3.6
OUIversion      : 11.2.0.4.0
Log file location :/u01/app/oracle/product/11.2.0/db_1/cfgtoollogs/opatch/opatch2014-07-09_01-59-50AM_1.log

Invoking prereq "checkconflictagainstohwithdetail"

Prereq "checkConflictAgainstOHWithDetail" passed.

OPatch succeeded.

5.備份資料庫

略...........................................................................

6.關閉資料庫並更新最新的補丁

sqlplus / as sysdba

shutdown immediate

cd 18031668

opatch apply

opatch apply
Oracle Interim Patch Installer version 11.2.0.3.6
Copyright (c) 2013, Oracle Corporation.  Allrights reserved.
 
OracleHome      : /u01/app/oracle/product/11.2/db_1
Central Inventory : /u01/app/oraInventory
  from          : /u01/app/oracle/product/11.2/db_1/oraInst.loc
OPatchversion    :11.2.0.3.6
OUIversion      : 11.2.0.4.0
Log file location :/u01/app/oracle/product/11.2/db_1/cfgtoollogs/opatch/17478514_Apr_02_2014_15_38_28/apply2014-04-02_15-38-28PM_1.log
 
 
You have not provided an email address for notification of securityissues.
Do you wish to remain uninformed of security issues ([Y]es, [N]o)[N]:  y
 
Please shutdown Oracle instances running out of this ORACLE_HOME onthe local system.
(Oracle Home = '/u01/app/oracle/product/11.2/db_1')
 
Is the local system ready for patching? [y|n]
y
User Responded with: Y
Backing up files...
 
 
Patching component oracle.nlsrtl.rsf, 11.2.0.4.0...
 
Patching component oracle.xdk.rsf, 11.2.0.4.0...
 
Patching component oracle.rdbms.rman, 11.2.0.4.0...
 
OPatch found the word "warning" in the stderr of the makecommand.
Please look at this stderr. You can re-run this make command.
Stderr output:
ins_emagent.mk:113: warning: overriding commands for target`nmosudo'
ins_emagent.mk:52: warning: ignoring old commands for target`nmosudo'
/u01/app/oracle/product/11.2/db_1/sysman/lib/ins_emagent.mk:113:warning: overriding commands for target `nmosudo'
/u01/app/oracle/product/11.2/db_1/sysman/lib/ins_emagent.mk:52:warning: ignoring old commands for target `nmosudo'
 
Verifying the update...
Patch 17478514 successfully applied
OPatch Session completed with warnings.
Log file location:/u01/app/oracle/product/11.2/db_1/cfgtoollogs/opatch/17478514_Apr_02_2014_15_38_28/apply2014-04-02_15-38-28PM_1.log
 
OPatch completed with warnings.
7.檢視補丁:
opatch lsinventory
[email protected]OPatch]$   opatchlsinventory
Oracle Interim Patch Installer version 11.2.0.3.6
Copyright (c) 2013, Oracle Corporation.  Allrights reserved.

OracleHome      : /u01/app/oracle/product/11.2.0/db_1
Central Inventory : /u01/app/oraInventory
  from          : /u01/app/oracle/product/11.2.0/db_1/oraInst.loc
OPatchversion    :11.2.0.3.6
OUIversion      : 11.2.0.4.0
Log file location :/u01/app/oracle/product/11.2.0/db_1/cfgtoollogs/opatch/opatch2014-07-09_02-10-23AM_1.log
Lsinventory Output file location :/u01/app/oracle/product/11.2.0/db_1/cfgtoollogs/opatch/lsinv/lsinventory2014-07-09_02-10-23AM.txt
--------------------------------------------------------------------------------
Installed Top-level Products (1):
Oracle Database11g                                                 11.2.0.4.0
There are 1 product(s) installed in this Oracle Home.

Interim patches (1) :
Patch 18031668    : applied on Wed Jul 09 00:16:43 EDT 2014
Unique Patch ID:  17255543
Patch description:  "Database Patch Set Update :11.2.0.4.2 (18031668)"
   Created on 20 Feb 2014,05:15:58 hrs PST8PDT
Sub-patch  17478514; "Database Patch Set Update :11.2.0.4.1 (17478514)"
   Bugs fixed:
    17288409, 16399083, 17205719, 17811429, 10136473, 16472716,17614227
    17050888, 17040764, 17865671, 17325413, 14010183, 17726838,13364795
    17389192, 17612828, 17080436, 16613964, 17284817, 17441661,17761775
    17721717, 16721594, 17390431, 18203837, 17551709, 17344412,16043574
    17446237, 16863422, 18139690, 17071721, 17501491, 17610798,17239687
    17752121, 17468141, 17602269, 18203835, 17375354, 17313525,17811456
    16731148, 14133975, 18203838, 16956380, 17385178, 17235750,13866822
    17394950, 17478514, 17027426, 12905058, 14338435, 16450169,13944971
    18094246, 16929165, 16785708, 17265217, 17465741, 16220077,16180763
    16069901, 17546973, 16285691, 17323222, 18180390, 17088068,16875449
    17016369, 17443671, 16228604, 17811438, 17811447, 16837842,18031668
    16912439, 17332800, 17393683, 17622427, 17545847, 17186905,16943711
    16850630, 17082359, 17346671, 14852021, 17783588, 17437634,16618694
    17341326, 17296856, 17546761, 17716305

--------------------------------------------------------------------------------
8.執行catbundle.sql將補丁資訊反射到資料庫中,使資料庫知道你最後一次打了什麼補丁或者回滾了哪些補丁:
SQL> @?/rdbms/admin/catbundle.sql psu apply
SQL> Rem
SQL>
SQL> SET TERMOUT on
SQL> SET ECHO off
PL/SQL procedure successfully completed.
PL/SQL procedure successfully completed.
PL/SQL procedure successfully completed.
1 row selected.
1 row selected.
Generating apply and rollback scripts...
Check the following file for errors:
/u01/app/oracle/cfgtoollogs/catbundle/catbundle_PSU_FTDB_GENERATE_2014Apr02_17_20_18.log
Apply script:/u01/app/oracle/product/11.2/db_1/rdbms/admin/catbundle_PSU_FTDB_APPLY.sql
Rollback script:/u01/app/oracle/product/11.2/db_1/rdbms/admin/catbundle_PSU_FTDB_ROLLBACK.sql
 
PL/SQL procedure successfully completed.
 
Executing script file...
 
1 row selected.
 
SQL> COLUMN spool_file NEW_VALUE spool_file NOPRINT
SQL> SELECT '/u01/app/oracle/cfgtoollogs/catbundle/' ||'catbundle_PSU_' || name || '_APPLY_' || TO_CHAR(SYSDATE,'YYYYMonDD_hh24_mi_ss', 'NLS_DATE_LANGUAGE=''AMERICAN''') || '.log'AS spool_file FROM v$database;
 
1 row selected.
 
SQL> SPOOL &spool_file
SQL> exec dbms_registry.set_session_namespace('SERVER')
 
PL/SQL procedure successfully completed.
 
SQL> PROMPT Skipping Spatial because it is not installed orversions mismatch...
Skipping Spatial because it is not installed or versionsmismatch...
SQL> ALTER SESSION SET current_schema = SYS;
 
Session altered.
 
SQL> PROMPT Updating registry...
Updating registry...
SQL> INSERT INTO registry$history
 2   (action_time, action,
 3    namespace, version, id,
 4    bundle_series, comments)
  5  VALUES
 6   (SYSTIMESTAMP, 'APPLY',
 7    SYS_CONTEXT('REGISTRY$CTX','NAMESPACE'),
 8    '11.2.0.4',
 9    1,
 10    'PSU',
 11    'PSU 11.2.0.4.1');
1 row created.
SQL> COMMIT;
Commit complete.
SQL> SPOOL off
SQL> SET echo off
Check the following log file for errors:
9.如果你使用了RMAN的catalog,那麼你還要更新CATALOG資料庫:
$ rman catalog username/[email protected]
RMAN> UPGRADE CATALOG
10.如果你打了補丁發現有問題,那麼你需要回滾補丁:
opatch rollback -id 18031668
使用以上命令就可以回滾相應ID的補丁
11.然後需要執行以下指令碼將補丁回滾的資訊反射到資料庫中
cd $ORACLE_HOME/rdbms/admin
sqlplus /nolog
SQL> CONNECT / AS SYSDBA
SQL> STARTUP
SQL> @catbundle_PSU__ROLLBACK.sql
SQL> QUIT