ORACLEのパッチについて
ORACLEのパッチは大まかに以下の2種類があります。
・PSR(Patch Set Release)
・その他パッチ(個別パッチやCPU(Critical Patch Update)、PSU(Patch Set Update)等)
パッチの主な役割
・PSR(Patch Set Release)PSRは複数バグの累積パッチでWindowsでいうサービスパックに近い位置づけになっています。 11.1までのPSRは新機能の追加等は基本的にしないという位置づけでしたが、11.2以降PSRの役割が変更されバグ修正だけではなく新機能の追加を含む可能性があるものに変更されました。 PSR適用による影響は広域にわたり、PSR適用前後で実行計画が変わることも珍しくないためアプリケーションの本番稼働後に適用する場合は基本的に一通りの稼働確認を行うことをお勧めします。 PSRを適用することでoracleの4桁目のバージョン(9.2.0.8、10.1.0.5、10.2.0.5、11.1.0.7、11.2.0.3等)が上がり、 累積パッチであるため例えばPSR10.2.0.5を適用するとPSR10.2.0.2~10.2.0.4までの全修正も適用された状態になります。
・CPU(Critical Patch Update)
CPUは四半期毎に出荷されるセキュリティ関連の重大な修正を複数含むパッチです。 システムの脆弱性の修正だけではなくインスタンスダウンやハング等重大な障害につながるバグの修正も含まれています。
・PSU(Patch Set Update)
PSUは10.2以降で提供されるようになった複数バグの累積パッチです。 PSUにはCPUの修正も含まれておりPSRよりアプリケーションへの影響を及ぼす可能性が低い小規模なPSR的な位置づけになっています。 PSUはPSR毎に提供されておりPSRのバージョンが適合するパッチのみ適用可能でPSR10.2.0.5の環境にはPSR10.2.0.4用のPSUを適用することはできません。
・個別パッチ
上記以外のパッチは個別パッチと呼ばれる場合が多くほとんどはある特定の問題の修正のみを含むパッチとなっています。
・Windowsパッチ・バンドル
Windows環境ではPSR以外の修正パッチはパッチ・バンドルという名前で複数の修正を含む累積パッチとして提供されています。 Windows以外のプラットフォームではパッチがリンク前のオブジェクトファイル(*.o)形式で提供されておりパッチ適用時にリリンクして共有ライブラリやバイナリファイル等を作成していますが、 Windows環境ではORACLEの動作要件にコンパイラやリンカが含まれないためオブジェクトファイルではなく共有ライブラリ(dll)やバイナリファイル(exe)形式で提供せざるをえません。 共有ライブラリやバイナリファイルで提供すると修正が競合する可能性が非常に高くなることから個別の問題に対して都度修正パッチを出すのではなくパッチ・バンドルとして定期的に複数問題の修正パッチをリリースする方針としているものと予想されます。
入手方法
上記いずれもサポート契約を結んだ上で利用できるサポートサイト(OiscやMy Oracle Support(旧Metalink)等)からダウンロード可能です。 また、インストールメディアパックにもPSR等が同梱されている場合があります。
適用方法
パッチによって適用方法が異なります。
・PSRの場合インストール時と同様にOUI(Oracle Universal Installer)を使用してGUIベースでの適用が可能です。 なお、データベースが作成済みの場合はPSR適用後、catPatch.sql、catupgrade.sql等のスクリプトを実行する必要があり、 その他にも各バージョン毎に追加で実行する手順がある場合があるため必ず付属のリリースノートの手順を確認します。
・その他パッチの場合
9.2以降のバージョンではOpatchというツールを用いて適用を行います。 Opatchは10g以降であればインストール時に$ORACLE_HOME/OPatch配下にインストールされていますが、 9.2の場合や最新版のopatchを使用したい場合はoracleのサポートサイトからダウンロードする必要があります。 (Opatchが提供されたのは9.2以降でこれ以前の9.0や8.1等のバージョンではパッチ適用の仕組みが異なります) なお、opatchはjavaで実装されたツールのためインストール作業等は不要であり、ダウンロードしたopatchをzip解凍するだけで使用することが可能です。
パッチの適用状況の確認
・PSRPSRを適用した場合、バージョンの4桁目の番号がアップするため4桁目のバージョンからどのPSRを適用しているのか確認できます。 例えば以下では「SQL*Plus: Release 10.2.0.4.0」の表示からクライアント(sqlplus)のバージョン、「Oracle Database 10g Enterprise Edition Release 10.2.0.4.0」の表示より接続先DBのバージョン共に10.2.0.4であることが確認できます。
C:\>sqlplus test/test SQL*Plus: Release 10.2.0.4.0 - Production on 火 3月 2 17:00:58 2010 Copyright (c) 1982, 2007, Oracle. All Rights Reserved. Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Production With the Partitioning, OLAP, Data Mining and Real Application Testing options に接続されました。・その他パッチ
その他パッチの適用状況はOpatch lsinventoryの結果より確認を行います。
以下の例ではPSR10.2.0.4が適用されておりその他パッチ(仮パッチ)は8307237というパッチが一つだけ適用されていることがわかります。 (8307237は複数のバグ修正を含むパッチであり、その下の複数の数字が修正されたバグ番号の一覧)
C:\>set ORACLE_HOME=E:\oracle\product\10.2.0\db_1
C:\>E:\oracle\product\10.2.0\db_1\OPatch\opatch lsinventory
Invoking OPatch 10.2.0.4.2
Oracle Interim Patch Installer version 10.2.0.4.2
Copyright (c) 2007, Oracle Corporation. All rights reserved.
Oracleホーム : E:\oracle\product\10.2.0\db_1
中央インベントリ : C:\Program Files\Oracle\Inventory
元 : n/a
OPatchのバージョン : 10.2.0.4.2
OUIのバージョン : 10.2.0.4.0
OUIの場所 : E:\oracle\product\10.2.0\db_1\oui
ログ・ファイルの場所 : E:\oracle\product\10.2.0\db_1\cfgtoollogs\opatch\opatch2009-04-25_17-40-16午
後.log
Lsinventory Output file location : E:\oracle\product\10.2.0\db_1\cfgtoollogs\opatch\lsinv\lsinvent
ory2009-04-25_17-40-16午後.txt
--------------------------------------------------------------------------------
インストールされた最上位製品(2):
Oracle Database 10g 10.2.0.1.0
Oracle Database 10g Release 2 Patch Set 3 10.2.0.4.0
このOracleホームには2の製品がインストールされています。
仮パッチ(1) :
Patch 8307237 : applied on Sat Apr 25 17:39:38 JST 2009
Created on 26 March 2009, 00:36:22 hrs PST8PDT
Bugs fixed:
8307237, 8208765, 8208643, 7319691, 7505535, 7489862, 7688543, 5945060
7238163, 4459936, 7172531, 5147386, 6500033, 6908967, 7459192, 7694979
4736319, 8210889, 8223481, 5893331, 7704811, 6143420, 7193068, 6367360
8214576, 7162704, 6869712, 6999955, 5705196, 6642692, 8362683, 6638558
7340448, 8258839, 5399610, 6370967, 7585970, 7378401, 7043173, 7159451
6122696, 5697354, 6981690, 5256703, 8216864, 7697802, 7523475, 6838714
7439465, 5730603, 8225197, 7592450, 5099019, 6319761, 7664560, 7509689
7229351, 7278117, 7654407, 7690331, 7828479, 7003718, 6491175, 6737765
6991626, 7634610, 7519687, 6896371, 5686407, 6379441, 6313035, 5849687
6894671, 7170213, 8201796, 6656309, 6155146, 7516867, 7296258, 7715044
7486155, 7450460, 6113018, 7447345, 7305703, 7513673, 6640411, 7558379
7597059, 7372337, 7484102, 6730125, 6936368, 7648406, 6047490, 6270137
6452035, 4902697, 7677780, 6661393, 7501180, 7592168, 7007924, 7295298
7361423, 7453155, 6282093, 5701723, 7318276, 6652767, 7458976, 7241059
7385253, 6759910, 7375077, 7272297, 7008262, 6870047, 6896554, 7263061
7395972, 6939835, 7515898, 6454634, 7314091, 7439689, 6811031, 5229627
5586604, 7196532, 7573151, 7254367, 7606362, 6083292, 6994490, 5718815
7207932, 6013981, 7592319, 7415038, 6144426, 6145687, 7509964, 6629890
7444320, 7579079, 6350579, 7584866, 7522608, 5648287, 5709135, 6430500
6833602, 7211965, 7236148, 7257160, 7325597, 7429070, 7430474, 7439957
7454131, 7522909, 7515828, 7462072, 6904068, 7145872, 7190477, 7498506
6519198, 6770417, 6395755, 6782437, 6452766, 6775231, 7189447, 7330258
7144872, 7395472, 6216149, 7477691, 5951091, 7448543, 7522473, 6967923
6742924, 4695511, 7413928, 6054929, 7129643, 5879865, 7430745, 6923450
6685261, 6415531, 6359490, 7196894, 6924458, 7151667, 6627593, 6766884
6766956, 6791019, 7494876, 7336032, 6368000, 7037203, 6955040, 5945647
5573896, 7246117, 7433792, 6670740, 7388606, 7118478, 6768289, 7002207
5883691, 7251909, 7366749, 7280289, 7273832, 7155655, 7138405, 6845871
7331569, 7188610, 7480785, 7359366, 6874522, 5343559, 7356443, 7144891
6375150, 5059447, 7038750, 6877038, 6193945, 7309458, 6854919, 5490816
6605106, 6472286, 6606749, 6067825, 6932206, 6455412, 6674196, 7362653
6746196, 6774830, 6451626, 7364935, 4561087, 4440589, 7315642, 7411865
5348308, 6865378, 7331929, 7191744, 7342082, 6506818, 5944239, 7271619
6619922, 5926711, 5996457, 7326738, 7386320, 5131180, 7046751, 6672737
7237571, 7269450, 6782276, 7113299, 7190270, 4235212, 7348412, 5712781
7357454, 6978876, 7287289, 7162648, 6635214, 6844739, 7046187, 6962622
6797677, 7154415, 7142215, 7300599, 6399597, 7013768, 6875111, 6959964
6133008, 7123643, 6122097, 6678845, 7210296, 7216535, 6594005, 6527074
6262792, 7340474, 7313129, 6504899, 5095023, 6134368, 6725634, 7210921
6870937, 7014646, 7017637, 6805009, 6876196, 6972343, 6897966, 6809093
6736159, 7244238, 7127618, 7195088, 6607486, 6822672, 6687129, 6655657
6355282, 6489332, 6789923, 6454468, 7005671, 7140644, 7039080, 6695247
6689334, 6936964, 6445329, 7253058, 6862248, 6082292, 7004914, 5690152
6374297, 6653934, 5208177, 6119017, 6679303, 6600051, 7228971, 6988848
7149751, 6221403, 6440977, 6972291, 7188932, 6344497, 6724838, 7218676
7036589, 4033868, 5883585, 6944036, 6327692, 6163785, 6913090, 7027551
6130317, 5868257, 5190885, 6798910, 6934892, 7022905, 6795880, 6935367
6667800, 5386874, 6925163, 6076414, 6432837, 6956212, 6714608, 6336234
6471770, 6771400, 6511850, 7003151, 6952800, 6656630, 6898054, 5688060
7154241, 7150609, 6660648, 6954829, 6207468, 6455659, 5970301, 6530171
6607505, 5213488, 5944121, 5843814, 6163771, 7117709, 6896701, 6833159
6759032, 5900004, 4393920, 6645719, 5251842, 7019835, 6826661, 6883418
7011807, 6241222, 6956461, 6193802, 7006942, 6986658, 5410059, 6626018
5704108, 5890312, 5934363, 6760697, 6121357, 6110752, 6725855, 5923486
6705635, 5234947, 5902962, 6143047, 5895190, 6917874, 6151380, 6456530
5368296, 5386204, 6369463, 6768114, 6200820, 6972843, 5880921, 6506617
6994160, 6345197, 6506816, 6670579, 6688740, 5961436, 6823287, 6604020
6372848, 6414616, 6195891, 6822995, 6595426, 5747462, 6120483, 6981215
6082832, 5623467, 4551675, 6329318, 6324944, 6376928, 6783426, 6051177
6024730, 5935935, 6778404, 4169479, 5756769, 5714944, 6670551, 6607676
6084232, 6815733
--------------------------------------------------------------------------------
OPatch succeeded.
アンインストール方法
・PSR
戻す適用前の状態に戻す為にはPSR適用により更新された全ファイルを元に戻す必要がありますのでパッチ適用前の全ファイルのバックアップがなければ基本的にはPSRを適用前の状態に戻すことはできません。
・その他パッチ
Opatch rollback -id <パッチ番号> というコマンドでパッチを適用前に戻すことができます。
マニュアル
OUIやOpatchについては以下のマニュアルが提供されています。
・10.2マニュアル一覧・Oracle Universal InstallerおよびOpatchユーザーズ・ガイド10gリリース2(10.2) for Microsoft Windows and UNIX Systems

折りたたみ
展開