OceanBaseデータベースはPLシステムパッケージをサポートしており、データベース機能を拡張し、SQL機能へのPLアクセスを提供します。
アプリケーション作成時や独自のストアドプロシージャ作成時に、提供されているシステムパッケージを利用できます。このマニュアルでは、OceanBaseデータベースサーバーの現在のバージョンでサポートされているシステムパッケージについて説明します。
システムパッケージとは、データベース内に格納された関連するプログラムオブジェクトのカプセル化された集合です。プログラムオブジェクトには、ストアドプロシージャ、関数、変数、定数、カーソル、例外が含まれます。
対応する権限が付与されている場合、以下のステートメントを実行して、現在サポートされているシステムパッケージ及び関連情報を照会します:
SELECT * FROM DBA_SOURCE;
以下のステートメントを実行して、特定のシステムパッケージ及び関連情報を照会します:
SELECT * FROM DBA_SOURCE WHERE NAME ='pl_package_name';
PLシステムパッケージの構成
PLシステムパッケージは、パッケージヘッダー(SPECIFICATION)とパッケージボディ(BODY)の2つの部分で構成されています。パッケージヘッダーはアプリケーションのインターフェースであり、アプリケーションから利用可能な型、変数、定数、例外、カーソル、サブルーチンに関する公開宣言を含みます。パッケージボディには実装の詳細とアプリケーションから隠蔽されたプライベート宣言が含まれ、パッケージヘッダーの実装をサポートするためにカーソルとサブルーチンを完全に定義しています。
説明
OceanBaseデータベースの現在のバージョンでは、ユーザーによるシステムパッケージの変更はサポートされていません。
PLシステムパッケージの使用
データベース作成時に、OceanBaseデータベースが提供するシステムパッケージが自動的にインストールされます。
PLシステムパッケージの概要
次の表は、OceanBaseデータベースの現在のバージョンでサポートされているPLシステムパッケージとその簡単な説明を示しています。
システムパッケージ |
説明 |
|---|---|
| DBMS_APPLICATION_INFO | アプリケーション名をデータベースに登録し、監査やパフォーマンス追跡を行うために使用します。 |
| DBMS_AUDIT_MGMT | 監査ログを管理するために使用します。 |
| DBMS_CRYPTO | 保存されたデータの暗号化と復号化を行うために使用します。実行中のPLプログラムと併用可能で、暗号化およびハッシュアルゴリズムをサポートしています。 |
| DBMS_DEBUG | PLプログラムのデバッグに使用します。 |
| DBMS_DESCRIBE | PLオブジェクトに関する情報を取得します。 |
| DBMS_LOB | ロングオブジェクト(LOB)データ型BLOBおよびCLOB(読み書き)のための汎用プログラムを提供します。 |
| DBMS_LOCK | Lock Managementサービスのリクエストを通じて、ロックの変換と解放を行います。 |
| DBMS_METADATA | 呼び出し元が辞書から完全なデータベースオブジェクト定義(メタデータ)を容易に取得できるようにします。 |
| DBMS_MVIEW | マテリアライズドビューおよび潜在的マテリアライズドビューの機能を理解できるようにします。これには、クエリのリライト利用可能性も含まれます。また、同じリフレッシュグループに属さないマテリアライズドビューのリフレッシュやログのクリアも可能です。 |
| DBMS_MVIEW_STAT | マテリアライズドビューのリフレッシュ操作に関する統計情報の収集と保持を管理するためのインターフェースを呼び出し元が使用できるようにします。 |
| DBMS_MONITOR | PL/SQLを使用して、エンドツーエンドのトレース動作を制御できるようにします。 |
| DBMS_OUTPUT | 情報の入出力に使用されます。 |
| DBMS_PLAN_CACHE | Plan Cacheから指定されたSQLを削除します。 |
| DBMS_PLSQL_CODE_COVERAGE | PL/SQLコードのランタイムカバレッジを収集するために使用されます。 |
| DBMS_RANDOM | 組み込みの乱数ジェネレーターを提供します。 |
| DBMS_RESOURCE_MANAGER | リソース使用計画、リソース使用グループ、リソース計画指示を管理するために使用されます。 |
| DBMS_SCHEDULER | スケジュールタスクを管理するために使用されます。 |
| DBMS_SCHEMA | Schemaのマルチバージョン履歴データ(Schema History)の回収とRoot Service自己検査(Root Inspection)の手動トリガー機能を提供するために使用されます。 |
| DBMS_SESSION | ストアドプロシージャを介してSQL ALTER SESSIONステートメントおよびその他のセッション情報にアクセスするために提供されます。 |
| DBMS_SQL | 動的SQLを使用してデータベースにアクセスします。 |
| DBMS_STATS | オプティマイザーがデータベースオブジェクトに対して収集した統計情報を表示および変更します。 |
| DBMS_UDR | リライトバインディング機能を提供し、SQLの実行開始前にマッチングルールに基づいてデータベースが受信したSQL文をリライトできます。 |
| DBMS_UTILITY | 各種ユーティリティサブルーチンを提供します。 |
| DBMS_WORKLOAD_REPOSITORY | 自動ワークロードリポジトリ(AWR)を管理します。 |
| DBMS_XA | XA/Openインターフェースを含み、アプリケーションがPL内からXAインターフェースを呼び出せるようにします。 |
| DBMS_XMLGEN | SQLクエリの結果を標準XML形式に変換し、結果をCLOB形式で返します。 |
| DBMS_XPLAN | ロジックプラン管理に関連する機能を提供し、ロジックプラン最適化追跡などを含みます。 |
| DBMS_DDL | PLオブジェクト定義文字列を暗号化するために使用されます。 |
| ODCIConst | PLに適用される定数を定義します。 |
| UTL_ENCODE | RAWデータを標準形式にエンコードし、ホスト間でデータを転送できるようにする機能です。 |
| UTL_FILE | PLプログラムがオペレーティングシステムのテキストファイルを読み書きできるようにし、標準オペレーティングシステムストリームファイルI/Oの制限されたバージョンを提供します。 |
| UTL_I18N | PLで記述されたアプリケーションに一連のサービス(グローバル化サービス)を提供します。 |
| UTL_RECOMP | データベース全体のオブジェクトまたは特定のスキーマ(schema)のオブジェクトを再コンパイルします。 |
| UTL_RAW | RAW データ型を処理するためのSQL関数を提供します。 |
| ANYDATA TYPE | 指定された型のインスタンスと、その型の記述を含みます。 |
| XMLType | XMLデータを処理するために使用されます。 |
| DBMS_EXTERNAL_TABLE | 外部テーブルを管理および操作するためのプログラマブルインターフェースを提供するために使用されます。 |
| DBMS_XMLDOM | XMLデータをDOM方式で読み取り専用に走査および操作するために使用されます。 |
| DBMS_XMLPARSER | CLOBからXMLを解析し、DOM方式と組み合わせて業務用XMLの解析要件を満たすために使用されます。 |