プライマリ・コンテンツに移動
Oracle® Spatial and Graph開発者ガイド
12cリリース1 (12.1)
B72470-07
目次へ移動
目次
索引へ移動
索引

前
次

E.2 ネットワーク・データ・モデル(NDM)ネットワーク管理

Oracle Routing Engineには、ルート・リクエストを処理し、レスポンスを生成するために、ルーティング・エンジン・データに基づいて構築されたOracle Spatial and Graphネットワーク・データ・モデル(NDM)ネットワークが必要です。

次の各項はNDMネットワーク管理操作に関連します。

「ネットワーク作成例」では、ルーティング・エンジンで使用するサンプルNDMネットワークの作成手順を説明します。

E.2.1 CREATE_ROUTER_NETWORKプロシージャ

構文:

SDO_ROUTER_PARTITION.CREATE_ROUTER_NETWORK(
  LOG_FILE_NAME IN VARCHAR2 := 'sdo_router_partition.log',
  NETWORK_NAME IN VARCHAR2 := 'ROUTER_NETWORK');

CREATE_ROUTER_NETWORKプロシージャは、ルーティング・エンジンOracle Data Format (ODF)データを含むルーティング・エンジン・スキーマから実行する必要があります。

LOG_FILE_NAMEパラメータは、ネットワーク作成時に書き込まれるログ・ファイルの名前です。このログ・ファイルはSDO_ROUTER_LOG_DIRディレクトリに作成されます。ネットワークの作成を独自のログ・ファイルに記録するか、デフォルトのパーティション化ログ・ファイルsdo_router_partition.logに書き込むかを選択できます。

NETWORK_NAMEパラメータでは、作成されるネットワークの名前を指定します。ネットワークの名前はユーザーの判断で決定します。明確化のために、国コードとデータ・バージョンを名前に含めることをお薦めします。たとえば、2012年第1四半期にリリースされた北米データの場合、適切なネットワーク名はROUTER_NA_Q112です。

すでに存在するネットワークの名前を使用してネットワークを作成すると、古いネットワークが新しいネットワークで置換されます。これはお薦めしません。最初に古いネットワークを削除してから(DELETE_ROUTER_NETWORKプロシージャを使用)、新しいネットワークを作成する必要があります。

E.2.2 DELETE_ROUTER_NETWORKプロシージャ

構文:

SDO_ROUTER_PARTITION.DELTE_ROUTER_NETWORK(
  LOG_FILE_NAME	IN VARCHAR2 := 'sdo_router_partition.log',
  NETWORK_NAME	IN VARCHAR2 := 'ROUTER_NETWORK',
  LOG_DELETE    IN BOOLEAN DEFAULT TRUE);

DELETE_ROUTER_NETWORKプロシージャは、ルーティング・エンジン・スキーマから実行する必要があり、ネットワーク名パラメータに一致するネットワークがスキーマに存在する必要があります。

LOG_FILE_NAMEパラメータは、ネットワーク削除時に書き込まれるログ・ファイルの名前です。このログ・ファイルはSDO_ROUTER_LOG_DIRディレクトリに作成されます。ネットワークの削除を独自のログ・ファイルに記録するか、デフォルトのパーティション化ログ・ファイルsdo_router_partition.logに書き込むかを選択できます。

NETWORK_NAMEパラメータは、削除されるネットワークの名前です。この名前のネットワークが存在しない場合は、例外がスローされ、エラー・メッセージがログ・ファイルに書き込まれます。

LOG_DELETEパラメータは、削除操作がログ・ファイルに記録されるかどうかを制御します。このパラメータは、主にデバッグ目的で使用します。

E.2.3 ネットワーク作成例

この項では、ルーティング・エンジンで使用するサンプルNDMネットワークの作成手順を説明します。

  1. ルーティング・エンジン・スキーマのルーティング・エンジン・ログ・ディレクトリを検証します。SDO_ROUTER_LOG_DIRが存在し、適切な権限を持っている必要があります。ルーティング・エンジン・スキーマにログインし、次の文を実行します。

    EXECUTE SDO_ROUTER_PARTITION.VALIDATE_ROUTER_LOG_DIR(
        'validate_log.log');
    

    検証が正常に完了すると、validate_log.logファイルに次のメッセージが含まれます。

    [INFO] PLSQL logging OK (ROUTER_SCHEMA)
    [INFO] Java logging OK (ROUTER_SCHEMA)
    [INFO] PLSQL logging OK (MDSYS)
    [INFO] Java logging OK (MDSYS)
    
  2. MDSYSスキーマのルーティング・エンジン・ログ・ディレクトリを検証します。SDO_ROUTER_LOG_DIRが存在し、適切な権限を持っている必要があります。MDSYSスキーマにログインし、手順1と同じ文を実行します。

  3. ルーティング・エンジン・スキーマで、次の問合せを使用して、既存のネットワークの名前を検索します。

    SELECT SUBSTR(view_name, 0, LENGTH(view_name)-7) Network_Name
     FROM user_views 
     WHERE view_name LIKE '%PBLOB$';
    

    結果が戻されない場合は、手順5に進みます。次のような結果が戻された場合は、次の手順に進み、新しいネットワークを作成する前にネットワークを削除します。

    NETWORK_NAME
    ------------
    <any-network-name>
    
  4. DELETE_NETWORKプロシージャを使用して、既存のネットワークを削除します。たとえば、既存のネットワーク名がROUTER_NA_Q112の場合は、次のようになります。

    EXECUTE SDO_ROUTER_PARTITION.DELETE_ROUTER_NETWORK(
        'delete_net.log', 'ROUTER_NA_Q112');
    

    削除が正常に完了すると、delete_net.logファイルに次のメッセージが含まれます。

    INFO: deleting the Routeserver network: ROUTER_NA_Q112
    
  5. CREATE_ROUTER_NETWORKプロシージャを使用して、新しいネットワークを作成します。次に例を示します。

    EXECUTE SDO_ROUTER_PARTITION.CREATE_ROUTER_NETWORK(
        'create_net.log', 'ROUTER_NA_112');
    

    作成操作が正常に完了すると、create_net.logファイルに次のメッセージが含まれます。

    INFO: creating the Routeserver network: ROUTER_NA_Q112
    INFO: rebuild edge table statistics
          creating views
          generating metadata