読み方 : データパッチ
Datapatch
Datapatchとは?
Oracle Databaseにパッチを適用した後、データベース内部の管理データ(データディクショナリ)やSQLオブジェクトを更新するためのコマンドラインツール。セキュリティの脆弱性修正や不具合の解消を目的としたパッチ適用作業において、OPatchと組み合わせて利用される。

Oracle Databaseへのパッチ適用は二段階で構成される。前半はOPatchによるOracleホームのバイナリ更新であり、後半はデータベース内部への反映である。システムパッケージの更新やビューの変更、内部テーブルの修正など、データベース構造を伴う変更はファイルの書き換えだけでは反映されないため、SQLスクリプトを実行してデータベース内部の定義を更新しなければならない。Datapatchはこの後半の処理を自動化する。
実行時にDatapatchは適用済みパッチと現在のデータベースの状態を照合し、未適用のSQLスクリプトを検出して依存関係を解決しながら順に実行する。この処理は「パッチアクション」と呼ばれ、適用結果はDBA_REGISTRY_SQLPATCHビューから確認できる。Oracle Database 12c以降で利用可能であり、四半期ごとに提供されるDatabase Release Updateや累積型のBundle Patchの適用時にも実行される。
ロールバック処理にも対応しており、パッチを取り除く際もDatapatchがデータベース内部を以前の状態に差し戻す。また、マルチテナント環境ではコンテナデータベースとプラガブルデータベースに対してそれぞれ個別に、あるいは一括して更新処理を実行できる。Datapatch導入以前は管理者が手動でSQLスクリプトを順に実行する必要があり、実行漏れや順番の誤りといった人為的ミスのリスクがあったが、Datapatchによってこの手順は一つのコマンドで完結するようになった。