Sybase ASE15.7のパーティションデータベースのバックアップとリカバリの戦略について知る必要があります。トランザクションの失敗と回復のシナリオについては心配していません。
以前、パーティション化されていないデータベースでこの2つのシナリオに直面しており、回復するのに6時間以上かかりました[理由:低レベルのSybaseエラー]
次のような壊滅的な障害の場合:
デバイスの障害[ストレージシステムが破損しました]
復元力を高めるためにデータベースをパーティション化するのは良い考えですか?
私がそうしている場合、失敗したパーティションのみを回復するは可能ですか? Sybase ASEは論理パーティションを維持しますが、断片的なリカバリを実行することは可能ですか?
Sybaseの低レベルエラー/ディスクの破損が原因でプライマリパーティションが破損した場合、レプリカも破損しますか? [結局のところ、それは複製です:)]
Catarrunasによる最初の回答に応えて:
ポイント2がわかりませんでした。説明をお願いします。
したがって、Sybase ASEでは、ストレージ構造は次のようになります(パーティション->セグメント->デバイス->エクステント->アロケーションユニット->ページ)。アイデアは、セグメントごとに1つのパーティションを格納することです。もちろん、セグメントは複数のデバイスにまたがることができます。
1つのセグメントによって保持されている障害のあるパーティションのみを回復することは可能ですか?セグメントレベルのリカバリを実行できますか、それともデータベース全体をリカバリする必要がありますか?
そのため、現在、レプリケーションはありません。しかし、それはいくつかの低レベルのエラーが原因であるようなものでした。データが破損し、数日間気付かれませんでした。実際、最後の2つのダンプも破損しており、回復するには-3レベルのダンプを実行する必要がありました。
DBが異なるデバイスに分散している場合は、「はい」をお勧めします。 (理想的には異なるボリュームにあります)。汚職の量の割合は少なくなります。ただし、復元するには、DB全体を復元する必要があります。これにより、別々のデバイスとボリュームでより高速になります。 (I/Oが分散され、同時実行性が低下します)
いいえ。破損したデバイスが保持しているDbを回復する必要があります。したがって、破損したデバイスが1つあるDBがあり、それらの論理接続がある場合(グッドプラクティス)、OSで新しい物理デバイスへの接続を変更するだけで済みます。次に、DBを復元します。
複製はどうですか? Repserverまたはディスクミラーリング? repserverの場合、私はそうは思いません。ソースASEが機能を停止し、データベースを復元するためにレプリケーションを停止する必要があります。ディスクミラーリングはわかりません。
更新された質問への回答:
私のポイント2は:
論理接続について私が言及したのは、たとえば次のとおりです。
次のデバイスにTEST1というDBがあります。
data01
data04
log02
data03
Disk initを使用してデバイスを作成するときは、パスを指定する必要があります。ただし、パスはデバイス自体に向けられているのではなく、ソフトリンクに送られます。たとえば、data01:
disk init.... physname='..sybase/data01.dat" ...
OSでは、sybase /data01.datが/dev/data01.datを指します。このように、OSで破損したデバイスを交換する必要がある場合は、データベースを再構築する必要はありません。新しいrawファイルを作成し、data01.datをポイントして、DB復元データ(LOAD)を使用するだけです。古いDBを削除するよりも高速なプロセスで、新しいロードを作成します。
エラーログには、破損したデバイスに関する情報と、ダンプに問題があったことに関する情報が含まれていると確信しています。ダンプが正常にダンプされた場合は、復元でそれらを使用できるはずです(良好なデバイス)。だから私はあなたがそんなに何日も戻らなければならなかった理由を本当に理解していません。たとえば、デバイスが破損している場合、何らかのアクションでデバイスを使用しようとすると、デバイスが表示されます(I/O)。だからあなたのダンプは失敗しただろうと私は信じています。