ワークフロー: 登録済みラスタ カタログのバイナリから SQL タイプへの移行

難易度: 中級 データ要件 独自のデータを使用 目的: Oracle、PostgreSQL、または SQL Server で ST_Raster 格納を使用するようラスタ データを移行させる方法について説明します。

ArcSDE バイナリ タイプで作成された既存のラスタ データセットは、[データ格納タイプの移行] ジオプロセシング ツールまたは sdetable の migrate(移行)操作で ST_Raster タイプに変換できます。

移行中には、ビジネス テーブルに新しい ST_Raster 列が追加され、SDE_BND_<N> ArcSDE ラスタ バンド テーブルに格納されたラスタ バンド メタデータが抽出されて ST_Raster 列に書き込まれます。次に、元の整数ラスタ列が削除され、新しい ST_Raster 列に元のラスタ列の名前が与えられます。ラスタ バンド テーブルも削除されます。

ほとんどの場合、バイナリから ST_Raster への変換は高速で、システムへの影響も比較的軽度です。ただし、これが該当しない例外が 2 つあります。1 つ目は Oracle LONG RAW として格納されているラスタ データを変換する場合で、2 つ目は SQL Server イメージ タイプ列に格納されているラスタ データを変換する場合です。

Oracle の場合、ST_Raster への変換の前に、ArcSDE ラスタ ブロック テーブル(SDE_BLK_<N>)の LONG RAW BLOCK_DATA 列を LONG RAW から BLOB に変換しておく必要があります。SQL Server の場合、ArcSDE ラスタ ブロック テーブル(SDE_BLK_<N>)のイメージ BLOCK_DATA 列を varbinary 列に変換する必要があります。

ヒントヒント:

ラスタ フィールドが含まれたバージョン対応のテーブルやフィーチャクラスを移行させる場合は、データの移行の前にジオデータベースを圧縮してください。これは必須ではありませんが、差分テーブルに未使用のステートが存在しないか少なければ、移行の所要時間が短くなります。

データを移行させる前に、必ずジオデータベースをバックアップしてください。

ジオデータベースの圧縮

ArcSDE 管理者は、ArcGIS Desktop で [圧縮] コマンドを使ってジオデータベースを圧縮できます。手順については、「ArcCatalog への [圧縮] コマンドの追加」と「ArcCatalog への [圧縮] コマンドを使用した ArcSDE ジオデータベースの圧縮」をご参照ください。

データベースのバックアップの作成

データベース管理者は、データの移行を開始する前にジオデータベースのバックアップを作成する必要があります。これにより、移行に失敗した場合や、新しいデータを使用しないことにした場合に、元のデータを使用できます。

移行プロセスはリカバリ可能に設計されています。何らかの理由で失敗した場合は、失敗の原因となった問題を修正して、移行を再試行します。それでも何らかの理由で移行を完了できない場合は、バックアップからデータを復元することができます。

データベースのバックアップの作成には、データ管理システム(DBMS)のツールを使用します。手順については、DBMS のドキュメントをご参照ください。

ST_Raster タイプのインストール

ラスタ列を ST_Raster タイプに移行するためには、事前に install_st_raster 操作で sdesetup コマンドを実行して、ST_Raster を格納できるようジオデータベースを設定しておく必要があります。実施するインストールに応じたトピックをご参照ください。

データの移行

ラスタ カタログ、ラスタ データセット、モザイク データセット、ラスタ フィールドが含まれたテーブルやフィーチャの移行は一度に 1 つずつ行います。

別の格納タイプに移行させることができるのは、データセットの所有者だけです。

DBTUNE パラメータの設定

コンフィグレーション キーワードの 1 つについて、RASTER_STORAGE パラメータを ST_Raster に設定しておく必要があります。そのうえで、移行操作で [データ格納タイプの移行] ツールまたは sdetable コマンドを実行するときにこのキーワードを指定します。

手順:
  1. 以下のいずれかを実施して、RASTER_STORAGE パラメータを追加し、これを ST_RASTER に設定します。

ここで、[データ格納タイプの移行] ジオプロセシング ツールまたは sdetable コマンドを実行してラスタ カタログまたはデータセットを移行させます。

データ格納タイプの移行ジオプロセシング ツールの使用方法

[データ格納タイプの移行] ジオプロセシング ツールは、ラスタ カタログ、ラスタ データセット、モザイク データセット、またはラスタ フィールドが含まれたテーブルやフィーチャクラスのグループに対して実行することもできます。あるいは、Python で移行スクリプトを作成して複数のファイルを順番に移行させることができます。

手順:
  1. ArcCatalog または ArcMap のカタログ ウィンドウで、[データ管理] ツールボックスにある [データ格納タイプの移行] ジオプロセシング ツールを検索します。
  2. ツールが必要とする情報を提供します。これには、各ラスタ カタログまたはデータセットへのパスと名前、移行に使用するコンフィグレーション キーワードなどがあります。

migrate 操作での sdetable コマンドの使用

sdetable コマンドを実行すれば、個々のラスタ カタログ、ラスタ データセット、モザイク データセット、またはラスタ フィールドが含まれたテーブルやフィーチャクラスのラスタ列を移行させることができます。また、複数の sdetable コマンドを *.bat ファイルに配置することもできます。このコマンドは ArcSDE がインストールされているコンピュータで実行します。可能であれば、SDEHOME の bin ディレクトリから実行してください。

手順:
  1. DOS コマンド プロンプト(Windows の場合)またはシェル(UNIX または Linux の場合)を開きます。
  2. 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 値が含まれたコンフィグレーション キーワードを指定してください。

関連項目


3/6/2012