ヘッダーをスキップ
Oracle® TimesTen In-Memory Database PL/SQLパッケージ・リファレンス
11gリリース2 (11.2.2)
B66725-05
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

1 TimesTenが提供するPL/SQLパッケージおよびタイプの概要

TimesTenのPL/SQLを有効にすると、一連のPL/SQLパッケージがインストールされます。これらのパッケージによって、データベース機能が拡張され、SQL機能へのPL/SQLアクセスが可能になります。現在TimesTenにインストールされているパッケージ一覧を表示するには、SYSが所有するオブジェクトについて、システム・ビューのALL_PROCEDURESを使用します。この例は次に示します(出力では内部パッケージは省略しています)。他のALL_*システム・ビューの場合と同様、すべてのユーザーには、ALL_PROCEDURESシステム・ビューに対するSELECT権限があります。

Command> select distinct object_name from all_procedures where owner='SYS';
< DBMS_LOB >
< DBMS_LOCK >
< DBMS_OUTPUT >
< DBMS_PREPROCESSOR >
< DBMS_RANDOM >
< DBMS_SQL >
...
< DBMS_UTILITY >
...
< TT_STATS >
< UTL_FILE >
< UTL_RAW >
< UTL_RECOMP >
< UTL_IDENT >
< TT_DB_VERSION >
19 rows found.

このマニュアルでは、これらのパブリック・パッケージについて説明します(「TimesTenが提供するPL/SQLパッケージの概要」で簡単に説明しています)。PL/SQL言語自体の一部であるパッケージまたはOracle Database内部でのみ使用されるパッケージは示しておらず、このマニュアルでは説明していません。

この章の残りでは、次の項目について説明します。

PL/SQLおよびPL/SQLパッケージの詳細は、次を参照してください。


パッケージの概要

パッケージとは、関連するプログラム・オブジェクトをカプセル化した集合体で、データベースにまとめて格納されています。プログラム・オブジェクトには、プロシージャ、ファンクション、変数、定数、カーソルおよび例外があります。

このセクションの内容は次のとおりです。


パッケージ・コンポーネント

PL/SQLパッケージには、仕様部と本体の2つの部分がありますが、本体は不要な場合もあります。仕様部はアプリケーションへのインタフェースです。使用可能なタイプ、変数、定数、例外、カーソルおよびサブプログラムを宣言します。本体はカーソルとサブプログラムを完全に定義し、仕様部を完全に実装します。

パッケージは、サブプログラムとは異なり、コール、パラメータ化またはネスト化することはできません。ただし、パッケージおよびサブプログラムのフォーマットは類似しています。

CREATE PACKAGE name AS  -- specification (visible part)
   -- public type and item declarations
   -- subprogram specifications
END [name];

CREATE PACKAGE BODY name AS  -- body (hidden part)
   -- private type and item declarations
   -- subprogram bodies
[BEGIN
   -- initialization statements]
END [name];

仕様部には、アプリケーションで参照できるパブリック宣言が含まれています。本体には、実装の詳細およびプライベート宣言が含まれていますが、アプリケーションからは参照できません。仕様部を変更せずに、パッケージ本体をデバッグ、拡張または置換できます。パッケージ本体の実装の詳細はアプリケーションから隠されているため、コール元プログラムを再コンパイルせずに、パッケージ本体を変更できます。


TimesTenが提供するパッケージの使用

TimesTenが提供するパッケージは、データベースが作成されるときに自動的にインストールされます。

すべてのユーザーには、UTL_RECOMPおよびUTL_FILE(それぞれの章を参照)を除く、このマニュアルで説明するパッケージに対するEXECUTE権限があります。

PL/SQLファンクションで定義されたビューを検索するには、そのビューのSELECT権限が必要です。ビューを検索するには個々のEXECUTE権限は必要ありません。パッケージに関する特別要件については、それぞれの章の記述を参照してください。


注意:

TimesTenでは、インスタンス管理者として実行することは、Oracle DatabaseユーザーSYSDBAとして実行することに相当します。ADMINユーザーとして実行することは、Oracle DatabaseユーザーDBAとして実行することに相当します。


パッケージ内容の参照

パッケージ仕様部で宣言されたタイプ、アイテムおよびサブプログラムを参照するには、ドット表記法を使用します。次に例を示します。

package_name.type_name
package_name.item_name
package_name.subprogram_name

パッケージの例の実行

このマニュアルのパッケージの例の出力を確認するには、ttIsqlで最初に次のコマンドを実行します。

Command> set serveroutput on

TimesTenが提供するPL/SQLパッケージの概要

表1-1は、一般利用のためにTimesTenで提供されるPL/SQLパッケージを示しています。これらのパッケージは、パッケージ所有者ではなく起動ユーザーとして実行されます。


注意:

  • これらのパッケージが提供するプロシージャとファンクションおよびその外部インタフェースはOracle Databaseに付属するもので、変更される可能性があります。

  • 提供されたパッケージを変更すると、内部エラーおよびデータベースのセキュリティ違反が発生する可能性があります。提供されたパッケージを変更しないでください。


表1-1 TimesTenが提供するPL/SQLパッケージの概要

パッケージ名 説明

DBMS_LOB


バイナリ・ラージ・オブジェクトおよびキャラクタ・ラージ・オブジェクト(BLOB、CLOBおよびNCLOB)で動作するサブプログラムを提供します。

DBMS_LOCK


ロック管理サービスへのインタフェースを提供します。TimesTenでは、指定した期間セッションを一時停止するSLEEPプロシージャのみがサポートされます。

DBMS_OUTPUT


ストアド・プロシージャおよびパッケージからメッセージを送信できます。

DBMS_PREPROCESSOR


後処理された形式でPL/SQLユニットのソース・テキストの出力または取出しを行うためのインタフェースを提供します。

DBMS_RANDOM


組込み式の乱数ジェネレータを提供します。

DBMS_SQL


動的SQLを使用してデータベースへのアクセスを可能にします。

DBMS_UTILITY


様々なユーティリティ・ルーチンを提供します。

TT_DB_VERSION


TimesTenのメジャーおよびマイナー・バージョン番号を示します。

TT_STATS


データベース・メトリックのスナップショットを収集し、スナップショット間の比較に基づくレポートを生成します。

UTL_FILE


PL/SQLプログラムで、オペレーティング・システムのテキスト・ファイルの読込みおよび書込みを可能にし、標準オペレーティング・システムのストリーム・ファイルI/Oの制限付きバージョンを提供します。

UTL_IDENT


PL/SQLを実行しているのがデータベースなのかクライアントなのか(TimesTenとOracle Database、サーバーとクライアントなど)を示します。(PL/SQLを実行する各データベースまたはクライアントには、このパッケージのコピーがあります。)

UTL_RAW


RAWデータ・タイプを操作するためのSQLファンクションを提供します。

UTL_RECOMP


無効なPL/SQLモジュールを再コンパイルします。



注意:

  • PLS_INTEGERデータ・タイプとBINARY_INTEGERデータ・タイプは同じです。このドキュメントでは、リファレンス情報でデータ・タイプ(表タイプ、レコード・タイプ、サブプログラム・パラメータ、サブプログラム戻り値など)を示す場合にBINARY_INTEGERを使用しますが、説明および例ではいずれも使用される場合があります。

  • INTEGERデータ・タイプとNUMBER(38)データ・タイプも同じです。このドキュメントでは、全体をとおしてINTEGERを使用します。