この項の内容は、SQL Anywhere の Mobile Link クライアント (dbmlsync を使用するクライアント)、SQL Remote、および Replication Agent にも適用されます。
データベースが同期またはレプリケートされている場合、データベースの再構築には特に注意が必要です。同期やレプリケーションは、トランザクション・ログのオフセットに基づいています。データベースを再構築すると、古いトランザクション・ログのオフセットは新しいログのオフセットとは異なるため、古いログは使用できなくなります。このため、同期やレプリケーションに参加しているときは、バックアップをきちんと実行することが特に重要です。
同期やレプリケーションに関連するデータベースの再構築には、2 つの方法があります。最初の方法では、dbunload ユーティリティの -ar オプションを使用して、同期やレプリケーションに干渉しない方法でアンロードと再ロードを実行します。2 つ目の方法では、手動で同じタスクを実行します。
すべてのサブスクリプションを同期してから、Mobile Link 同期に参加するデータベースを再構築する必要があります。
データベースを停止します。
データベース・ファイルとトランザクション・ログ・ファイルを安全なロケーションにコピーしてオフラインでフル・バックアップを実行します。
次 dbunload のコマンドを実行して、データベースを再構築します。
dbunload -c connection-string -ar directory |
connection-string は DBA 権限での接続を表し、directory はレプリケーション環境で使用した古いトランザクション・ログのディレクトリを表します。データベースへのその他の接続はありません。
-ar オプションは、パーソナル・サーバへの接続、または共有メモリ経由によるネットワーク・サーバへの接続にのみ適用されます。
詳細については、アンロード・ユーティリティ (dbunload)を参照してください。
新しいデータベースを停止してから、データベースの復元後に通常実行する妥当性検査を実行します。
妥当性検査の詳細については、データベースの検証を参照してください。
必要な運用オプションを使用してデータベースを起動します。これで、再ロードされたデータベースにアクセスできます。
dbunload ユーティリティには、アンロード作業をチューニングするための追加オプションがあります。また、実行中または実行していないデータベースとデータベース・パラメータを指定できる接続パラメータ・オプションもあります。アンロード・ユーティリティ (dbunload)を参照してください。
前述の手順では要求に対応できない場合は、トランザクション・ログのオフセットを手動で調整できます。次の手順では、このような操作の実行方法について説明します。
データベースを停止します。
データベース・ファイルとトランザクション・ログ・ファイルを安全なロケーションにコピーしてオフラインでフル・バックアップを実行します。
dbtran ユーティリティを実行してデータベースの現在のトランザクション・ログ・ファイルの開始オフセットと終了オフセットを表示します。
終了オフセットは手順 8 で使用するために記録しておきます。
現在のトランザクション・ログ・ファイルの名前を変更して、アンロード処理中に修正されないようにします。このファイルを dbremote のオフライン・ログ・ディレクトリに置きます。
データベースを再構築します。
この手順については、データベースの再構築を参照してください。
新しいデータベースを停止します。
新しいデータベースで使用されていたトランザクション・ログ・ファイルを消去します。
新しいデータベースで dblog を実行します。手順 3 で記録した終了オフセットを -z パラメータに指定し、相対オフセットを 0 に設定します。
dblog -x 0 -z 0000698242 -il -ir -is database-name.db |
Message Agent を実行するときは、コマンド・ラインに元のオフライン・ディレクトリのパスを入力します。
データベースを起動します。これで、再ロードされたデータベースにアクセスできます。
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |