Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (日本語) » SQL Anywhere サーバ - SQL の使用法 » リモート・データとバルク・オペレーション » データのインポートとエクスポート

 

データベースの再構築

データベースの再構築は、データベース全体のアンロードと再ロードを伴うインポートとエクスポートの一種です。再構築 (アンロード/ロード) と抽出のプロシージャを使用すると、データベースを再構築して、既存のデータベースの一部から新しいデータベースを作成し、未使用のページを排除できます。

データベースを再構築して新しいバージョンの SQL Anywhere にアップグレードする場合は、SQL Anywhere のアップグレードを参照してください。

データベースは、Sybase Central や dbunload ユーティリティで再構築できます。

注意

データベースを再構築する場合、特に元のデータベースを再構築したデータベースに置き換える場合は、再構築を実行する前にデータベースのバックアップを作成するようにしてください。

詳細については、バックアップとデータ・リカバリを参照してください。

インポートとエクスポートの場合、データの送信先はデータベース内またはデータベース外になります。インポートでは、データはデータベースに読み込まれます。エクスポートでは、データはデータベースから書き出されます。情報を、SQL Anywhere 以外の別のデータベースから受け取ったり、別のデータベースに送信したりすることがよくあります。

暗号化オプション -ek、-ep または -et を指定する場合は、reload.sql ファイルの LOAD TABLE 文に暗号化キーを含めます。ハードコーディングされたキーはセキュリティの低下を招くため、reload.sql ファイルのパラメータには暗号化キーが指定されます。Interactive SQL 内で reload.sql ファイルを実行する際に、パラメータとして暗号化キーを指定してください。READ 文にキーを指定していない場合、Interactive SQL でキーの入力を要求するプロンプトが表示されます。Interactive SQL ユーティリティ (dbisql)を参照してください。

ロードとアンロードでは、SQL Anywhere のデータベースからデータとスキーマを取り出し、それらを別の SQL Anywhere データベースに入れ直します。アンロード・プロシージャでは、データ・ファイルと、テーブルを正確に再作成するために必要なテーブル定義を含む reload.sql ファイルが生成されます。reload.sql スクリプトを実行すると、テーブルが再作成され、そこに元のデータがロードされます。

データベースの再構築には時間がかかる可能性があり、大量のディスク領域が必要になることがあります。また、データベースのアンロードと再ロード中は、そのデータベースを使用できません。このため、明確な目的がないかぎり、運用環境でデータベースを再構築しないでください。

特定の SQL Anywhere データベースから別の SQL Anywhere データベースへ

再構築では、通常 SQL Anywhere データベースからデータをコピーし、それを別の SQL Anywhere データベースに再ロードします。アンロードと再ロードは関連しています。通常はどちらか一方ではなく、両方を行います。

再構築とエクスポート

再構築がエクスポートとは異なる点は、再構築では、データの他にテーブル定義とスキーマのエクスポートとインポートが行われることです。再構築処理のアンロード部分では、テキスト・フォーマットのデータ・ファイルと、テーブルとその他の定義が含まれる reload.sql ファイルが生成されます。reload.sql スクリプトを実行すると、テーブルが再作成され、そこにデータがロードされます。

詳細については、内部アンロードと外部アンロード、内部再ロードと外部再ロードを参照してください。

SQL Remote または Mobile Link を使用している場合は、(古いデータベースから新しいデータベースを作成して) データベースを抽出することを検討します。データベースの抽出を参照してください。

レプリケートするデータベースの再構築

データベース再構築のプロシージャは、データベースがレプリケーションに関連するかしないかによって異なります。データベースがレプリケーションに関連する場合は、操作中はトランザクション・ログのオフセットを保存しておいてください。これは、Message Agent と Replication Agent がこの情報を必要とするためです。データベースがレプリケーションに関連しない場合、処理はもっと簡単です。

参照

データベースを再構築する理由
同期やレプリケーションに関連しないデータベースの再構築
同期やレプリケーションに関連するデータベースの再構築
dbunload ユーティリティを使用したデータの再構築
UNLOAD TABLE 文を使用したデータベースの再構築
テーブル・データまたはテーブル・スキーマのエクスポート
データベースの再ロード
データベース再構築時のダウン時間の最短化