ArcSDE コマンドを使用したラスタ列の移行
ラスタ データの格納タイプを変更するには、migrate 操作を指定した sdetable コマンドを使用します。これにより、ラスタ ブロック テーブル(sde_blk_<id>)の block_data 列およびラスタ補助テーブル(sde_aux_<id>)の object 列のデータ格納タイプが、LONG RAW から BLOB または BLOB から ST_RASTER(Oracle の場合)、BYTEA から ST_RASTER(PostgreSQL の場合)、および IMAGE から ST_RASTER(SQL Server の場合)に変換されます。構文は次のとおりです。
sdetable –o migrate –l <table,raster_column> –k <config_keyword> [–i {<service> | <direct_connection>] [–s <server>] [–D <database>] –u <user> [–p <password>] [–N]
使用できるオプションは以下のとおりです。
オプション |
説明 |
---|---|
–o |
このオプションは、実行する操作(ここでは migrate)を指定します。 |
-l |
このオプションを使用して、移行されるラスタ列が含まれているテーブルの名前を指定します。 |
–k |
このオプションを使用して、移行後のラスタ カタログのラスタ格納タイプを示す DBTUNE コンフィグレーション キーワードを指定します。指定したキーワードには、BLOB(Oracle のみ)または ST_RASTER に設定した RASTER_STORAGE パラメータが含まれている必要があります。 |
–i |
使用するダイレクト コネクション構文、またはジオデータベースへの接続に使用する ArcSDE サービスのポート番号またはサービス名を指定します。 「ArcSDE コマンドから Oracle のジオデータベースへのダイレクト コネクション」をご参照ください。 |
–s |
データベースが存在するサーバの名前を指定します。 |
–D |
データベース名またはデータ ソースを指定します。 このオプションは、Oracle データベースでは使用しません。 |
–u |
フィーチャクラス所有者がデータベースにログインするためのユーザ名を指定します。 |
–p |
ユーザのパスワードを指定します。 |
–N |
操作を確認するプロンプトが表示されないようにするには、このオプションを指定します。 |
次のいずれかに該当する場合は、migrate 操作を指定した sdetable コマンドを実行すると、エラー メッセージが表示されます。
次のいずれかに該当する場合は、migrate 操作を指定した sdelayer コマンドを実行すると、エラー メッセージが表示されます。
- -u で指定したユーザがテーブル所有者ではない場合
- ラスタの既存の格納タイプが、指定された DBTUNE キーワードと同じである場合(つまり、キーワードで指定した格納タイプがすでにテーブルで使用されているため、移行が不要な場合)
- ビジネス テーブルにオブジェクト ID フィールドが含まれていない場合
- 9.2 よりも前の ArcSDE ジオデータベースで migrate 操作を使用した場合
- Oracle、SQL Server、または PostgreSQL 以外の DBMS で、sdetable コマンドに migrate 操作を指定した場合
- ST_Raster タイプに変換するときに、これがデータベースにインストールされていない場合
migrate 操作を使用して Oracle データベース内のデータ格納タイプを移行すると、データのコピー先となる新しいセグメントがデータベース内に作成されます。移行が完了すると、メタデータのポイント先は新しいセグメントに再設定され、古いセグメントは削除されます。これは、移行中のある時点ではデータのコピーが 2 つ存在することを意味します。したがって、データベースには 2 つのコピーを格納するための十分な容量が必要です。
-
移行するデータのバックアップを作成します。
移行するデータのバックアップ コピーを作成しておくと、何らかの理由で移行が失敗した場合でも元のデータを復元できます。
- DOS コマンド プロンプト(Windows の場合)またはシェル(UNIX または Linux の場合)を開きます。
-
migrate 操作で sdetable コマンドを実行します。例:
sdetable –o migrate –l watershed,raster –k ST_RASTER –i sde:sqlserver:mainserver\ssdb –s mainserver –D mydb –u bjar –p mine.all.mine
必ずデータの変換先となる RASTER_STORAGE 値が含まれたコンフィグレーション キーワードを指定してください。