✅ Oracle Databaseのパッチ適用について
🔧 パッチとは?
Oracleでは、機能強化・セキュリティ向上・バグ修正のために、**定期的にパッチ(patch)**が提供されます。
🛠 パッチ適用の標準手順(10ステップ)
Oracleパッチ適用の流れは、どの環境でも基本的に共通です。以下の10ステップで構成されます:
✅ 1. パッチ適用の通知
-
セキュリティチームや監査チームが「新しいパッチが出た」と通知。
-
本番環境にパッチを適用するように依頼(チケット発行)。
✅ 2. パッチのダウンロード
-
Oracleの公式サポートサイト「My Oracle Support」から必要なパッチをダウンロード。
✅ 3. フルバックアップの取得
-
データベース全体とOracle Home(Oracleソフトウェア)ファイルのバックアップを作成。
-
トラブル時に復元できるよう準備。
✅ 4. 対象環境(ターゲット)の確認
-
単一インスタンス、RAC構成、スタンバイDB、クラウド環境などを確認・分類。
-
それぞれでパッチ方法が異なるため、対象を明確にしておく。
✅ 5. テスト環境での先行適用
-
絶対に本番環境にいきなり適用しない!
-
まずテスト環境でパッチを適用し、動作確認を行う。
✅ 6. テスト後の問題対応
-
テスト中に問題があった場合、My Oracle Support にサービスリクエスト(SR)を提出。
-
Oracleエンジニアと連携して解決。
✅ 7. アプリケーション動作の確認
-
パッチによってアプリの動作に影響が出ることがあるため、アプリの動作確認を実施。
-
QA(品質保証)部門がある場合は、テストDBでの確認を依頼。
✅ 8. パッチ手順書の作成
-
実際にパッチを適用した操作手順を詳細に記録し、本番適用用の手順書を準備。
✅ 9. メンテナンスウィンドウの調整
-
顧客や関係者と相談して、適用タイミング(メンテナンス時間)を調整。
✅ 10. 本番環境へのパッチ適用
-
問題がなければ、本番環境にパッチを適用。
💡補足ポイント
-
テスト環境での先行適用は、トラブル防止に非常に重要。
-
Oracleサポートを活用しながら、安全かつ確実な運用を。
-
アプリや自動化のテストまで考慮することが理想。
✅ Oracle Homeとパッチバージョンの確認
🎯 概要
このビデオでは、Oracleの現在のOracle Homeディレクトリとデータベースのバージョン、および適用済みパッチの確認方法を学びます。
🔧 Apacheユーティリティとは?
-
Oracleが提供するパッチ管理ツール(Apache utility)です。
-
Oracle Grid Infrastructure や Real Application Cluster(RAC)、単一インスタンスのOracle Homeに対して、分析・トラブルシューティング・パッチ適用を柔軟に実施可能。
-
Oracle Home ディレクトリ内に存在します。
🛠 主なコマンド
コマンド | 説明 |
---|---|
patch list patches | インストール済みパッチの一覧を表示 |
patch help | 使用できるオプション一覧を表示 |
patch version | Apacheユーティリティ自体のバージョンを表示 |
🧩 SQLパッチの確認
-
SQLパッチ(SQLスクリプトを含むパッチ)の適用状況を確認するには、次のビューを使用します:
DBA_REGISTRY_SQLPATCH
-
このビューには、各パッチの適用/ロールバック履歴が記録されています。
-
例:Patch ID
29517242
は、2021年8月16日にRoot Containerに対して適用済み。
🧪 PDB(Pluggable Database)での確認
-
PDBに切り替えた後、同じSQL文でそのPDBに対するパッチの状態を確認可能。
❗️無効なオブジェクト(Invalid Objects)の確認
-
パッチ適用前には、無効なオブジェクトを修正しておく必要があります。
-
次のSQLで確認:
-
本例では、CDBおよびPDBに無効なオブジェクトは存在しないため、パッチ処理を安全に進められる状態。
🎯 Oracleサポートサイトからのパッチ取得と手動インストール
Oracle製品のパッチ情報の唯一の正確な情報源は、**OracleサポートWebサイト(My Oracle Support / MOS)**です。
-
My Oracle Support アカウントを持っていない場合は、https://support.oracle.com にアクセスし、「Register」リンクから登録を行います。
-
MOSには多くの機能がありますが、今回の焦点は**「Patches & Updates」タブ**です。
🔍 パッチの検索
-
「Product or Family(製品名やカテゴリ)」で検索可能。
-
例:Oracle Database 19.0 の最新リリースアップデートは 19.12.0。
-
該当のパッチ名リンク(例:32904851)をクリックすると、ダウンロードページへ移動し、**パッチファイルとREADME(手順書)**を取得できます。
⚠ インストール時の注意点
-
パッチをインストールする際は、必ずREADMEファイルの指示に従うこと。
-
手動でパッチを適用する例を紹介しますが、パッチごとに手順が異なるため、毎回READMEの確認が必要です。
🔧 OPatchユーティリティのバージョン確認と更新
-
READMEには、必要なOPatchバージョンが記載されています。
-
例:パッチ32904851では、OPatch 12.2.0.1.25以上が必要。
-
現在の環境には、12.2.0.1.17しか入っていないため、アップデートが必要です。
-
⬇ パッチのダウンロード方法(No Name or Bug No タブを使用)
-
パッチ番号を「No Name / Bug No」タブに入力。
-
検索ボタンをクリック。
-
OSに適したバージョンを選択して、ZIPファイルとREADMEをダウンロード。
💻 ダウンロード後の準備
-
パッチファイルはサーバへコピーします。
-
WindowsからLinuxサーバなどへファイルを転送するには、コマンドプロンプトやSCP、WinSCPなどのツールを使用します。
ステップ | 内容 |
---|---|
1️⃣ ディレクトリ作成 | Oracle ユーザーのホームフォルダに soft ディレクトリを作成 |
2️⃣ ファイル移動 | ダウンロードしたパッチソフトを soft に移動 |
3️⃣ 権限設定 | Oracle ユーザーに対してフォルダ権限を付与 |
4️⃣ 現在のバージョン確認 | OPatch 12.2.0.1.17 がインストールされている |
5️⃣ 必要バージョン | パッチ適用には 12.2.0.1.25 以上が必要 |
6️⃣ バックアップ | 旧バージョンのOPatchを移動して退避(バックアップ) |
7️⃣ 新バージョンインストール | Oracle Home に ZIP ファイルをコピーし、直下に展開する |
ステップ | 内容 |
---|---|
1️⃣ ツール準備 | 前回でパッチツール(OPatch)を更新済み |
2️⃣ DBバックアップ | パッチ前に完全なDBバックアップを取得(必須) |
3️⃣ Oracle Home バックアップ | tar コマンドで Oracle Home をバックアップ(推奨) |
4️⃣ リスナー停止 | コールドバックアップのためにプロセス停止(任意) |
5️⃣ ディスク容量問題 | ラボ環境では容量不足のため Oracle Home のバックアップはスキップ |
6️⃣ 教訓 | Oracle Home にバックアップを置くのは避けるべき |
7️⃣ パッチ準備 | パッチファイルを unzip して準備完了 |
|
---|
前の記事(Oracle Databaseのバックアップとリカバリー)