Oracle安裝11.2.0.4.180116補丁及如何檢查數據庫安裝補丁


最近做了一個安裝11.2.0.4.180116補丁的實驗,突然想起之前和同事討論的一個問題:如何檢查數據庫安裝補丁的版本,之前搜到的是去查dba_registry_history,有的說在操作系統中執行./opatch lspatches查看。就做了一個實驗:

前提:本系統曾前后安裝了 171017和180116版本補丁,但180116補丁已回退!!

1.1 首先檢查opatch工具版本:

以oracle用戶登錄,驗證opatch 工具版本。安裝補丁11.2.0.4.180116所需最低opatch版本為11.2.0.3.6。

 [root@localhost ~]# su - oracle

[oracle@localhost ~]$ cd $ORACLE_HOME/OPatch

[oracle@localhost OPatch]$ ./opatch version

OPatch Version: 11.2.0.3.18

OPatch succeeded.

 

如果檢查結果不滿足,則需要升級opatch工具。若OPatch Version大於等於11.2.0.3.6則略過1.2節步驟 opatch工具版本升級。

1.2  升級opatch工具版本

以oracle用戶登錄,將opatch備份:

[root@localhost ~]# su - oracle

[oracle@localhost ~]$ cd $ORACLE_HOME

[oracle@localhost dbhome_1]$ pwd

/oracle/app/oracle/product/11.2.0/dbhome_1

[oracle@localhost dbhome_1]$ mv OPatch OPatch.bak

 

將下載的OPatch工具包p6880880_112000_Linux-x86-64.zip上傳至/home/oracle目錄,進行解壓縮。

[root@localhost ~]# su - oracle

[oracle@localhost ~]$ unzip p6880880_112000_Linux-x86-64.zip -d $ORACLE_HOME/

 

重新驗證OPatch工具包版本:

[oracle@localhost ~]$ cd $ORACLE_HOME

[oracle@localhost dbhome_1]$ cd OPatch

[oracle@localhost OPatch]$ ./opatch version

OPatch Version: 11.2.0.3.18


OPatch succeeded.

1.3   安裝11.2.0.4.180116補丁包

1.3.1  上傳並解壓縮補丁包p26925576_112040_Linux-x86-64.zip

將下載的psu補丁p26925576_112040_Linux-x86-64.zip上傳至/soft目錄,進行解壓縮。

 

[root@localhost ~]# su – oracle

[oracle@localhost ~]$ mkdir soft/  -- 若已存在該目錄,則忽略該步驟

[oracle@localhost ~]$ cd soft/

 [oracle@localhost soft]$ unzip p26925576_112040_Linux-x86-64.zip

1.3.2  停止EM

[root@localhost ~]# su - oracle

[oracle@whf ~]$ emctl status dbconsole

Oracle Enterprise Manager 11g Database Control Release 11.2.0.4.0

Copyright (c) 1996, 2013 Oracle Corporation.  All rights reserved.

https://rac1.localdomain:1158/em/console/aboutApplication

Oracle Enterprise Manager 11g is running.

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

Logs are generated in directory /u01/app/oracle/product/11.2.0/dbhome_1/rac1.localdomain_orcl/sysman/log

[oracle@rac1 ~]$ emctl stop dbconsole

Oracle Enterprise Manager 11g Database Control Release 11.2.0.4.0

Copyright (c) 1996, 2013 Oracle Corporation.  All rights reserved.

https://rac1.localdomain:1158/em/console/aboutApplication

Stopping Oracle Enterprise Manager 11g Database Control ...

 ...  Stopped.

 

1.3.3  停數據庫、監聽

[root@localhost ~]# su - oracle

[oracle@localhost ~]$ sqlplus / as sysdba

SQL> shutdown immediate

SQL> exit

[oracle@localhost ~]$ lsnrctl stop

1.3.4  opatch apply安裝

opatch apply命令需要使用oracle用戶,進入補丁包所在目錄后執行。

[root@localhost ~]# su – oracle

[oracle@localhost ~]$ cd soft/26925576/

[oracle@localhost 26925576]$ $ORACLE_HOME/OPatch/opatch apply

Oracle Interim Patch Installer version 11.2.0.3.18

Copyright (c) 2018, Oracle Corporation.  All rights reserved.

 
Oracle Home       : /oracle/app/oracle/product/11.2.0/dbhome_1

Central Inventory : /oracle/app/oraInventory

   from           : /oracle/app/oracle/product/11.2.0/dbhome_1/oraInst.loc

OPatch version    : 11.2.0.3.18

OUI version       : 11.2.0.4.0

Log file location : /oracle/app/oracle/product/11.2.0/dbhome_1/cfgtoollogs/opatch/opatch2018-02-20_20-42-25PM_1.log

 
Verifying environment and performing prerequisite checks...

OPatch continues with these patches:   26925576 

Do you want to proceed? [y|n]

y

User Responded with: Y

All checks passed.

Provide your email address to be informed of security issues, install and

initiate Oracle Configuration Manager. Easier for you if you use your My

Oracle Support Email address/User Name.

Visit http://www.oracle.com/support/policies.html for details.

Email address/User Name:
 
You have not provided an email address for notification of security issues.

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 on the local system.

(Oracle Home = '/oracle/app/oracle/product/11.2.0/dbhome_1')
 
 
Is the local system ready for patching? [y|n]

y

User Responded with: Y

Backing up files...

Applying sub-patch '26925576' to OH '/oracle/app/oracle/product/11.2.0/dbhome_1'
 
Patching component oracle.rdbms, 11.2.0.4.0...
 
Patching component oracle.rdbms.dbscripts, 11.2.0.4.0...
 
Patching component oracle.rdbms.rman, 11.2.0.4.0...
 
Patching component oracle.rdbms.rsf, 11.2.0.4.0...

Composite patch 26925576 successfully applied.

Log file location: /oracle/app/oracle/product/11.2.0/dbhome_1/cfgtoollogs/opatch/opatch2018-02-20_20-42-25PM_1.log

 

OPatch succeeded.

1.3.5  起數據庫、監聽、EM

[root@localhost ~]# su - oracle

[oracle@localhost ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.4.0 Production on Tue Feb 20 20:46:18 2018

Copyright (c) 1982, 2013, Oracle.  All rights reserved.

Connected to an idle instance.

SQL> startup

SQL> exit

[oracle@localhost ~]$ lsnrctl start

[oracle@localhost ~]$ emctl start dbconsole

1.3.6 將升級信息寫入數據庫

   為了驗證數據庫補丁如何查看,暫時先不寫入數據庫,依次查看dba_registry_history和opatch lspatches版本

本系統曾前后安裝了 171017和180116版本補丁,但180116補丁已回退):

SQL> col action_time for a32
SQL> col action for a10
SQL> col namespace for a10
SQL> col version for a10
SQL> col BUNDLE_SERIES for a10
SQL> col comments for a30
SQL> set lin 200
SQL> 
SQL> select * from dba_registry_history;

ACTION_TIME                      ACTION     NAMESPACE  VERSION            ID BUNDLE_SER COMMENTS
-------------------------------- ---------- ---------- ---------- ---------- ---------- ------------------------------
24-AUG-13 12.03.45.119862 PM     APPLY      SERVER     11.2.0.4            0 PSU        Patchset 11.2.0.2.0
15-NOV-17 03.36.44.541274 PM     APPLY      SERVER     11.2.0.4            0 PSU        Patchset 11.2.0.2.0
20-FEB-18 07.17.09.603021 PM     APPLY      SERVER     11.2.0.4       171017 PSU        PSU 11.2.0.4.171017
20-FEB-18 08.48.39.212321 PM     APPLY      SERVER     11.2.0.4       180116 PSU        PSU 11.2.0.4.180116
20-FEB-18 09.06.56.276322 PM     ROLLBACK   SERVER     11.2.0.4       180116 PSU        PSU 11.2.0.4.180116
20-FEB-18 09.07.15.512282 PM APPLY SERVER 11.2.0.4 171017 PSU PSU 11.2.0.4.171017

6 rows selected.

查看opatch lapatches版本:

[oracle@localhost ~]$ cd $ORACLE_HOME/OPatch
[oracle@localhost OPatch]$ ./opatch lspatches
26925576;Database Patch Set Update : 11.2.0.4.180116 (26925576)

OPatch succeeded.

故說明使用./opatch lspatches只能查看系統安裝補丁版本,但不意味着數據庫應用的版本信息,數據庫應用的版本需使用dba_registry_history查看。

為驗證說明,進行將升級信息寫入數據庫:

[oracle@localhost ~]$ sqlplus / as sysdba
SQL> @?/rdbms/admin/catbundle.sql psu apply

修復無效對象
SQL> @?/rdbms/admin/utlrp.sql

再次查看dba_registry_history和opatch lspatches版本:

SQL> col action_time for a32
SQL> col action for a10
SQL> col namespace for a10
SQL> col version for a10
SQL> col BUNDLE_SERIES for a10
SQL> col comments for a30
SQL> set lin 200
SQL> 
SQL> select * from dba_registry_history;

ACTION_TIME                      ACTION     NAMESPACE  VERSION            ID BUNDLE_SER COMMENTS
-------------------------------- ---------- ---------- ---------- ---------- ---------- ------------------------------
24-AUG-13 12.03.45.119862 PM     APPLY      SERVER     11.2.0.4            0 PSU        Patchset 11.2.0.2.0
15-NOV-17 03.36.44.541274 PM     APPLY      SERVER     11.2.0.4            0 PSU        Patchset 11.2.0.2.0
20-FEB-18 07.17.09.603021 PM     APPLY      SERVER     11.2.0.4       171017 PSU        PSU 11.2.0.4.171017
20-FEB-18 08.48.39.212321 PM     APPLY      SERVER     11.2.0.4       180116 PSU        PSU 11.2.0.4.180116
20-FEB-18 09.06.56.276322 PM     ROLLBACK   SERVER     11.2.0.4       180116 PSU        PSU 11.2.0.4.180116
20-FEB-18 09.07.15.512282 PM     APPLY      SERVER     11.2.0.4       171017 PSU        PSU 11.2.0.4.171017
22-FEB-18 01.09.06.899587 AM     APPLY      SERVER     11.2.0.4       180116 PSU        PSU 11.2.0.4.180116

7 rows selected.
SQL> !
[oracle@localhost ~]$ cd $ORACLE_HOME/OPatch
[oracle@localhost OPatch]$ ./opatch lspatches
26925576;Database Patch Set Update : 11.2.0.4.180116 (26925576)

OPatch succeeded.

驗證無誤。就此補丁也已安裝完畢。

 

2.1   補丁回退

2.1.1  關閉數據庫

[root@localhost ~]# su - oracle

[oracle@localhost ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.4.0 Production on Tue Feb 20 20:53:00 2018

Copyright (c) 1982, 2013, Oracle.  All rights reserved.

Connected to:

Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production

With the Partitioning, OLAP, Data Mining and Real Application Testing options

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@localhost ~]$ lsnrctl stop

LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 20-FEB-2018 20:54:52

Copyright (c) 1991, 2013, Oracle.  All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521)))

The command completed successfully

2.1.2  回退操作

[root@localhost ~]# su - oracle

[oracle@localhost ~]$ $ORACLE_HOME/OPatch/opatch rollback -id 26925576

Oracle Interim Patch Installer version 11.2.0.3.18

Copyright (c) 2018, Oracle Corporation.  All rights reserved.

Oracle Home       : /oracle/app/oracle/product/11.2.0/dbhome_1

Central Inventory : /oracle/app/oraInventory

   from           : /oracle/app/oracle/product/11.2.0/dbhome_1/oraInst.loc

OPatch version    : 11.2.0.3.18

OUI version       : 11.2.0.4.0

Log file location : /oracle/app/oracle/product/11.2.0/dbhome_1/cfgtoollogs/opatch/opatch2018-02-20_20-56-38PM_1.log

Patches will be rolled back in the following order:

   26925576

The following patch(es) will be rolled back: 26925576 

Sub-patches of a composite series are being rolled back. The system will be returned to a state where 17478514,18031668,18522509,19121551,19769489,20299013,20760982,21352635,21948347,22502456,23054359,24006111,24732075,25869727,26609445,26392168 and all its fixes will still remain, because the patch(es) were installed before patch(es) 26925576 were applied.

The following bug fixes will be removed: 26910644,21641760,24570598,22809871,22465352,21142837,16756406,27053456,21174504,23003979,20513399,25897615,21795111,26569225,21354456,25764020,20671094,20717359,21629064,18090142,24835538,21380789,21422580,19475971,24717859,18948177,20860659,20598042,21172913,20031873,20324049,23007241,25165496,19174430

Please shutdown Oracle instances running out of this ORACLE_HOME on the local system.

(Oracle Home = '/oracle/app/oracle/product/11.2.0/dbhome_1')

 
Is the local system ready for patching? [y|n]

y

User Responded with: Y

Rolling back patch 26925576...

RollbackSession rolling back interim patch '26925576' from OH '/oracle/app/oracle/product/11.2.0/dbhome_1'

Patching component oracle.rdbms, 11.2.0.4.0...

Patching component oracle.rdbms.dbscripts, 11.2.0.4.0...

Patching component oracle.rdbms.rman, 11.2.0.4.0...

Patching component oracle.rdbms.rsf, 11.2.0.4.0...

RollbackSession removing interim patch '26925576' from inventory

Log file location: /oracle/app/oracle/product/11.2.0/dbhome_1/cfgtoollogs/opatch/opatch2018-02-20_20-56-38PM_1.log

OPatch succeeded. 

若執行了1.3.6將升級信息寫入數據庫操作,則還需執行以下操作:

[oracle@localhost ~]$ [oracle@localhost admin]$ ls|grep catbundle_PSU_

catbundle_PSU_MYDB_APPLY.sql    -- <連接數據庫后需運行該腳本!>

catbundle_PSU_MYDB_ROLLBACK.sql

[oracle@localhost admin]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.4.0 Production on Tue Feb 20 21:01:07 2018

Copyright (c) 1982, 2013, Oracle.  All rights reserved.

Connected to an idle instance.

SQL> startup

ORACLE instance started.

Total System Global Area  830930944 bytes

Fixed Size                  2257800 bytes

Variable Size             503319672 bytes

Database Buffers          318767104 bytes

Redo Buffers                6586368 bytes

Database mounted.

Database opened.

SQL> @catbundle_PSU_MYDB_ROLLBACK.sql

SQL> exit

[oracle@localhost admin]$ lsnrctl start

2.1.3  回退檢驗

[root@localhost ~]# su - oracle

[oracle@localhost ~]$ $ORACLE_HOME/OPatch/opatch lspatches

26392168;Database Patch Set Update : 11.2.0.4.171017 (26392168)

OPatch succeeded.
 
[oracle@localhost ~]$ sqlplus / as sysdba
 
SQL*Plus: Release 11.2.0.4.0 Production on Tue Feb 20 21:10:57 2018
 
Copyright (c) 1982, 2013, Oracle.  All rights reserved.
 
Connected to:

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@whf admin]$ sqlplus / as sysdba
 
SQL*Plus: Release 11.2.0.4.0 Production on Sat Dec 16 21:15:00 2017

Copyright (c) 1982, 2013, Oracle.  All rights reserved.

Connected to:

Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production

With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> col action_time for a32

SQL> col action for a10

SQL> col namespace for a10

SQL> col version for a10

SQL> col BUNDLE_SERIES for a10

SQL> col comments for a30

SQL> set lin 220

  SQL> select * from dba_registry_history;

 
            

ACTION_TIME ACTION NAMESPACE VERSION ID BUNDLE_SER COMMENTS
-------------------------------- ---------- ---------- ---------- ---------- ---------- ------------------------------
24-AUG-13 12.03.45.119862 PM APPLY SERVER 11.2.0.4 0 PSU Patchset 11.2.0.2.0
15-NOV-17 03.36.44.541274 PM APPLY SERVER 11.2.0.4 0 PSU Patchset 11.2.0.2.0
20-FEB-18 07.17.09.603021 PM APPLY SERVER 11.2.0.4 171017 PSU PSU 11.2.0.4.171017
20-FEB-18 08.48.39.212321 PM APPLY SERVER 11.2.0.4 180116 PSU PSU 11.2.0.4.180116
20-FEB-18 09.06.56.276322 PM ROLLBACK SERVER 11.2.0.4 180116 PSU PSU 11.2.0.4.180116
20-FEB-18 09.07.15.512282 PM APPLY SERVER 11.2.0.4 171017 PSU PSU 11.2.0.4.171017
22-FEB-18 01.09.06.899587 AM APPLY SERVER 11.2.0.4 180116 PSU PSU 11.2.0.4.180116
22-FEB-18 01.31.12.966611 AM APPLY SERVER 11.2.0.4 180116 PSU PSU 11.2.0.4.180116
22-FEB-18 01.41.03.225433 AM ROLLBACK SERVER 11.2.0.4 180116 PSU PSU 11.2.0.4.180116
22-FEB-18 01.41.23.227214 AM APPLY SERVER 11.2.0.4 171017 PSU PSU 11.2.0.4.171017

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM