SQL Anywhere の統合データベースからリモートデータベースを抽出します。
dbxtract [ options ] [ directory ] subscriber
オプション | 説明 | ||
---|---|---|---|
@data |
設定ファイルからオプションを読み込みます。@data dbeng12/dbsrv12 サーバーオプションを参照してください。 このオプションを使用すると、指定された環境変数または設定ファイルからオプションを読み込むことができます。同じ名前の環境変数と設定ファイルが両方存在する場合は、環境変数が使用されます。設定ファイルを参照してください。 設定ファイル内のパスワードなどの情報を保護する場合は、ファイル非表示ユーティリティを使用して、設定ファイルの内容を読みにくくすることができます。ファイル非表示ユーティリティ (dbfhide)を参照してください。 |
||
-ac "keyword=value; ..." |
接続文字列で指定したデータベースに接続して、再ロードします。 このオプションを使用すると、データベースのアンロード処理と、既存データベースへの結果の再ロード処理を組み合わせることができます。 たとえば、次のコマンド (1 行で入力) は、field_user サブスクライバーのデータのコピーを既存のデータベースファイル c:\field.db にロードします。
このオプションを使用した場合、データのコピーはディスク上に作成されないため、コマンドでアンロード用ディレクトリを指定する必要はありません。これによりデータのセキュリティは高まりますが、パフォーマンスは多少低下します。 |
||
-al filename | -an オプションを使用している場合は、新しいデータベースのトランザクションログファイル名を指定します。 | ||
-an database |
抽出するデータベースと同じ設定でデータベースファイルを作成し、それを自動的に再ロードします。 このオプションを使用すると、データベースのアンロード、新規データベースの作成、データのロードを組み合わせて実行できます。 たとえば、次のコマンド (1 行で入力) は、新規のデータベースファイル c:\field.db を作成し、そこに c:\cons.db の field_user サブスクライバーのスキーマとデータをコピーします。
このオプションを使用した場合、データのコピーはディスク上に作成されないため、コマンドでアンロード用ディレクトリを指定する必要はありません。これによりデータのセキュリティは高まりますが、パフォーマンスは多少低下します。 |
||
-ap size [ k ] | 新しいデータベースのページサイズを設定します。-an が使用されていない場合、このオプションは無視されます。データベースのページサイズには、2048、4096、8192、16384、32768 バイトのいずれかを指定できます。デフォルトは元のデータベースのページサイズです。k を使用して、キロバイトの単位を指定します (-ap 4k など)。データベースサーバーですでにデータベースが実行中の場合、サーバーのページサイズ (-gp オプションで設定) は新規ページサイズを処理するのに十分な容量でなければなりません。 -gp dbeng12/dbsrv12 サーバーオプションを参照してください。 | ||
-b | サブスクリプションを開始しません。このオプションを指定した場合は、統合データベース (リモートデータベース用) とリモートデータベース (統合データベース用) で、レプリケーションを開始するために START SUBSCRIPTION 文を使用して、サブスクリプションを明示的に開始しなければいけません。 START SUBSCRIPTION 文 [SQL Remote]を参照してください。 | ||
-c "keyword=value; ..." |
データベース接続パラメーターを文字列として指定します。 ユーザーはデータベースの全テーブル上にパーミッションを持っている必要があるため、user ID には DBA 権限を持つユーザー ID を指定してください。 たとえば、次の文 (1 行で入力) は、ユーザー ID が DBA、パスワードが sql で接続している sample_server データベースサーバー上で実行しているサンプルデータベースから、リモートユーザー ID joe_remote のデータベースを抽出します。データは c:\extract ディレクトリにアンロードされます。
接続パラメーターを指定しない場合、SQLCONNECT 環境変数が設定されていると、SQLCONNECT 環境変数からの接続パラメーターを使用します。 |
||
-d | データのみを抽出します。このオプションを指定すると、スキーマ定義はアンロードされません。また、リモートデータベースに対するパブリケーションとサブスクリプションも作成されません。このオプションは、適切なスキーマのあるリモートデータベースがすでに存在していて、データを格納するためだけに使用します。 | ||
-ea alg |
新しいデータベースで使用する暗号化アルゴリズムを指定します。このオプションにより、新しいデータベースの暗号化に強力な暗号化アルゴリズムを選択できます。AES (デフォルト) または AES_FIPS (FIPS 認定のアルゴリズム) のどちらかを選択できます。AES_FIPS は個別のライブラリを使用するため、AES との互換性はありません。 セキュリティを強化するには、128 ビットの場合は AES、256 ビットの場合は AES256 の強力な暗号化を指定します。FIPS 認定の暗号化を使用するには、128 ビットの場合は AES_FIPS、256 ビットの場合は AES256_FIPS をそれぞれ指定してください。強力な暗号化を使用するためには、-ek または -ep オプションも指定する必要があります。 強力な暗号化の詳細については、強力な暗号化を参照してください。 暗号化されていないデータベースを作成するには、-ea none を指定するか、-ea オプションを指定しません (-e、-et、-ep、-ek オプションも指定しません)。 -ea オプションを指定しない場合、デフォルトの動作は次のようになります。
アルゴリズム名の大文字と小文字は区別されません。 注意別途ライセンスが必要な必須コンポーネント ECC 暗号化と FIPS 認定の暗号化には、別途ライセンスが必要です。強力な暗号化テクノロジはすべて、輸出規制対象品目です。 別途ライセンスが必要なコンポーネントを参照してください。 |
||
-ek key |
新しいデータベースで使用する暗号化キーを指定する。このオプションを使用すると、コマンドに暗号化キーを直接指定することで、強力に暗号化されたデータベースを作成できます。データベースの暗号化に使用されるアルゴリズムは、-ea オプションで指定した AES または AES_FIPS です。 -ek オプションを指定して、-ea オプションを指定しないと、AES アルゴリズムが使用されます。 警告強力な暗号化が適用されたデータベースの場合、キーのコピーは必ず安全な場所に保管してください。暗号化キーがわからなくなった場合は、Sybase 製品の保守契約を結んでいるサポートセンターに依頼してもデータにはアクセスできません。アクセスできなくなったデータベースは、廃棄して、新しくデータベースを作成する必要があります。 |
||
-ep |
新しいデータベースで使用する暗号化キーの入力を要求します。このオプションを使用すると、ウィンドウに暗号化キーを入力することで、強力に暗号化されたデータベースを作成するように指定できます。クリアテキストでは暗号化キーを見ることができないようにすることで、高いセキュリティが得られます。 暗号化キーは、正確に入力されたことを確認するために 2 回入力してください。キーが一致しない場合は、初期化は失敗します。強力な暗号化を参照してください。 |
||
-er |
アンロード中に暗号化されたテーブルの暗号化を解除します。 テーブル暗号化が有効であるデータベースから抽出するとき、-er または -et を指定して、新しいデータベースのテーブルで暗号化を有効にするかどうかを指定する必要があります。このオプションを指定しないと、データを新しいデータベースにロードしようとしたときにエラーが発生します。 次のコマンド (すべて 1 行で入力) は、テーブルの暗号化を解除してデータベース (cons.db) を抽出し、テーブル暗号化が有効になっていない新しいデータベース (field.db) に再ロードします。
|
||
-et |
新しいデータベースのテーブル暗号化を有効にします (-an または -ar も一緒に指定する必要があります)。-ea オプションを指定せずに -et オプションを指定すると、AES アルゴリズムが使用されます。-et オプションを指定する場合、-ep または -ek も指定しないと操作は失敗します。新しいデータベースのテーブル暗号化設定を変更して、アンロードしているデータベースのテーブル暗号化設定とは異なるものに設定できます。 テーブル暗号化が有効であるデータベースを再構築するとき、-er または -et を指定して、新しいデータベースのテーブルで暗号化を有効にするかどうかを指定する必要があります。このオプションを指定しないと、データを新しいデータベースにロードしようとしたときにエラーが発生します。 次の例 (すべて 1 行で入力) は、テーブルが単純暗号化アルゴリズムによって暗号化されたデータベース (cons.db) を、テーブル暗号化が有効になっている新しいデータベース (field.db) にアンロードし、キーを 34jh として AES_FIPS アルゴリズムを使用します。
|
||
-f |
完全に修飾されたパブリケーションを抽出します。ほとんどの場合、完全に修飾されたパブリケーション定義をリモートデータベース用に抽出する必要はありません。通常、すべてのローはレプリケートされ、統合データベースに戻されます。 しかし、多層の設定や、統合データベースにないローがリモートデータベースにある設定では、完全に修飾されたパブリケーションが必要な場合もあります。 |
||
-g |
|
||
-ii |
内部アンロードと内部再ロードを実行します。このオプションを使用すると、再ロードスクリプトは、データのアンロードとロードそれぞれに対して、Interactive SQL の OUTPUT 文と INPUT 文ではなく、内部の UNLOAD 文と LOAD TABLE 文を強制的に使用します。このオペレーションの組み合わせがデフォルトの動作です。 データファイルのパスには、外部オペレーションでは dbxtract の現在の作業ディレクトリからの相対パスを使用し、内部の文ではデータベースサーバーからの相対パスを使用します。 |
||
-ix |
内部アンロードと外部再ロードを実行します。このオプションを使用すると、再ロードスクリプトは、データのアンロードに対して内部の UNLOAD 文を強制的に使用し、新しいデータベースへのデータのロードに対して Interactive SQL の INPUT 文を強制的に使用します。 データファイルのパスには、外部オペレーションでは dbxtract の現在の作業ディレクトリからの相対パスを使用し、内部の文ではデータベースサーバーからの相対パスを使用します。 |
||
-l level | 指定した独立性レベルですべての抽出オペレーションを実行します。デフォルト設定では、独立性レベルは 0 です。アクティブなデータベースサーバーからデータベースを抽出する場合は、独立性レベル 3 で実行し、抽出されたデータベース内のデータがデータベースサーバー上のデータと一致するようにします。独立性レベルを大きくすると、抽出ユーティリティ (dbxtract) が多数のロックを使用することになり、他のユーザーによるデータベースの使用が制限される可能性があります。 抽出ユーティリティ (dbxtract)を参照してください。 | ||
-n |
スキーマ定義のみ抽出します。この定義を指定すると、データはアンロードされません。再ロードファイルには、データベーススキーマだけを構築する SQL 文が記述されています。SYNCHRONIZE SUBSCRIPTION 文を使用すると、メッセージシステム全体のデータをロードできます。SYNCHRONIZE SUBSCRIPTION 文 [SQL Remote]を参照してください。 パブリケーション、サブスクリプション、PUBLISH パーミッション、SUBSCRIBE パーミッションは、スキーマの一部です。
|
||
-nl |
構造体を抽出します (-n オプションと同じ動作)。ただし、生成される reload.sql ファイルには、各テーブルに対する LOAD TABLE 文または INPUT 文も含まれます。このオプションを使用した場合、ユーザーデータは抽出されません。-nl を指定するときには、LOAD/INPUT 文を生成できるようにデータディレクトリも指定する必要があります。ただし、このディレクトリにファイルは書き込まれません。このオプションを指定すると、データをアンロードしない再ロードスクリプトを生成できます。データを抽出するには、-d
を指定します。データベースにデータのアンロードが不要なテーブルがある場合は、 |
||
-o file | 出力ログファイルにメッセージを出力します。 | ||
-p character | エスケープ文字を指定します。このオプションを使用して、デフォルトのエスケープ文字 (\) を別の文字に置き換えることができます。 | ||
-q |
クワイエットモードで処理を実行し、メッセージまたはウィンドウの表示を行いません。このオプションは -y オプションと一緒に指定してください。そうしないと操作は失敗します。 このオプションは、コマンドラインユーティリティに対してのみ使用できます。 |
||
-r file |
生成された再ロード Interactive SQL スクリプトファイルの名前を指定します。 再ロードスクリプトファイルのデフォルト名は、現在のディレクトリの reload.sql です。このオプションを使用して異なるファイル名を指定できます。 |
||
-u | アンロード中にデータの順序を変更しません。デフォルトでは、各テーブルのデータはプライマリキーを基準に順序付けられます。-u オプションを使用するとアンロード処理は高速になりますが、リモートデータベースへのデータのロード処理は遅くなります。 | ||
-v | 冗長メッセージを表示します。アンロードされているテーブル名、アンロードされたロー数、使用された SELECT 文が表示されます。 | ||
-xf | 外部キーを除外します。リモートデータベースに統合データベーススキーマのサブセットがあり、いくつかの外部キー参照がない場合に、このオプションを使用できます。 | ||
-xh | プロシージャーフックを除外します。 | ||
-xi |
外部アンロードと内部再ロードを実行します。データベースのアンロードでは、デフォルトの動作として UNLOAD 文を使用します。これはデータベースサーバーが実行します。外部アンロードを選択すると、dbxtract は UNLOAD 文の代わりに OUTPUT 文を使用します。OUTPUT 文はクライアントで実行されます。 データファイルのパスには、外部オペレーションでは dbxtract の現在の作業ディレクトリからの相対パスを使用し、内部の文ではデータベースサーバーからの相対パスを使用します。 |
||
-xp | データベースからストアドプロシージャーを抽出しません。 | ||
-xt | データベースからトリガーを抽出しません。 | ||
-xv | データベースからビューを抽出しません。 | ||
-xx |
外部アンロードと外部ロードを実行する。データをアンロードする場合には、OUTPUT 文が使用されます。また、新規データベースにデータをロードする場合には、INPUT 文が使用されます。 アンロードのデフォルト動作では UNLOAD 文が使用され、ロードのデフォルト動作では LOAD TABLE 文が使用されます。内部の UNLOAD 文と LOAD TABLE 文を使用すると、OUTPUT 文と INPUT 文よりも高速で処理します。 データファイルのパスには、外部オペレーションでは dbxtract の現在の作業ディレクトリからの相対パスを使用し、内部の文ではデータベースサーバーからの相対パスを使用します。 |
||
directory | ファイルが書き込まれるディレクトリを指定します。-an または -ac を指定する場合は不要です。 | ||
subscriber | データベースを抽出するサブスクライバーを指定します。 |
デフォルトでは、抽出ユーティリティ (dbxtract) は独立性レベル 0 で実行されます。アクティブなデータベースサーバーからデータベースを抽出する場合は、独立性レベル 3 で実行し、抽出されたデータベース内のデータがデータベースサーバー上のデータと一致するようにします。独立性レベル 3 で実行すると、多数のロックが必要になるため、データベースサーバー上の他のユーザーのターンアラウンドタイムに影響が出ることがあります。データベースサーバーへのアクセスが少ないときに抽出ユーティリティ (dbxtract) を実行するか、データベースのコピーに対して抽出ユーティリティ (dbxtract) を実行することをおすすめします。
抽出ユーティリティ (dbxtract) は、スクリプトファイルと、一連の関連データファイルを作成します。新しく初期化したデータベースに対してスクリプトファイルを実行し、データベースオブジェクトを作成してリモートデータベース用のデータをロードできます。
デフォルトの SQL スクリプトファイル名は reload.sql です。
リモートユーザーがグループの場合、グループのメンバーのユーザー ID すべてを抽出します。これにより、リモートデータベースの複数のユーザーに対して異なるユーザー ID を使用できます。カスタム抽出処理は必要ありません。
バージョン 10.0.0 以降のデータベースの抽出ユーティリティ (dbxtract) またはデータベース抽出ウィザードを使用する場合は、使用する dbxtract のバージョンが、データベースへのアクセスに使用するデータベースサーバーのバージョンと一致する必要があります。dbxtract のバージョンがデータベースサーバーのバージョンより古いまたは新しい場合は、エラーがレポートされます。
抽出ユーティリティ (dbxtract) とデータベース抽出ウィザードでは、データベース作成時に dbo ユーザー ID 用に作成されたオブジェクトをアンロードしません。データをアンロードするとき、システムプロシージャーの再定義など、これらのオブジェクトに加えられた変更は失われます。抽出ユーティリティ (dbxtract) でアンロードされるため、データベースの初期化以降に dbo ユーザー ID によって作成されたオブジェクトは保存されます。
![]() |
DocCommentXchange で意見交換できます
|
Copyright © 2012, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.1 |