OceanBaseデータベースはPLシステムパッケージをサポートしており、データベース機能を拡張し、SQL機能へのPLアクセスを提供します。
アプリケーションを作成する際や独自のストアドプロシージャを作成する際に、提供されているシステムパッケージを使用できます。このマニュアルでは、OceanBaseデータベースサーバーの現行バージョンがサポートするシステムパッケージについて説明します。
システムパッケージとは、データベース内に格納される関連するプログラムオブジェクトのカプセル化された集合です。プログラムオブジェクトには、ストアドプロシージャ、関数、変数、定数、カーソル、例外などが含まれます。
対応する権限がある場合、以下のステートメントを実行して、現在サポートされているシステムパッケージとその関連情報を照会します:
SELECT * FROM DBA_SOURCE;
以下のステートメントを実行して、特定のシステムパッケージとその関連情報を照会します:
SELECT * FROM DBA_SOURCE WHERE NAME ='pl_package_name';
PLシステムパッケージの構成
PLシステムパッケージには2つの部分があります:パッケージヘッダー(SPECIFICATION)とパッケージ本体(BODY)。パッケージヘッダーはアプリケーションのインターフェースであり、アプリケーションから可視可能な共通宣言を含み、使用可能な型、変数、定数、例外、カーソル、サブルーチンを宣言しています。パッケージ本体には実装の詳細とアプリケーションから隠されたプライベート宣言が含まれており、パッケージヘッダーの実装をサポートするためにカーソルとサブルーチンを完全に定義しています。
説明
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_RANDOM | 内蔵の乱数生成器を提供します。 |
| DBMS_RESOURCE_MANAGER | リソース使用計画、リソース使用グループ、およびリソース計画命令を維持するために使用されます。 |
| DBMS_SCHEDULER | スケジュールタスクを管理するために使用されます。 |
| 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プログラムがOSのテキストファイルを読み書きできるようにし、標準的なOSストリームファイルI/Oの制限されたバージョンを提供します。 |
| UTL_I18N | PLで記述されたアプリケーションに対して、一連のサービス(グローバリゼーションサービス)を提供します。 |
| UTL_RECOMP | データベース全体または特定のスキーマのオブジェクトを再コンパイルします。 |
| UTL_RAW | RAWデータ型を処理するためのSQL関数を提供します。 |
| ANYDATA TYPE | 指定された型のインスタンスと、その型に関する説明を含みます。 |
| XMLType | XMLデータを処理するために使用されます。 |
| DBMS_EXTERNAL_TABLE | 外部テーブルを管理および操作するためのプログラマティックインターフェースを提供します。 |