6.39 SDO_NET.GENERATE_PARTITION_BLOBS
構文
SDO_NET.GENERATE_PARTITION_BLOBS( network IN VARCHAR2, link_level IN NUMBER DEFAULT 1, partition_blob_table_name IN VARCHAR2, include_user_data IN BOOLEAN, commit_for_each_blob IN BOOLEAN DEFAULT TRUE, log_loc IN VARCHAR2, log_file IN VARCHAR2, open_mode IN VARCHAR2 DEFAULT 'A', perform_delta_update IN BOOLEAN DEFAULT FALSE, regenerate_node_levels IN BOOLEAN DEFAULT FALSE);
説明
ネットワーク内の指定のリンク・レベルに関連付けられたパーティションに対して、バイナリ・ラージ・オブジェクト(BLOB)表現を生成し、その情報をパーティションBLOB表に格納します。
パラメータ
- network
-
ネットワーク名を指定します。
- link_level
-
各BLOBに含まれるリンクのリンク・レベル(デフォルトは1)を指定します。リンク・レベルは、リンクの優先順位であり、ネットワーク分析に使用すると、パスの計算時に優先順位の高いリンクが最初に考慮されます。
- partition_blob_table_name
-
このプロシージャで作成されるパーティションBLOB表の名前を指定します。(指定した名前の表がすでに存在する場合は、指定したリンク・レベルの情報で更新されます。)パーティションBLOB表については、「パーティションBLOB表」を参照してください。
- include_user_data
-
各BLOBで表現されるネットワーク要素に関連付けられたカテゴリ0 (ゼロ)のユーザー・データについて、各BLOBに含める場合は
TRUE
、各BLOBに含めない場合はFALSE
を指定します。 - commit_for_each_blob
-
各パーティションBLOBが生成後にデータベースにコミットされる場合は
TRUE
(デフォルト)、コミットされない場合はFALSE
を指定します(この場合、1つ以上の明示的なコミット操作を実行する必要があります)。 - log_loc
-
ログ・ファイルのパスを特定するディレクトリ・オブジェクトを指定します。ディレクトリ・オブジェクトを作成するには、SQL*PlusコマンドのCREATE DIRECTORYを使用します。
- log_file
-
発生する可能性があるエラーや問題など、空間ネットワーク操作に関する情報を格納するログ・ファイルを指定します。
- open_mode
-
ログ・ファイルを開く際のモードを示す1文字のコードを指定します。
W
は上書き(指定した場所および名前の既存のログ・ファイルをすべて削除し、新規ファイルを作成)、A
(デフォルト)は追加(指定した既存のログ・ファイルに情報を追加)を表します。A
を指定し、そのログ・ファイルが存在しない場合は、新規ログ・ファイルが作成されます。 - perform_delta_update
-
(将来使用するために予約されています。唯一許可されている値は
FALSE
であり、これがデフォルトです。) - regenerate_node_levels
-
マルチレベル・ネットワークのノード・レベル表を再生成する場合は
TRUE
を、マルチレベル・ネットワークのノード・レベル表を再生成しない場合はFALSE
(デフォルト)を指定します。ネットワークで上位レベル(第2レベルまたはそれ以上)のノードが追加または削除される場合、またはノードのレベルが変更される場合は、このパラメータをTRUE
に設定する必要があります。ノードのレベルは、そのノードにつながる最大リンク・レベルとして定義されます。
使用上のノート
パーティションBLOBを生成すると、特に大規模なネットワークの場合には、ネットワーク分析の多くの操作でパフォーマンスが向上します。
ネットワークがパーティション化されていない場合、このプロシージャは、ネットワーク全体を表す1つのBLOBを生成します。
このプロシージャは、最初にマルチレベル・ネットワーク上で実行されるときに、SDO_NET.GENERATE_NODE_LEVELSを内部的にコールしてノード・レベル表(「ノード・レベル表(オプション)」を参照)を作成して移入します。その後、このプロシージャがマルチレベル・ネットワーク上でコールされるときは、regenerate_node_levels
パラメータを使用して、既存のノード・レベル表を上書きするかどうかを指定できます。
このプロシージャを、リンク・レベルとパーティションIDの指定した組合せに対して単一のBLOBを再生成し、既存のパーティションBLOB表に情報を追加するSDO_NET.GENERATE_PARTITION_BLOBと混同しないように注意してください。
例
次の例では、SDO_PARTITIONEDネットワーク内にリンク・レベル1のパーティションBLOBを生成し、SDO_PARTITIONED_PART_BLOB_TAB表を作成または更新します。また、ネットワーク要素に関連付けられたカテゴリ0 (ゼロ)のすべてのユーザー・データも格納します。操作に関する情報は、LOG_DIR
という名前のディレクトリ・オブジェクトに関連付けられた場所にあるsdo_partitioned.log
ファイルに追加されます(open_mode => 'a'
)。
EXECUTE SDO_NET.GENERATE_PARTITION_BLOBS(- network => 'SDO_PARTITIONED', - link_level => 1,- partition_blob_table_name => 'sdo_partitioned_part_blob_tab',- include_user_data => true,- log_loc => 'LOG_DIR', log_file=> 'sdo_partitioned.log',- open_mode => 'a');
親トピック: SDO_NETパッケージ・サブプログラム