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

SQL Anywhere 12.0.1 » SQL Anywhere サーバー SQL の使用法 » リモートデータとバルクオペレーション » データのインポートとエクスポート » データベースの再構築

 

同期やレプリケーションに関連するデータベースの再構築

同期やレプリケーションに関連するデータベースの再構築には、2 つの方法があります。最初の方法では、dbunload の -ar オプションを使用して、同期やレプリケーションに干渉しない方法でアンロードと再ロードを実行します。2 つ目の方法では、手動で同じタスクを実行します。

前提条件

DBA 権限。

すべてのサブスクリプションを同期してから、Mobile Link 同期に参加するデータベースを再構築する必要があります。

内容と備考

この項の内容は、SQL Anywhere の Mobile Link クライアント (dbmlsync を使用するクライアント) と SQL Remote に適用されます。

データベースが同期またはレプリケートされている場合、データベースの再構築には特に注意が必要です。同期やレプリケーションは、トランザクションログのオフセットに基づいています。データベースを再構築すると、古いトランザクションログのオフセットは新しいログのオフセットとは異なるため、古いログは使用できなくなります。このため、同期やレプリケーションに参加しているときは、バックアップをきちんと実行することが特に重要です。

注意

dbunload には他にもオプションがあり、実行中のデータベースまたは実行されていないデータベースを指定したり、データベースパラメーターを指定することもできます。

 ♦ 同期やレプリケーションに関連するデータベースの再構築 (dbunload の場合)
  1. データベースを停止します。

  2. データベースファイルとトランザクションログファイルを安全なロケーションにコピーしてオフラインでフルバックアップを実行します。

  3. 次 dbunload のコマンドを実行して、データベースを再構築します。

    dbunload -c connection-string -ar directory

    connection-string は DBA 権限での接続を表し、directory はレプリケーション環境で使用した古いトランザクションログのディレクトリを表します。データベースへのその他の接続はありません。

    -ar オプションは、パーソナルサーバーへの接続、または共有メモリ経由によるネットワークサーバーへの接続にのみ適用されます。

  4. 新しいデータベースを停止してから、データベースの復元後に通常実行する妥当性検査を実行します。

  5. 必要な運用オプションを使用してデータベースを起動します。これで、再ロードされたデータベースにアクセスできます。

 ♦ 同期やレプリケーションに関連するデータベースを手動で操作して再構築する
  1. データベースを停止します。

  2. データベースファイルとトランザクションログファイルを安全なロケーションにコピーしてオフラインでフルバックアップを実行します。

  3. dbtran ユーティリティを実行してデータベースの現在のトランザクションログファイルの開始オフセットと終了オフセットを表示します。

    終了オフセットは手順 8 で使用するために記録しておきます。

  4. 現在のトランザクションログファイルの名前を変更して、アンロード処理中に修正されないようにします。このファイルを dbremote のオフラインログディレクトリに置きます。

  5. データベースを再構築します。

  6. 新しいデータベースを停止します。

  7. 新しいデータベースで使用されていたトランザクションログファイルを消去します。

  8. 新しいデータベースで dblog を実行します。手順 3 で記録した終了オフセットを -z パラメーターに指定し、相対オフセットを 0 に設定します。

    dblog -x 0 -z 0000698242 -ir -is database-name.db
  9. Message Agent を実行するときは、コマンドラインに元のオフラインディレクトリのパスを入力します。

  10. データベースを起動します。これで、再ロードされたデータベースにアクセスできます。

結果

データベースは再ロードされ、起動します。

次の手順

なし。

 参照