PSU補丁安裝不全的問題

yangtingkun發表於2011-08-23

對於PSU補丁的安裝,不是簡單的opatch apply之後就完成了,還需要執行特定的sql

 

 

在客戶資料庫中檢查補丁情況,發現安裝PSU只完成了第一步:

fgms:/fgms/oracle/tru64_setupFile/OPatch
> ./opatch lsinventory
Invoking OPatch 10.2.0.5.0

Oracle Interim Patch Installer version 10.2.0.5.0
Copyright (c) 2010, Oracle Corporation. All rights reserved.


Oracle Home : /fgms/oracle10g/db
Central Inventory : /fgms/oracle/oraInventory
from : /var/opt/oracle/oraInst.loc
OPatch version : 10.2.0.5.0
OUI version : 10.2.0.4.0
OUI location : /fgms/oracle10g/db/oui
Log file location : /fgms/oracle10g/db/cfgtoollogs/opatch/opatch2011-06-02_15-41-01PM.log

Patch history file: /fgms/oracle10g/db/cfgtoollogs/opatch/opatch_history.txt

Lsinventory Output file location : /fgms/oracle10g/db/cfgtoollogs/opatch/lsinv/lsinventory2011-06-02_15-41-01PM.txt

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

Oracle Database 10g 10.2.0.2.0
Oracle Database 10g Release 2 Patch Set 3 10.2.0.4.0
There are 2 products installed in this Oracle Home.


Interim patches (2) :

Patch 9654991 : applied on Mon Sep 20 15:48:09 GMT+08:00 2010
Unique Patch ID: 12744499
Created on 7 Jul 2010, 15:37:03 hrs PST8PDT
Bugs fixed:
9714832, 9713537, 9678695, 9655017, 9173248, 8309642, 9678697, 9678690
9573054, 9654991
This patch overlays patches:
9352164
This patch needs patches:
9352164
as prerequisites

Patch 9352164 : applied on Mon Sep 20 15:34:43 GMT+08:00 2010
Unique Patch ID: 12389142
Created on 7 Apr 2010, 12:28:31 hrs PST8PDT
Bugs fixed:
9377578, 6418420, 7835247, 7207654, 7592346, 6724797, 7936993, 7331867
9093300, 7535152, 7552067, 5879114, 8866013, 5457450, 8344348, 7272297
7136866, 7196894, 6258480, 7013124, 6512622, 6355586, 7196532, 8568395
8309587, 7557226, 5399699, 6509115, 8568397, 8568398, 7127618, 5701695
6052226, 7424804, 6817593, 7553884, 6741425, 7513673, 6783812, 8437213
6452766, 6469211, 7527650, 8309592, 8479537, 5991038, 5686407, 6945157
7639602, 9119226, 6403091, 7589862, 7552082, 6711853, 8304589, 6052169
8199266, 6327692, 5756769, 9352191, 7460818, 6268409, 8232056, 6687381
6972843, 8230457, 6800507, 7027551, 6778714, 6200820, 6645719, 7393804
6775231, 3934160, 6683178, 6650256, 5085288, 7528105, 7329252, 6378112
6151380, 6844866, 4723109, 8544896, 5126719, 5890312, 5934363, 7036453
7610362, 8426816, 8433026, 7270434, 7172531, 6451626, 8247855, 5497338
6324944, 6874522, 7175513, 6960489, 7341598, 8576156, 6797677, 8342923
5895190, 6756739, 7150470, 7593835, 7356443, 7044551, 8227106, 4695511
7298688, 5747462, 8556340, 7197445, 5348308, 7937113, 8341623, 7569205
8409848, 6053134, 6163771, 6851669, 6181488, 6375150, 6825866, 7210921
7295780, 6345573, 7033630, 6954722, 6824129, 7523475, 7457766, 7309458
8324577, 6840740, 6804746, 7375611, 8268054, 6981690, 6512811, 6988017
7375613, 8344399, 7340448, 8362683, 7375617, 8251247, 5933656, 6005347
9145204, 6599920, 7238230, 6379441, 6452375, 6352003, 6833965, 7136489
6610218, 7612639, 6392076, 7225204, 9119194, 5476236, 9442328, 7609057
7609058, 6605106, 6374297, 6193945, 4693355, 8217795, 7039896, 7432514
7330909, 6952701, 7190270, 8287155, 7587008, 7207932, 6802650, 7189447
8481935, 4598439, 9442331, 6615740, 7155655, 6749617, 9442335, 7159505
5868257, 5727166, 7173005, 6917874, 9442339, 7013768, 7691766, 7385253
7291739, 7225720, 7257770, 7363767, 7244238, 6941717, 8267348, 7710551
8354686, 7247217, 8328954, 7299153, 8909984, 6681695, 8702276, 9119284
8217011, 7661251, 6265559, 6823287, 6991626, 6954829, 5259835, 6500033
5923486, 7432601, 7022234, 8534387, 5147386, 7697802, 6653934, 7375644
6490140, 7662491, 8331466, 5623467, 6070225, 6635214, 7396409, 6638558
7038750, 6714608, 6838714, 6870937, 7219752, 7263842, 7278117, 6882739
5404871, 8836667, 8373286, 7393292, 6678845, 6903051, 7936793, 6600051
7155248, 4966512, 7155249, 7197637, 8836308, 8568402, 8568404, 8568405
8431487, 5704108, 6343150, 7280764, 6923450, 7643632, 6145177, 8836671
8310931, 6640411, 8347704, 8836675, 7155250, 7155251, 8836677, 7155252
8836678, 7155253, 8292378, 7155254, 6219529, 7411865, 8227091, 8340379
7276960, 6145687, 7659217, 5863926, 7022905, 6852598, 7123643, 6596564
6413089, 6851438, 8836681, 8836683, 8836684, 8836686, 7579469, 7494333
7315642, 8340383, 6786022, 8340387, 6926448, 7600026, 7462072, 6679303
8815639, 7197583, 7172752, 7326645, 7008262, 9173244, 9173248, 7573151
8490879, 7477934, 6725634, 6733655, 6799205, 6980597, 7499353, 6084232
6014513, 7140204, 7254987, 8833280, 6647480, 6120004, 7693128, 6760697
6051177, 8247215, 6858062, 7189645, 6844739, 6768251, 7196863, 5630796
7378661, 7378735, 5970301, 6705822, 8290506, 6658484, 7599944, 8309623
7125408, 7257461, 6987790, 7568556, 6919819, 8886674, 5883691, 6955744
7801939, 6074620, 7149004, 6857917, 8283650, 6445948, 5929055, 6110752
7552042, 8210889, 8287504, 6506617, 7306915, 6271590, 5386204, 6976005
8330783, 7606362, 5377242, 7043989, 8309632, 7575925, 6870047, 8309637
5902053, 8309639, 7028176, 6827260, 7588384, 4726401, 6720712, 5910650
6752765, 6971433, 6024730, 8315482, 6628122, 8239142, 9352164, 5695562
4637902, 7345904, 8309642, 6994160, 8556586, 6404447, 8220734, 6919764
7597354, 7523787, 6029179, 5231155, 6455659

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

OPatch succeeded.

OPATCH工具資訊可以看到,資料庫的PSU已經打到了10.2.0.4.5,但是查詢DBA_REGISTRY_HISTORY檢視,卻沒有任何記錄。

SQL> select * from v$version;

BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Prod
PL/SQL Release 10.2.0.4.0 - Production
CORE 10.2.0.4.0 Production
TNS for Compaq Tru64 UNIX: Version 10.2.0.4.0 - Production
NLSRTL Version 10.2.0.4.0 - Production

SQL> select * from dba_registry_history;

no rows selected

這說明補丁的安裝過程只進行了前一半,而隨後的呼叫sql的步驟沒有執行,分別執行$ORACLE_HOME/psu/10.2.0.4.4/catpsu.sql$ORACLE_HOME/psu/10.2.0.4.5/catpsu.sql

> cd $ORACLE_HOME/psu
fgms:/fgms/oracle10g/db/psu
> ls
10.2.0.4.4 10.2.0.4.5
fgms:/fgms/oracle10g/db/psu
> cd 10.2.0.4.4
fgms:/fgms/oracle10g/db/psu/10.2.0.4.4
> sqlplus / as sysdba

SQL*Plus: Release 10.2.0.4.0 - Production on Thu Jun 2 16:13:55 2011

Copyright (c) 1982, 2007, Oracle. All Rights Reserved.


Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Production
With the Partitioning, Data Mining and Real Application Testing options

SQL> @catpsu.sql

PL/SQL procedure successfully completed.


PL/SQL procedure successfully completed.


PL/SQL procedure successfully completed.

.

.

.

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 '10.2.0.4',
9 4,
10 'PSU',
11 'PSU 10.2.0.4.4');

1 row created.

SQL> COMMIT;

Commit complete.

SQL> SPOOL off
SQL> SET echo off
Check the following log file for errors:
/fgms/oracle10g/db/cfgtoollogs/catbundle/catbundle_PSU_B1FGMS_APPLY_2011Jun02_16_14_08.log

整個TRACE檔案超過了4W行,由於篇幅,這裡只列出了開頭和結尾部分內容,可以看到,如果不執行catpsu.sql,事實上補丁的很多內容只是應用到了資料庫軟體,而並沒有真正應用到資料庫字典中。

SQL> col action_time format a30
SQL> col action format a10
SQL> col namespace format a10
SQL> col version format a10
SQL> col comments format a15
SQL> select * from dba_registry_history;

ACTION_TIME                    ACTION     NAMESPACE  VERSION        ID BUNDL COMMENTS
------------------------------ ---------- ---------- ---------- ------ ----- --------------
02-JUN-11 04.15.43.804266 PM   APPLY      SERVER     10.2.0.4        4 PSU   PSU 10.2.0.4.4

1 row selected.

這時PSU的安裝資訊已經寫入到資料字典中,下面執行10.2.0.4.5catpsu.sql

SQL> @../10.2.0.4.5/catopsu.sql

PL/SQL procedure successfully completed.

1 row selected.


PL/SQL procedure successfully completed.


PL/SQL procedure successfully completed.

1 row selected.

Generating apply and rollback scripts...
Check the following file for errors:
/fgms/oracle10g/db/cfgtoollogs/catbundle/catbundle_OPSU_B1FGMS_GENERATE_2011Jun02_16_21_39.log
Apply script. /fgms/oracle10g/db/rdbms/admin/catbundle_OPSU_B1FGMS_APPLY.sql
Rollback script. /fgms/oracle10g/db/rdbms/admin/catbundle_OPSU_B1FGMS_ROLLBACK.sql

PL/SQL procedure successfully completed.

Executing script. file...


1 row selected.

SQL> COLUMN spool_file NEW_VALUE spool_file NOPRINT
SQL> SELECT '/fgms/oracle10g/db/cfgtoollogs/catbundle/' || 'catbundle_OPSU_' || 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 OLAP Analytic Workspace because it is not installed or versions mismatch...
Skipping OLAP Analytic Workspace because it is not installed or versions mismatch...
SQL> PROMPT Skipping OLAP Catalog because it is not installed or versions mismatch...
Skipping OLAP Catalog because it is not installed or versions mismatch...
SQL> PROMPT Skipping Oracle OLAP API because it is not installed or versions mismatch...
Skipping Oracle OLAP API because it is not installed or versions mismatch...
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 '10.2.0.4',
9 1,
10 'OPSU',
11 'PSU 10.2.0.4.5');

1 row created.

SQL> COMMIT;

Commit complete.

SQL> SPOOL off
SQL> SET echo off
Check the following log file for errors:
/fgms/oracle10g/db/cfgtoollogs/catbundle/catbundle_OPSU_B1FGMS_APPLY_2011Jun02_16_21_41.log

10.2.0.4.5的所有記錄都列出來了,和10.2.0.4.4相比,這裡的修改至少相差了不止一個數量級,這也是10.2.0.4.4是基礎PSU,而10.2.0.4.5OPSU的原因。

最後檢查資料庫中PSU資訊:

SQL> select * from dba_registry_history;

ACTION_TIME                    ACTION     NAMESPACE  VERSION        ID BUNDL COMMENTS

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

02-JUN-11 04.15.43.804266 PM   APPLY      SERVER     10.2.0.4        4 PSU   PSU 10.2.0.4.4

02-JUN-11 04.21.41.080347 PM   APPLY      SERVER     10.2.0.4        1 OPSU  PSU 10.2.0.4.5

2 rows selected.

至此,PSU的安裝才算真正完成。

 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4227/viewspace-705660/,如需轉載,請註明出處,否則將追究法律責任。

相關文章