容量の大きいディスクへの交換を実施する場合は、バックアップおよびリカバリ機能を使用してトランザクションログ格納先の資源を移行する必要があります。
バックアップとリカバリ操作は、以下の2つの方法で行うことができます。
以降で、それぞれの操作でディスク交換とトランザクションログ格納先の資源の移行を行う場合の手順について説明します。
注意
ディスク交換を実施する前に、データベースを利用しているアプリケーションおよびインスタンスを停止してください。
リカバリ操作後は、データベースクラスタのバックアップを推奨します。バックアップすることで、不要になったアーカイブログ(バックアップデータ格納先にコピーされたトランザクションログ)が削除されるため、ディスク容量の確保やリカバリ時間の短縮につながります。
WebAdminを使用してディスク交換とトランザクションログ格納先の資源の移行を行う場合の手順を以下に示します。
ファイルの退避
トランザクションログ格納先のディスク配下に必要なファイルが存在する場合、ファイルを退避します。トランザクションログ格納先の退避は不要です。
データベースクラスタのバックアップ
最新のデータ格納先の資源、およびトランザクションログ格納先の資源をバックアップします。バックアップ方法については、“3.2.1 WebAdminを使用する場合”を参照してください。
アプリケーションの停止
データベースを利用しているアプリケーションを停止してください。
インスタンスの停止
インスタンスを停止します。停止方法については、“2.1.1 WebAdminを使用する場合”を参照してください。インスタンスを停止せずにデータベースクラスタのリカバリをした場合は、WebAdminが自動的にインスタンスを停止します。
容量の大きいディスクへの交換
ディスクを交換します。その後、ボリュームの構成情報をリカバリします。
テーブル空間のディレクトリ作成
バックアップを実施した以降にテーブル空間を定義している場合、そのディレクトリを作成します。
キーストアのリカバリとキーストアの自動オープンの有効化
データベースに格納するデータを暗号化している場合は、以下を行ってください。
データベースのバックアップを取得した時点のキーストアをリストアしてください。
キーストアの自動オープンを有効にしてください。
データベースクラスタのリカバリ
WebAdminにログインし、リカバリ操作を行います。操作方法については、“13.1.1 WebAdminを使用する場合”の“データ格納ディスク、またはトランザクションログ格納ディスクに障害が発生した場合”の手順4“テーブル空間のディレクトリ作成”から手順7“リカバリの実行”を参照してください。リカバリが正常に完了すると、インスタンスが自動的に起動されます。
アプリケーションの再開
データベースを利用しているアプリケーションを再開してください。
ファイルの復元
手順1“ファイルの退避”で退避したファイルを元に戻します。
サーバコマンドを使用してディスク交換とトランザクションログ格納先の資源の移行を行う場合の手順を以下に示します。
ファイルの退避
トランザクションログ格納先のディスク配下に必要なファイルが存在する場合、ファイルを退避します。トランザクションログ格納先の退避は不要です。
データベースクラスタのバックアップ
サーバコマンドを使用して最新のデータ格納先資源、およびトランザクションログ格納先資源をバックアップします。バックアップ方法については、“3.2.2 サーバコマンドを使用する場合”を参照してください。
アプリケーションの停止
データベースを利用しているアプリケーションを停止してください。
インスタンスの停止
バックアップ完了後、インスタンスを停止します。インスタンスの停止方法については、“2.1.2 コマンドを利用する場合”を参照してください。
インスタンスの停止に失敗した場合は、“13.11 インスタンス停止失敗時の対処”を参照してください。
容量の大きいディスクへ交換
ディスクを交換します。その後、ボリュームの構成情報をリカバリします。
トランザクションログ格納先のディレクトリ作成
トランザクションログ格納先のディレクトリを作成します。テーブル空間を定義していた場合、そのディレクトリも作成してください。
トランザクションログ格納先のディレクトリは、Windows(R)のエクスプローラの[プロパティ]でインスタンス管理者のみがアクセスできるように許可を設定します。([プロパティ]の詳細は、Windows(R)の[ヘルプとサポート]を参照してください。)
キーストアのリカバリとキーストアの自動オープンの有効化
データベースに格納するデータを暗号化している場合は、データベースのバックアップを取得した時点のキーストアをリストアしてください。キーストアの自動オープンは、必要に応じて設定してください。
データベースクラスタのリカバリ
pgx_rcvallコマンドを使用して、データベースクラスタを復旧します。
-Dオプションは、データ格納先のディレクトリを指定します。-Dオプションを省略した場合、PGDATA環境変数の値が使用されます。
-Bオプションは、バックアップデータ格納先のディレクトリを指定します。
> pgx_rcvall -D D:\database\inst1 -B E:\backup\inst1
注意
リカバリに失敗した場合は、表示されるエラーメッセージに従ってエラーの原因を取り除き、pgx_rcvallコマンドを再実行してください。
「pgx_rcvall:リカバリ中にエラーが発生しました」のメッセージがある場合は、その後にリカバリ実行時のログが出力されます。ログの最後の十数行以内にエラーの原因が出力されますので、そのメッセージに従ってエラーの原因を取り除き、pgx_rcvallコマンドを再実行してください。
また、リカバリ中に表示される以下のメッセージは、pgx_rcvallコマンドの正常な動作によって出力されるメッセージのため、ユーザーが意識する必要はありません。
FATAL: データベースシステムは起動しています
参照
pgx_rcvallコマンドの詳細は、“リファレンス”の“pgx_rcvall”を参照してください。
インスタンスの起動
インスタンスを起動してください。
インスタンスの起動方法については、“2.1.2 コマンドを利用する場合”を参照してください。
注意
pgx_rcvallコマンドは、ハッシュインデックスを正しく復旧できません。ハッシュインデックスを使用している場合、インスタンス起動後、該当するインデックスに対して、REINDEXコマンドを実行してください。
アプリケーションの再開
データベースを利用しているアプリケーションを再開してください。
ファイルの復元
手順1“ファイルの退避”で退避したファイルを元に戻します。