PostgreSQLOCI Database with PostgreSQLを使用したOCI DatabaseのPoint-in-Timeリカバリ
Point-in-Timeリカバリを使用して、特定の日時におけるPostgreSQLデータベース・システムの正確な状態をレプリケートする方法を学習します。
Point-in-Timeリカバリでは、既存のPostgreSQLデータベース・システムの内容がリストアされます。新しいデータベース・システムを、過去の特定のタイムスタンプの正確な状態に作成します。これは、次のような論理的または操作上の問題から迅速にリカバリする必要がある場合に役立ちます。
- 誤った削除。
- アプリケーションまたはスキーマのデプロイメントが正しくありません。
- スクリプトまたはユーザー・エラーによる論理データ破損。
- 正確な時間に復元する必要があるその他の操作ミス。
Point-in-Timeリカバリでは、既存のデータベース・システムを過去の特定の時点および日付に反映する新しいPostgreSQLデータベース・システムが作成されます。レプリケートされたデータベース・システムが生成された後も、元のデータベース・システムは現在の状態で引き続き存在します。
Point-in-Timeリカバリの仕組み
Point-in-Timeリカバリにより、PostgreSQLはデータベースの変更を取得する先行書き込みログ(WAL)を保持します。この機能では、データ・ボリュームとWALボリュームを定期的にバックアップします。
ポイントインタイム・バックアップは、通常のバックアップと同じ方法で「バックアップ」ページに表示されます。詳細は、バックアップのリストを参照してください。
Point-in-Timeリカバリを有効にするには、データベース・システムにPoint-in-Timeリカバリ管理ポリシーを適用します。たとえば、保存期間が10日の標準ポリシーです。Point-in-Timeリカバリが有効で、データベース・システムがアクティブ状態に戻ると、Point-in-Timeリカバリ・バックアップが自動的に開始されます。データベース・システムには、Point-in-Timeリストアに使用できる時間範囲を示すアクティブなリカバリ・ウィンドウが表示されます。
ポイントインタイム・リストアでは、選択したタイムスタンプにリストアされる新しいDBシステムが作成されます。次の項目を指定します。
- ソース・データベースのシステム識別子。
- ターゲット・リカバリ・タイムスタンプ(リストア時間)。
新しいデータベース・システムが作成されてアクティブになったら、そのシステムに接続してデータベースの状態を検証できます。
Point-in-Timeリカバリに関する次の点に注意してください。
- リストアできるのは、構成済の「リストア日数」ウィンドウ内のみです。
- リストア・プロセスでは、新しいデータベース・システムが作成されます。このデータベース・システムのネットワーク、アクセスおよびネーミングを計画する必要があります。
- 最適な結果を得るには、不要な変更が発生する直前の時間を選択します。
- 適切な権限があり、環境(VCN、セキュリティ・ルール、証明書など)がリストアされたシステムへの接続をサポートしていることを確認します。
前提条件
Point-in-Timeリカバリを有効にして使用するには、次の前提条件が適用されます。
- データベース・システムを含むコンパートメントへのアクセス権があります。
- 次のタスクを実行する権限があります。
- 既存のPostgreSQLデータベース・システムを更新して、Point-in-Timeリカバリを有効にします。
- リストアを実行する新しいPostgreSQLデータベース・システムを作成します。
- バックアップおよびリカバリ情報を表示します。
- 必要な保存期間がわかります。たとえば、「リストア日数= 10」は、過去10日以内の任意の時点にリストアできることを意味します。
- Transport Layer Security (TLS)を使用して接続する場合、必要なCA証明書およびデータベース・システム・エンドポイントへのネットワーク・アクセス(VCN/セキュリティ・ルール)があることを確認してください。
ポイントインタイム・リカバリの有効化
Point-in-Timeリカバリは、データベース・システムの作成時に選択できるオプションです。詳細は、データベース・システムの作成に関する項を参照してください。
既存のデータベース・システムのPoint-in-Timeリカバリを有効にすることもできます。詳細は、データベース・システムの管理ポリシーの編集を参照してください。
どちらの場合も、Point-in-Timeリカバリを有効にする場合は、データベース・システムのデータをリカバリできる日数を指定する必要があります。最大日数は35です。
Point-in-Timeからの新しいデータベース・システムの作成
ベースとしてPoint-in-Timeソースを使用して、新しいデータベース・システムを作成できます。詳細は、Point-in-Timeソースからのデータベース・システムの作成を参照してください。
Point-in-Timeを使用したデータベース・システムのリストア
ベースとしてPoint-in-Timeソースを使用して、既存のデータベース・システムをリストアできます。詳細は、Point-in-Timeソースからのリストアを参照してください。
トラブルシューティング
リカバリ・ウィンドウが表示されない場合は、次を確認します。
- Point-in-Timeリカバリ機能は有効で、アクティブ状態です。
- Point-in-Timeリカバリ・ポリシーが設定されています(「なし」ではありません)。
- バックアップが開始され、ウィンドウを確立するのに十分な時間が経過しました。
リストアが失敗するか、予想よりも時間がかかった場合:
- タイムスタンプがリカバリ・ウィンドウ内にあることを確認します。
- 割当ておよび制限により、新しいデータベース・システムを作成できることを確認します。