データベース -> ORACLE -> パッチ

Oracle にPSUを適用する

概要

手順(目次)


  1. パッチの入手
    (1) PSUパッチの入手
        My Oracle Support から PSUパッチをダウンロードする。
    
    (2) OPatchの入手
        パッチ適用ユーティリティ OPatch をダウンロードする。

  2.衝突チェック
    適用済みパッチが PSU に含まれるかを確認する。

    適用済みパッチが PSU に含まれる場合は、
    PSU適用時にロールバック後、再適用してくれるので、
    事前にロールバックをする必要はない。
    但し、例外がある場合もあるので、
    衝突チェックのレポートで確認する。

  3.パッチ適用

  4.パッチ適用後のSQL実行
  
  5.パッチ適用後のバージョン確認

詳細

パッチの入手

(1) PSUパッチの入手


 @ http://support.oracle.com にログインする。
    アカウント登録が必要。(無償)

 A パッチと更新版をクリック
    
B 最新のパッチセットをクリック
C 新規ウィンドウの "Oracle Database" をクリック
D カーソルを合わせると表示される以下を選択 ・プラットフォーム Solaris Sparc(64-bit) ・インストールバージョン 11.1.0.7.0
E Advanced Search で条件を指定して検索 ・Product or Product Family に Oracle Database Family を選択 ・Release に Oracle 11.1.0.7.0 を選択 ・Platform or Language に Oracle Solaris on SPARC (64-bin) を選択 ・Description に PSU を入力 上記を入力して "Go" をクリックする。
F 検索結果 Patch : 10248531 をクリックしてダウンロードする。

(2) OPatchの入手


 @ Patch 10248531 - 11.1.7.6 Patch Set Update Readme を開く
    README 10248531

 A 2.1 OPatch Utility の 6880880 リンクをクリックする。
   

衝突(Conflict)チェック


衝突チェックを実行した結果、
適用済みのパッチ PatchID:7436152 は10248531に含まれるため以下のメッセージが出力されている。
適用済みパッチ 7436152 は パッチセットに含まれる為 適用時ロールバックされる。
結果、衝突チェックに問題はなくパッチを適用できる。


$ cd /var/tmp/patch
$ opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir ./10248531
Invoking OPatch 11.1.0.1.4

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

PREREQ session

Oracle Home       : /opt/oracle/product/11.1.0
Central Inventory : /opt/oracle/oraInventory
   from           : /opt/oracle/oraInventory/oraInst.loc
OPatch version    : 11.1.0.1.4
OUI version       : 11.1.0.7.0
OUI location      : /opt/oracle/product/11.1.0/oui
Log file location : /opt/oracle/product/11.1.0/cfgtoollogs/opatch/opatch2011-02-11_xxxlog

Patch history file: /opt/oracle/product/11.1.0/cfgtoollogs/opatch/opatch_history.txt

Invoking prereq "checkconflictagainstohwithdetail"

ZOP-47: The patch(es) has supersets with other patches installed 
                                               in the Oracle Home (or) among themselves.
  *1 既にインストール済みのパッチと衝突する
Prereq "checkConflictAgainstOHWithDetail" failed.

Summary of Conflict Analysis:

Patches that can be applied now without any conflicts are :
10248531
  *2 適用するパッチ10248531には衝突がない

Following patches are not required, as they are subset 
                  of the patches in Oracle Home or subset of the patches in the given list :
7436152
  *3 適用済みであるため適用する必要のないパッチ

Following patches will be rolled back from Oracle Home on application 
                                              of the patches in the given list :
7436152
  *4 パッチ適用時ロールバックされるパッチ

Conflicts/Supersets for each patch are:

Patch : 10248531

        Bug Superset of 7436152
        Super set bugs are:
        7436152

OPatch succeeded.
$

パッチの適用


$ cd /var/tmp/patch/10248531
$ opatch apply
Invoking OPatch 11.1.0.1.4

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


Oracle Home       : /opt/oracle/product/11.1.0
Central Inventory : /opt/oracle/oraInventory
   from           : /opt/oracle/oraInventory/oraInst.loc
OPatch version    : 11.1.0.1.4
OUI version       : 11.1.0.7.0
OUI location      : /opt/oracle/product/11.1.0/oui
Log file location : /opt/oracle/product/11.1.0/cfgtoollogs/opatch/opatch2011-04-27xxxx.log

Patch history file: /opt/oracle/product/11.1.0/cfgtoollogs/opatch/opatch_history.txt

ApplySession applying interim patch '10248531' to OH '/opt/oracle/product/11.1.0'
Interim patch 10248531 is a superset of the patch(es) [  7436152 ] in the Oracle Home
OPatch will rollback the subset patches and apply the given patch.

Running prerequisite checks...
Patch 10248531: Optional component(s) missing : [ oracle.oraolap, 11.1.0.7.0 ]
 *1 上記のコンポーネントはインストールされていないのでメッセージは無視

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:
 *2 メールを受け取る必要はないのでそのままEnter
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
  *3 セキュリティ情報をメールを受け取る必要はないので Y 
OPatch detected non-cluster Oracle Home from the inventory and will patch the local system only.


Please shutdown Oracle instances running out of this ORACLE_HOME on the local system.
(Oracle Home = '/opt/oracle/product/11.1.0')


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

 Y を入力してパッチを実行する
User Responded with: Y
Backing up files and inventory (not for auto-rollback) for the Oracle Home
Backing up files affected by the patch '10248531' for restore. This might take a while...
Backing up files affected by the patch '7436152' for restore. This might take a while...
ApplySession rolling back interim patch '7436152' from OH '/opt/oracle/product/11.1.0'

Patching component oracle.rdbms, 11.1.0.7.0...
Updating archive file "/opt/oracle/product/11.1.0/lib/libserver11.a"  
                                                    with "lib/libserver11.a/kdu.o"
RollbackSession removing interim patch '7662491' from inventory


OPatch back to application of the patch '10248531' after auto-rollback.

Backing up files affected by the patch '10248531' for rollback. This might take a while...
Execution of 'sh /var/tmp/patch/10248531/custom/scripts/pre -apply 10248531 ':


Return Code = 0

Patching component oracle.network.listener, 11.1.0.7.0...


 ※ この間のメッセージは省略


The local system has been patched and can be restarted.

--------------------------------------------------------------------------------
The following warnings have occurred during OPatch execution:
1) OUI-67620:Interim patch 10248531 is a superset 
                             of the patch(es) [  7436152 ] in the Oracle Home
--------------------------------------------------------------------------------
OPatch Session completed with warnings.

OPatch completed with warnings.
mtcdvdb01:oracle $


パッチ適用後の確認


  適用済みパッチの一覧
  $ opatch lsinventory -detail 

  適用済みPSUパッチの一覧  * 一部情報を削除しています
  $ opatch lsinventory -bugs_fixed | grep PSU
  8833297  10248531  12:53:01  DATABASE PSU 11.1.0.7.1 (INCLUDES CPUOCT2009)
  8860821  10248531  12:53:01  PSU; BUG 7613481 REMOVED SGA VARIABLE 'KRDSB_CKPT_
  8914979  10248531  12:53:01  PSU - BUG FOR LRG 4109668
  8974548  10248531  12:53:01  BACKOUT BUG 7438445 FROM PSU 11.1.0.7.1 RELEASE LA
  9209238  10248531  12:53:01  DATABASE PSU 11.1.0.7.2 (INCLUDES CPUJAN2010)
  9352179  10248531  12:53:01  DATABASE PSU 11.1.0.7.3 (INCLUDES CPUAPR2010)
  9654987  10248531  12:53:01  DATABASE PSU 11.1.0.7.4 (INCLUDES CPUJUL2010)
  9768907  10248531  12:53:01  11G PSU1 TURNED OFF RECYCLE BIN SCOPE=BOTH VIA
                                1 SECONDS ON 11.1.0.7.3PSU
  9952228  10248531  12:53:01  DATABASE PSU 11.1.0.7.5 (INCLUDES CPUOCT2010)
  10248531 10248531  12:53:01  DATABASE PSU 11.1.0.7.6 (INCLUDES CPUJAN2011)
  $

パッチの適用(オンライン処理)

catbundle.sql


 SQLを実行する。
 複数インスタンスある場合は各インスタンスで実行する。


$ cd $ORACLE_HOME/rdbms/admin
$ sqlplus /nolog
SQL> conn /as sysdba
SQL> @catbundle.sql psu apply

PL/SQLプロシージャが正常に完了しました。

    ※ 省略

パッケージ本体が作成されました。
コミットが完了しました。

SQL> SPOOL off
SQL> SET echo off
Check the following log file for errors:
/opt/oracle/product/11.1.0/cfgtoollogs/catbundle/catbundle_xxxx.log
SQL>

viewの再コンパイル


詳細は、READMEの以下の項番号を参照


(1) view再コンパイルの必要性をチェック
$ cd $ORACLE_HOME/psu/view_recompile $ sqlplus /nolog SQL> conn /as sysdba SQL> @recompile_precheck_jan2008cpu.sql Running precheck.sql... Number of views to be recompiled :2420 ----------------------------------------------------------------------- Number of objects to be recompiled :4906 Please follow the README.txt instructions for running viewrecomp.sql *1 veiw の再コンパイルが必要 PL/SQLプロシージャが正常に完了しました。 SQL> (2) view再コンパイル実行
$ cd $ORACLE_HOME/psu/view_recompile $ sqlplus /nolog SQL> conn /as sysdba SQL> shutdown immediate データベースがクローズされました。 データベースがディスマウントされました。 ORACLEインスタンスがシャットダウンされました。 SQL> SQL> STARTUP UPGRADE ORACLEインスタンスが起動しました。 Total System Global Area 4377305088 bytes Fixed Size 2109592 bytes Variable Size 889196392 bytes Database Buffers 3439329280 bytes Redo Buffers 46669824 bytes データベースがマウントされました。 データベースがオープンされました。 SQL> SQL> @view_recompile_jan2008cpu.sql No. of Invalid Objects is :46 Please refer to README.html to for instructions on validating these objects *1 Invalid Object が存在するので utlrp.sqlを後で実行する PL/SQLプロシージャが正常に完了しました。 Logfile for the current viewrecomp.sql session is : vcomp_TCDB_274月 2011_17_22_55.log 現在はスプールしていません。 SQL> SQL> shutdown immediate データベースがクローズされました。 データベースがディスマウントされました。 ORACLEインスタンスがシャットダウンされました。 SQL> STARTUP ORACLEインスタンスが起動しました。 Total System Global Area 4377305088 bytes Fixed Size 2109592 bytes Variable Size 889196392 bytes Database Buffers 3439329280 bytes Redo Buffers 46669824 bytes データベースがマウントされました。 データベースがオープンされました。 SQL> (3) utlrp.sqlの実行
$ cd $ORACLE_HOME/rdbms/admin $ sqlplus /nolog SQL> @utlrp.sql SQL>

パッチの適用後のバージョン確認


パッチ適用後のバージョン表示について

 SQL> select * from v$version;
 
 BANNER
 ----------------------------------------------------------------------------
 Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - 64bit Production
 PL/SQL Release 11.1.0.7.0 - Production
 CORE    11.1.0.7.0   Production
 TNS for Solaris: Version 11.1.0.7.0 - Production

 SQL>

パッチ適用後も 11.1.0.7.6 とは表示されない。
これは仕様のようである。

  ※ 参照ドキュメント
  My Oracle Support から
  「ナレッジ」
   →「日本語ナレッジベース」
   →「Oracle KROWN 拡張検索」
   →「文書番号 146437」で検索
   
   [概要]
     Patch Set Updates(PSU) を適用しても、バージョンの5桁目は更新されません。
     例えば、10.2.0.4.0 の環境に、PSU 10.2.0.4.5 を適用した場合でも、
     10.2.0.4.0 のままとなります。opatch lsinventory や sqlplus、
     exp/imp 等のユーティリティ、v$ 等の出力結果は、以下の通り、
     10.2.0.4.0 のままとなります。

  ※ 適用パッチ履歴を確認する方法

  以下の結果により PSU の適用及び View のリコンパイルの履歴が表示される。

  SQL>SELECT * FROM REGISTRY$HISTORY;
        ※ 同じ DBA_REGISTRY_HISTORY;

  ACTION_TIME        ACTION  NAMESPACE   VERSION   ID      BUNDLE_SERIES COMMENTS
  ------------------ ------- ---------   -------- -------- ------------- -------------------
  YY-MM-DD HH:MI:SS  APPLY   SERVER      11.1.0.7   6      PSU           PSU 11.1.0.7.6
  YY-MM-DD HH:MI:SS  CPU                           6452863               view recompilation

  SQL>

  ※ その他

  $ORACLE_HOME/.patch_storage 配下のディレクトリにも適用したパッチ関連の
  ファイルが格納されている。




先頭へ

      Document-Folder          一覧
HP-UX
HULFT
JAVA
JP1
JavaScript
Linux
MAC
PHP
Perl
Python
Ruby
SOA
Solaris
Unix全般
Windows
XML
エクセル
スタイルシート
セキュリティー
データベース
ネットワーク
パソコン
ブラウザ
プログラム構文
仮想化
          RSS-Folder
ニュース
   アットマーク・アイティ(@IT)
   シンクイット(ThinkIT)
   インターネットコム
   インターネットウォッチ
   日経IT-Pro
   日経パソコン
   CNET Japan
   ZD-NetJapan
   MYCOM
   RBB-Today
ベンダー
   日本IBM
   日本HP
   サンマイクロシステムズ
   NEC
   富士通
   日立
ソフトウェア
   マイクロソフト
   トレンドマイクロ
   オラクル
   サイボウズ
   Mozilla
   野村総合研究所
   (その他ソフトウェア企業)
更新履歴 一覧
 07/08 PERF
プログラム構文
 07/07 PERF
プログラム構文
 06/25 オブジェクトプログラミング2
Perl>サンプル
 07/12 クローン作成
仮想化>vCenter
 07/12 vyatta設定
ネットワーク>vyatta
 07/12 vyattaインストール
ネットワーク>vyatta
 07/12 リポジトリサーバ
Linux>サーバ構築
 07/05 VMwareのインストール
仮想化>VMware
 07/05 PXEブート
仮想化>KVM
 07/01 DHCPでのPXEブート
仮想化>KVM
 06/27 qcow2仮想DISK作成
仮想化>KVM
 06/13 NWの設定
仮想化>VMwareEsxi
 06/13 IPアドレスの変更
仮想化>VMwareEsxi
 06/12 自動ssh
Unix全般>シェル>Bash
 06/12 diffプログラミング
Python
Google