ArcSDE コマンドを使用した、ある格納タイプから別の格納タイプへのジオメトリの移行

Oracle や Microsoft SQL Server のジオデータベース内のフィーチャクラスで使用されているジオメトリ格納を、sdelayer コマンドの migrate 操作を使用して変更できます。migrate 操作では、フィーチャクラスのジオメトリ格納が、-k オプションで指定した DBTUNE コンフィグレーション キーワードのジオメトリ格納タイプに変更されます。

注意注意:

正しいパラメータと値が含まれるようにキーワードを適切に作成することが重要です。不正確な情報や欠落した情報のあるキーワードを指定すると、その情報が DEFAULTS キーワードから読み取られます。このため、移行専用のカスタム キーワードを作成し、そのキーワードにデータ移行先のパラメータと値、および UI_TEXT パラメータが含まれていることを確認することをお勧めします。UI_TEXT パラメータにより、キーワードは ArcGIS クライアントで利用できるようになります。

migrate 操作を指定した sdelayer コマンドの構文は次のようになります。

sdelayer –o migrate –l <table,column> –k <config_keyword> 
[–i {<service> | <direct_connect>}] [–s <server>] -D [<database_name>]
–u <user_name> [–p <user_password>] [–N] [–q] 

使用できるオプションは以下のとおりです。

オプション

説明

-D

このオプションを使用してデータベース名を指定します。このオプションは、Oracle データベースでは使用しません。

–o

このオプションは、実行する操作(ここでは migrate)を指定します。

-l

このオプションを使用して、フィーチャクラスのビジネス テーブルの名前と、ジオメトリ タイプを移行するシェープ カラムの名前を指定します。2 つの名前はカンマで区切ります(スペースなし)。

–k

このオプションは、移行後のフィーチャクラスのジオメトリ格納タイプを示す DBTUNE コンフィグレーション キーワードを指定します。キーワードには、Oracle データベースの場合は SDELOB または ST_GEOMETRY に設定した GEOMETRY_STORAGE パラメータ、SQL Server データベースの場合は GEOMETRY または GEOGRAPHY に設定した GEOMETRY_STORAGE パラメータを含める必要があります。

–i

使用するダイレクト コネクション構文、またはジオデータベースへの接続に使用する ArcSDE サービスのポート番号またはサービス名を指定します。

ダイレクト コネクション構文については、「ArcSDE コマンドから Oracle のジオデータベースへのダイレクト コネクション」または「ArcSDE コマンドから SQL Server のジオデータベースへのダイレクト コネクション」をご参照ください。

–s

データベースが存在するサーバの名前を指定します。

–u

フィーチャクラス所有者がデータベースにログインするためのユーザ名を指定します。

–p

ユーザのパスワードを指定します。

–N

操作を確認するプロンプトが表示されないようにするには、このオプションを指定します。

–q

すべてのタイトルや警告が表示されないようにするには、このオプションを指定します。

次のいずれかに該当する場合は、migrate 操作を指定した sdelayer コマンドを実行すると、エラー メッセージが表示されます。

1 つ目の項目で示したように、ジオメトリ格納を移行する前に、まずフィーチャクラスを低精度から高精度に移行する必要があります。これは、alter 操作を指定した sdelayer コマンドか、[空間参照の更新(Upgrade Spatial Reference)] ジオプロセシング ツールを使用して実行できます。

メモメモ:

migrate 操作を使用して Oracle データベース内のデータ格納タイプを移行すると、データのコピー先となる新しいセグメントがデータベース内に作成されます。移行が完了すると、メタデータのポイント先は新しいセグメントに再設定され、古いセグメントは削除されます。これは、移行中のある時点ではデータのコピーが 2 つ存在することを意味します。したがって、データベースには 2 つのコピーを格納するための十分な容量が必要です。

手順:
  1. 移行するデータのバックアップを作成します。

    移行するデータのバックアップ コピーを作成しておくと、何らかの理由で移行が失敗した場合でも元のデータを復元できます。

  2. DOS コマンド プロンプト(Windows の場合)またはシェル(UNIX または Linux の場合)を開きます。
  3. migrate 操作を指定した sdelayer コマンドを実行します。たとえば、次のように入力します。
    sdelayer –o migrate –l colpts,geometry –k ST_GEOMETRY 
    –i 68910 –s mainserver –u bjar –p mine.all.min

    変換後のデータのタイプを示す GEOMETRY_STORAGE 値が含まれるコンフィグレーション キーワードを必ず指定してください。


3/6/2012