160 DBMS_STORAGE_MAP
DBMS_STORAGE_MAP
パッケージを使用すると、Oracleバックグラウンド・プロセスのFMONと通信して、マッピング・ビューを移入するマッピング操作を起動できます。FMONは、オペレーティング・システムやストレージ・システムのベンダーが供給するマッピング・ライブラリと通信します。
この章のトピックは、次のとおりです:
160.1 DBMS_STORAGE_MAPの概要
次に、DBMS_STORAGE_MAP
APIを理解する上で役に立つ用語と解説を示します。
-
マッピング・ライブラリ
マッピング・ライブラリは、I/O処理スタック要素のコンポーネントのマッピングに役立ちます。I/O処理コンポーネントの例には、ファイル、論理ボリュームおよびストレージ・アレイI/Oターゲットなどがあります。マッピング・ライブラリは、
filemap.ora
で識別されます。 -
マッピング・ファイル
マッピング・ファイルは、ファイルを記述するマッピング構造です。ファイル・サイズ、ファイルを構成するエクステント数、ファイル・タイプなどの一連の属性を提供します。
-
マッピング要素とマッピング副要素
マッピング要素は、I/Oスタック内の記憶域コンポーネントを示す抽象的なマッピング構造です。要素の例には、その構造がマッピングの基本要素である、ミラー化、ストライプ化、パーティション、RAID5、連結要素およびディスクなどがあります。マッピング副要素は、I/Oマッピング・スタック内の1つの要素と次の要素との間のリンクを示します。
-
マッピング・ファイル・エクステント
マッピング・ファイル・エクステントは、1つの要素に常駐する連続的なブロックの集合を示します。これには、デバイス・オフセット、エクステント・サイズ、ファイル・オフセット、タイプ(データまたはパリティ)およびエクステントが常駐する要素の名前が含まれます。RAWデバイスまたはRAWボリュームの場合、ファイルは1つのファイル・エクステント・コンポーネントのみで構成されます。マッピング・ファイル・エクステントは、Oracleエクステントとは異なります。
参照:
-
詳細は、『Oracle Database管理者ガイド』を参照してください。
-
V$MAP_FILE
、V$MAP_ELEMENT
、V$MAP_SUBELEMENT
、V$MAP_FILE_EXTENT
などのV$MAP
ビューについては、『Oracle Databaseリファレンス』を参照してください。
-
160.2 DBMS_STORAGE_MAPの操作上のノート
構成IDがサポートされている場合は、情報のマッピングがすでに存在するときにMAP_ELEMENT
、MAP_FILE
およびMAP_ALL
ファンクションを起動すると、マッピングがリフレッシュされます。構成情報IDがサポートされていない場合は、これらのファンクションの再起動によって、マッピングが再作成されます。
参照:
構成ID、変更される要素またはファイルの属性については、『Oracle Database管理者ガイド』を参照してください。
160.3 DBMS_STORAGE_MAPサブプログラムの要約
この表は、DBMS_STORAGE_MAP
サブプログラムを示し、簡単に説明しています。
表160-1 DBMS_STORAGE_MAPパッケージのサブプログラム
サブプログラム | 説明 |
---|---|
インスタンスの共有メモリー内にあるマッピング情報をすべて削除します。 |
|
|
|
|
|
インスタンスの共有メモリー内にあるマッピング情報をロックします。 |
|
すべてのタイプのOracleファイルに関する完全なマッピング情報を作成します(アーカイブ・ログを除く)。これには、すべての有向非巡回グラフ(DAG)要素が含まれます。 |
|
|
|
|
|
オブジェクト名、所有者およびタイプで識別されるOracleオブジェクトのマッピング情報を作成します。 |
|
データ・ディクショナリからインスタンスの共有メモリーに、完全なマッピング情報をロードします。 |
|
データ・ディクショナリへの完全なマッピングの再生成に必要な情報を保存します。 |
|
インスタンスの共有メモリー内にあるマッピング情報のロックを解除します。 |
160.3.1 DROP_ALLファンクション
このファンクションは、インスタンスの共有メモリー内にあるマッピング情報をすべて削除します。
構文
DBMS_STORAGE_MAP.DROP_ALL( dictionary_update IN BOOLEAN DEFAULT TRUE);
パラメータ
表160-2 DROP_ALLファンクションのパラメータ
パラメータ | 説明 |
---|---|
|
|
160.3.2 DROP_ELEMENTファンクション
このファンクションは、elemname
によって定義された要素のマッピング情報を削除します。
構文
DBMS_STORAGE_MAP.DROP_ELEMENT( elemname IN VARCHAR2, cascade IN BOOLEAN, dictionary_update IN BOOLEAN DEFAULT TRUE);
パラメータ
表160-3 DROP_ELEMENTファンクションのパラメータ
パラメータ | 説明 |
---|---|
|
マッピング情報を削除する要素。 |
|
|
|
|
160.3.3 DROP_FILEファンクション
このファンクションは、filename
によって定義されたマッピング情報を削除します。
構文
DBMS_STORAGE_MAP.DROP_FILE( filename IN VARCHAR2, cascade IN BOOLEAN, dictionary_update IN BOOLEAN DEFAULT TRUE);
パラメータ
表160-4 DROP_FILEファンクションのパラメータ
パラメータ | 説明 |
---|---|
|
マッピング情報を削除するファイル。 |
|
|
|
|
160.3.4 LOCK_MAPプロシージャ
このプロシージャは、インスタンスの共有メモリー内にあるマッピング情報をロックします。
V$MAP表の一貫したスナップショットが必要な場合に便利です。マッピング情報をロックしないと、V$MAP_ELEMENT
やV$MAP_SUBELEMENT
などの一貫性が失われる可能性があります。
構文
DBMS_STORAGE_MAP.LOCK_MAP;
160.3.5 MAP_ALLファンクション
このファンクションは、すべてのタイプのOracleファイルに関する完全なマッピング情報を作成し(アーカイブ・ログを除く)、これには、すべての有向非巡回グラフ(DAG)要素が含まれます。これは、すべてのマッピング・ライブラリを明示的に同期するため、最新のマッピング情報を取得します。
構文
DBMS_STORAGE_MAP.MAP_ALL( max_num_fileext IN NUMBER DEFAULT 100, dictionary_update IN BOOLEAN DEFAULT TRUE);
パラメータ
表160-5 MAP_ALLファンクションのパラメータ
パラメータ | 説明 |
---|---|
|
マップするファイル・エクステントの最大数を定義します。この指定によって、ファイル・エクステントのマッピング時に使用するメモリー量が制限されます。デフォルト値は、 |
|
|
使用上のノート
MAP_ALL
は、コールド・スタートの際に明示的にコールする必要があります。
160.3.6 MAP_ELEMENTファンクション
このファンクションは、filename
で識別される要素のマッピング情報を作成します。明示的な同期化を必要とするライブラリが、マップする要素またはそのI/Oスタック内のいずれか1つの要素を所有している場合(cascade
がTRUE
の場合)は、最新のマッピング情報を取得できない可能性があります。
構文
DBMS_STORAGE_MAP.MAP_ELEMENT( elemname IN VARCHAR2, cascade IN BOOLEAN, dictionary_update IN BOOLEAN DEFAULT TRUE);
パラメータ
表160-6 MAP_ELEMENTファンクションのパラメータ
パラメータ | 説明 |
---|---|
|
マッピング情報を作成する要素。 |
|
|
|
|
160.3.7 MAP_FILEファンクション
このファンクションは、filename
で識別されるファイルのマッピング情報を作成します。このファンクションは、ある特定のファイルのマッピングが変更された場合に使用します。Oracle Databaseサーバーでは完全なマッピングを再作成する必要はありません。
構文
DBMS_STORAGE_MAP.MAP_FILE( filename IN VARCHAR2, filetype IN VARCHAR2, cascade IN BOOLEAN, max_num_fileextent IN NUMBER DEFAULT 100, dictionary_update IN BOOLEAN DEFAULT TRUE);
パラメータ
表160-7 MAP_FILEファンクションのパラメータ
パラメータ | 説明 |
---|---|
|
マッピング情報を作成するファイル。 |
|
マップするファイルのタイプ。" |
|
記憶域の再構成が発生する場合にのみ、
|
|
マップするファイル・エクステントの最大数を定義します。この指定によって、ファイル・エクステントのマッピング時に使用するメモリー量が制限されます。デフォルト値は、 |
|
|
使用上のノート
このファンクションは、明示的な同期化を必要とするライブラリが、マップするファイルまたはそのI/Oスタック内のいずれか1つの要素を所有している場合(cascade
がTRUE
の場合)は、最新のマッピング情報を取得できない可能性があります。
160.3.8 MAP_OBJECTファンクション
このファンクションは、オブジェクト名、所有者およびタイプで識別されるOracleオブジェクトのマッピング情報を作成します。
構文
DBMS_STORAGE_MAP.MAP_OBJECT( objname IN VARCHAR2, owner IN VARCHAR2, objtype IN VARCHAR2);
パラメータ
表160-8 MAP_OBJECTファンクションのパラメータ
パラメータ | 説明 |
---|---|
|
オブジェクトの名前。 |
|
オブジェクトの所有者。 |
|
オブジェクトのタイプ。 |
160.3.9 RESTOREファンクション
このファンクションは、データ・ディクショナリからインスタンスの共有メモリーに、完全なマッピング情報をロードします。
RESTORE
を起動できるのは、SAVE
操作を実行した後のみです。RESTORE
は、ウォーム・スタートの際に明示的にコールする必要があります。
構文
DBMS_STORAGE_MAP.RESTORE;