TimesTenは、データベース機能を拡張したり、SQL機能にアクセスするPL/SQLを利用するためのパブリックPL/SQLパッケージ(下のリストを参照)を提供しています。TimesTenは、これらのパッケージをユーザーが使用できるよう自動的にインストールします。PL/SQL言語自体の一部であるパッケージまたはOracle Database内部でのみ使用されるパッケージは示しておらず、この章では説明していません。
この章は、各パッケージを構成しているサブプログラムをリストとして表示し、簡単に説明しています。これらのPL/SQLパッケージの詳細は、『Oracle TimesTen In-Memory Database PL/SQLパッケージ・リファレンス』を参照してください。
DBMS_LOB
パッケージは、一時LOBを含む、BLOB、CLOB、およびNCLOBを操作するためのサブプログラムを提供します。
注意:
|
表8-1に、サポートされているDBMS_LOB
のサブプログラムを示します。
表8-1 DBMS_LOBのサブプログラム
サブプログラム | 説明 |
---|---|
|
ソースLOBの内容を宛先LOBに追加します。 |
|
オープンされているLOBをクローズします。 |
|
2つのLOB全体、または2つのLOBの一部を比較します。 |
|
ソース |
|
ソース |
|
ソースLOBの内容を宛先LOBにコピーします。 |
|
一時データ領域に一時LOBを作成します。Oracle Databaseがサポートするいずれの期間も許可されますが( |
|
すべてまたは一部のLOBを削除します。 |
|
一時データ領域の一時LOBを解放します。 |
|
指定したLOBのLOB型の記憶域制限を戻します。 |
|
これは、TimesTenでは、互換性のために値32KBを戻すだけです。パフォーマンスをチューニングする際にこの値を使用しないでください。 |
|
BLOBはバイト単位で、CLOBまたはNCLOBは文字単位で、LOB値の長さを戻します。 |
|
LOBにあるパターンのn番目の一致のマッチング位置を戻します。 |
|
LOBが入力ロケータを使用して、すでにオープンされたかどうかをチェックします。 |
|
ロケータが一時LOBを指しているかどうかを確認します。 |
|
指定のモード(読取り/書込みまたは読取り専用)でLOB(永続または一時)を開きます。 注意: LOBをオープンすることは、ファイルを開くことと概念的に似ていますが、技術的には同じではありません。LOBをオープンすることは、必要なリソースに関するヒントのようなものです。 |
|
指定されたオフセットからLOBのデータを読み取ります。 |
|
指定されたオフセットからLOB値の一部を戻します。 |
|
指定された長さまでLOB値を切り捨てます。 |
|
指定されたオフセットからLOBにデータを書き込みます。 |
|
LOBの終わり以降にバッファを書き込みます。 |
DBMS_LOCK
パッケージでは、ロック管理サービスへのインタフェースを提供します。TimesTenの現在のリリースでは、スリープ機能のみがサポートされています。
表8-2に、サポートされているDBMS_LOCK
のサブプログラムを示します。
表8-2 DBMS_LOCKのサブプログラム
サブプログラム | 説明 |
---|---|
|
このプロシージャは、指定した期間、セッションを一時停止します。時間を秒単位で指定します。サポートされている最小の増分は、100分の1秒です。次に例を示します。 DBMS_LOCK.SLEEP(1.95); 注意:
|
DBMS_OUTPUT
パッケージを使用すると、ストアド・プロシージャおよびパッケージからメッセージを送信できます。このパッケージは、PL/SQLのデバッグ情報を表示する場合に役立ちます。
表8-3に、DBMS_OUTPUT
のサブプログラムを示します。
DBMS_PREPROCESSOR
パッケージでは、条件付きコンパイル・ディレクティブの処理後にPL/SQLユニットのソース・テキストを出力または取得するためのインタフェースを提供します。
表8-4に、DBMS_PREPROCESSOR
のサブプログラムを示します。
DBMS_RANDOM
パッケージは、組込み式の乱数ジェネレータを提供します。
表8-5に、DBMS_RANDOM
のサブプログラムを示します。
表8-5 DBMS_RANDOMのサブプログラム
サブプログラム | 説明 |
---|---|
|
パッケージをシード値で初期化します(非推奨)。 |
|
正規分布の乱数を戻します。 |
|
乱数を生成します(非推奨)。 |
|
シードをリセットします。 |
|
ランダム文字列を取得します。 |
|
パッケージを終了します(非推奨)。 |
|
2つのオーバーロード・バージョンがあります。1つ目のバージョンでは、0以上1未満で、小数点以下が38桁(精度38桁)の乱数を取得します。2つ目のバージョンでは、指定された下限および上限内の乱数を取得します。 |
DBMS_SQL
パッケージは、動的SQLを使用して次のいずれかを実行する場合のインタフェースを提供します。
データ操作言語(DML)およびデータ定義言語(DDL)文を実行します。
無名PL/SQLブロックを実行します。
PL/SQLストアド・プロシージャおよびファンクションをコールします。
このパッケージは、事前定義されたデータ型、およびUROWID
、タイムゾーン機能、ADT、データベースレベルのコレクション、エディションのオーバーロードなどの、TimesTenでサポートされていないデータ型によるオーバーロードをサポートしていません。TimesTen PL/SQLでサポートされるデータ型の詳細は、「データ型の理解」を参照してください。
表8-6に、DBMS_SQL
のサブプログラムを示します。
表8-6 DBMS_SQLのサブプログラム
サブプログラム | 説明 |
---|---|
|
指定された値を指定されたコレクションにバインドします。 |
|
指定された値を指定された変数にバインドします。 |
|
指定されたカーソルをクローズしてメモリーを解放します。 |
|
カーソル内の指定された位置のカーソル要素の値を戻します。 |
|
重要: TimesTenでは |
|
指定されたカーソルから選択するコレクションを定義します。 |
|
指定されたカーソルから選択する列を定義します。 |
|
指定したカーソルから選択する 重要: TimesTenでは |
|
|
|
指定された列を示します。 |
|
指定された列を示します。 |
|
指定されたカーソルを実行します。 |
|
指定されたカーソルを実行して行をフェッチします。 |
|
指定されたカーソルから行をフェッチします。 |
|
指定されたカーソルがオープンしている場合は、 |
|
エラーが発生したSQL文テキスト内のバイト・オフセットを戻します。 |
|
フェッチされた行の累積数を戻します。 |
|
|
|
文のSQL機能コードを戻します。 |
|
新しいカーソルのカーソルID番号を戻します。 |
|
指定された文を解析します。 |
|
|
|
|
|
指定されたカーソルの名前付き変数の値を戻します。 |
DBMS_UTILITY
パッケージには、様々なユーティリティ・サブプログラムが含まれています。
TimesTenでサポートされていない機能に関連するサブプログラムは、サポートされていません(ここにも記載されていません)。
表8-7に、DBMS_UTILITY
のサブプログラムを示します。
表8-7 DBMS_UTILITYのサブプログラム
サブプログラム | 説明 |
---|---|
|
指定された文字列を正規化します。 |
|
名前のカンマ区切りリストを名前の連想配列(索引付き表)に変換します。 |
指定したデータベーススキーマ内にあるすべてのプロシージャ、ファンクション、パッケージおよびビューをコンパイルします。 |
|
|
データベースに関するバージョン情報を戻します。 TimesTenではシステム・パラメータ |
|
現在のコール・スタックをフォーマットします。 |
|
現在のエラーのポイントからエラーが捕捉された例外ハンドラまでのバックトレースをフォーマットします。 |
|
現在のエラー・スタックをフォーマットします。 |
|
現在のCPUタイムを100分の1秒単位で戻します。 |
|
渡されたオブジェクトへの依存を表示します。 |
|
データベース・プラットフォームのエンディアンネスを戻します。 |
|
指定された文字列のハッシュ値を計算します。 |
|
MD5アルゴリズムを使用して、指定された文字列のハッシュ値を計算します。 |
|
現在の時間を100分の1秒単位で戻します。 |
データベース・オブジェクトを無効にし、オプションでオブジェクトのPL/SQLコンパイラのパラメータ設定を変更します。 |
|
|
|
|
次のフォームの指定された名前を解決します。 [[a.]b.]c[@dblink]
|
|
パーサーをコールして、次のフォームの指定された名前を解析します。 "a [.b [.c ]][@dblink]" 二重引用符を削除するか、または引用符がない場合は、大文字に変換します。コメントを無視し、セマンティック分析は実行しません。不明な値は
|
|
名前の連想配列(索引付き表)を名前のカンマ区切りリストに変換します。 |
|
所有者、名前およびネームスペースまたはオブジェクトIDで示されたオブジェクトを有効にします。 |
TT_DB_VERSION
パッケージには、現在のTimesTenリリースを示すブール定数が含まれています。
表8-8に、TT_DB_VERSION
の定数を示します。
TT_DB_VERSION
およびUTL_IDENT
パッケージは、主に条件付きコンパイルに使用されます。
表8-8 TT_DB_VERSIONの定数
名前 | 説明 |
---|---|
|
このパッケージが付属しているTimesTenのバージョンが11.2.1以前の場合、ブールは |
|
このパッケージが付属しているTimesTenのバージョンが11.2.2以前の場合、ブールは |
TT_DB_VERSION
およびUTL_IDENT
を使用する例については、『Oracle TimesTen In-Memory Database PL/SQLパッケージ・リファレンス』の例に関する説明を参照してください。
TT_STATS
パッケージには、TimesTenシステム・メトリックのスナップショットを取得レベルに応じて収集および比較する機能が備えられています。各スナップショットは、TimesTenで基本的なメトリックまたは一般的なメトリックとみなされるもの、あるいは使用可能なすべてのメトリックで構成されます。
生成されるレポートは、Oracle Databaseのパフォーマンス分析ツールに例えた場合、Oracle Automatic Workload Repository (AWR)レポートに類似しています。
表8-9 TT_STATSサブプログラム
サブプログラム | 説明 |
---|---|
|
TimesTenメトリックのスナップショットを取得します。また、ファンクションはスナップショットIDも戻します。 |
|
特定の範囲のスナップショットIDまたはタイムスタンプに従ってスナップショットを削除します。 |
|
特定の2つのスナップショットのデータに基づいて、レポートをHTML形式で生成します。 |
|
特定の2つのスナップショットのデータに基づいて、レポートをプレーン・テキスト形式で生成します。 |
|
特定の |
|
特定の |
|
データベースに現在格納されているすべてのスナップショットのスナップショットIDおよびタイムスタンプを表示します。 |
UTL_FILE
パッケージを使用すると、PL/SQLプログラムでオペレーティング・システムのテキスト・ファイルの読取りと書込みが可能になります。
現在のリリースでは、このパッケージは事前に定義された一時ディレクトリのアクセスにのみ制限されます。詳細は、『Oracle TimesTen In-Memory Databaseリリース・ノート』を参照してください。
注意: デフォルトでは、ユーザーにはUTL_FILE に対する実行権限はありません。TimesTenでUTL_FILE を使用するには、次の例に示すとおり、ADMIN ユーザーまたはインスタンス管理者が、明示的にEXECUTE を実行して権限を付与する必要があります。
GRANT EXECUTE ON SYS.UTL_FILE TO scott; |
表8-10に、UTL_FILE
のサブプログラムを示します。
表8-10 UTL_FILEのサブプログラム
サブプログラム | 説明 |
---|---|
|
ファイルをクローズします。 |
|
すべてのファイル・ハンドルをクローズします。 |
|
ファイルの連続する部分を新しく作成されたファイルにコピーします。 |
|
保留中のすべての出力を物理的にファイルに書き込みます。 |
|
ディスク・ファイルの属性を読み取って戻します。 |
|
ファイル内の現在の相対オフセット位置をバイト単位で戻します。 |
|
入力または出力に使用するファイルをオープンします。 |
|
入力または出力に使用するファイルをUnicodeでオープンします。 |
|
ユーザーに十分な権限がある場合、ディスク・ファイルを削除します。 |
|
既存のファイルの名前を新しい名前に変更します(UNIXの |
|
ファイル・ポインタを指定されたバイト数だけファイル内で前後に調整します。 |
|
オープン・ファイルからテキストを読み取ります。 |
|
オープン・ファイルからテキストをUnicodeで読み取ります。 |
|
|
|
ファイル・ハンドルがオープン・ファイルを参照しているかどうかを判断します。 |
|
1つ以上のOS固有の行終了記号をファイルに書き込みます。 |
|
文字列をファイルに書き込みます。 |
|
ファイルに1行書き込み、OS固有の行終了記号を1つ追加します。 |
|
Unicode行をファイルに書き込みます。 |
|
Unicode文字列をファイルに書き込みます。 |
|
|
|
これは |
|
これは |
UTL_IDENT
パッケージは、PL/SQLを実行しているのがTimesTen、Oracle Databaseクライアント、Oracle DatabaseサーバーまたはOracle Formsであるかを示します。これらにはそれぞれ、定数に適切な設定を持つUTL_IDENT
のバージョンがあります。
表8-11に、TimesTenのUTL_IDENT
設定を示します。
UTL_IDENT
パッケージは、次のように、主に条件付きコンパイルに使用されます。
$if utl_ident.is_oracle_server $then [...Run code supported for Oracle Database...] $elsif utl_ident.is_timesten $then [...code supported for TimesTen Database...] $end
表8-11 UTL_IDENTの定数
名前 | 説明 |
---|---|
|
|
|
|
|
|
|
|
TT_DB_VERSION
およびUTL_IDENT
を使用する例については、『Oracle TimesTen In-Memory Database PL/SQLパッケージ・リファレンス』の例に関する説明を参照してください。
UTL_RAW
パッケージは、RAW
データ・タイプを操作するためのSQLファンクションを提供します。
表8-12に、UTL_RAW
のサブプログラムを示します。
表8-12 UTL_RAWのサブプログラム
サブプログラム | 説明 |
---|---|
|
2つの |
|
1つの |
|
2つの |
|
2つの |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2つの |
|
最大12個の |
|
|
|
|
|
|
|
ターゲット |
|
|
|
指定された開始位置から指定されたバイト数だけ、 |
|
指定された変換 |
|
指定された文字変換 |
|
指定されたバイト・コードで開始および終了する連続する1バイト・エンコーディングを含む |
UTL_RECOMP
パッケージを使用すると、無効なPL/SQLモジュールを再コンパイルできます。このパッケージは、特に、通常ではすべてのPL/SQLオブジェクトが無効になるメジャー・バージョン・アップグレードの後に役立ちます。
表8-13に、UTL_RECOMP
のサブプログラムを示します。
重要: このパッケージを使用するには、インスタンス管理者である必要があり、SYS.UTL_RECOMP を指定する必要があります。 |
表8-13 UTL_RECOMPのサブプログラム
名前 | 説明 |
---|---|
|
指定されたスキーマ内の無効なオブジェクトまたはデータベース内のすべての無効なオブジェクトをパラレルに再コンパイルします。 注意: TimesTenでは |
|
指定されたスキーマ内の無効なオブジェクト、またはデータベース内のすべての無効なオブジェクトをシリアルに再コンパイルします。 |