EC2およびFSX Oracleデータベース管理
このOracle環境では、AWS EC2とFSXの管理コンソールに加え、Ansible制御ノードとSnapCenter UIツールを使用してデータベースを管理できます。
Ansibleコントロールノードを使用してOracle環境構成を管理できます。また、カーネルやパッチの更新のためにプライマリインスタンスとスタンバイインスタンスを同期させる並行アップデートを使用できます。NetApp Automation Toolkitを使用すると、フェイルオーバー、再同期、フェイルバックを自動化して、Ansibleでアプリケーションの高速リカバリと可用性をアーカイブできます。繰り返し可能なデータベース管理タスクには、プレイブックを使用して人為的ミスを減らすことができます。
SnapCenter UIツールでは、Oracleデータベース用のSnapCenter プラグインを使用して、データベースSnapshotのバックアップ、ポイントインタイムリカバリ、データベースクローニングなどを実行できます。Oracleプラグイン機能の詳細については、を参照してください "SnapCenter Plug-in for Oracle Databaseの概要"。
以下のセクションでは、SnapCenter UIを使用して、Oracleデータベース管理の主な機能を実行する方法について詳しく説明します。
-
データベースSnapshotバックアップ
-
データベースのポイントインタイムリストア
-
データベースクローンの作成
データベースクローニングでは、論理データのエラーや破損が発生した場合にデータをリカバリするために、別のEC2ホストにプライマリデータベースのレプリカが作成されます。また、クローンを使用して、アプリケーションのテスト、デバッグ、パッチ検証を行うこともできます。
Snapshotを取得しています
EC2/FSX Oracleデータベースは、ユーザが設定した間隔で定期的にバックアップされます。ユーザは、Snapshotバックアップを一度に作成することもできます。この環境 では、フルデータベースのSnapshotバックアップとアーカイブログのみのSnapshotバックアップの両方が作成されます。
フルデータベーススナップショットを取得しています
フルデータベーススナップショットには、データファイル、制御ファイル、アーカイブログファイルなど、すべてのOracleファイルが含まれます。
-
SnapCenter UIにログインし、左側のメニューでResources(リソース)をクリックします。Viewドロップダウンから、Resource Groupビューに移動します。
-
フル・バックアップ・リソース名をクリックし、[今すぐバックアップ]アイコンをクリックして、追加バックアップを開始します。
-
[バックアップ]をクリックし、バックアップを確定して、フル・データベース・バックアップを開始します。
データベースの[リソース]ビューで、[データベース管理バックアップコピー]ページを開いて、一度限りのバックアップが正常に完了したことを確認します。フルデータベースバックアップでは、データボリューム用とログボリューム用の2つのSnapshotが作成されます。
アーカイブログのSnapshotを取得しています
アーカイブログのSnapshotは、Oracleアーカイブログボリュームに対してのみ作成されます。
-
SnapCenter UIにログインし、左側のメニューバーにある[Resources]タブをクリックします。Viewドロップダウンから、Resource Groupビューに移動します。
-
ログバックアップリソース名をクリックし、[今すぐバックアップ]アイコンをクリックして、アーカイブログの追加バックアップを開始します。
-
Backupをクリックしてバックアップを確定し、アーカイブログのバックアップを開始します。
データベースの[リソース]ビューで、[データベース管理バックアップコピー]ページを開き、1回限りのアーカイブログバックアップが正常に完了したことを確認します。アーカイブログバックアップでは、ログボリューム用のSnapshotが1つ作成されます。
特定の時点へのリストア
SnapCenterベースのリストアを同じEC2インスタンスホストで実行すると、ある時点までのリストアが実行されます。リストアを実行するには、次の手順を実行します。
-
SnapCenter リソースタブのデータベースビューで、データベース名をクリックしてデータベースバックアップを開きます。
-
データベースのバックアップコピーおよびリストアするポイントインタイムを選択します。また、ポイントインタイムに対応するSCN番号もマークダウンします。ポイントインタイムリストアは、時間またはSCNを使用して実行できます。
-
ログボリュームのSnapshotを選択し、マウントボタンをクリックしてボリュームをマウントします。
-
ログボリュームをマウントするプライマリEC2インスタンスを選択します。
-
マウントジョブが正常に完了したことを確認します。また、EC2インスタンスホストで、そのログボリュームがマウントされていること、およびマウントポイントパスを確認します。
-
マウントされたログボリュームから現在のアーカイブログディレクトリにアーカイブログをコピーします。
[ec2-user@ip-10-0-0-151 ~]$ cp /var/opt/snapcenter/sco/backup_mount/ip-10-0-0-151_03-25-2022_11.15.01.1503_1/ORCL/1/db/ORCL_A/arch/*.arc /ora_nfs_log/db/ORCL_A/arch/
-
SnapCenter リソースタブ>データベースバックアップページに戻り、データSnapshotコピーを強調表示し、復元ボタンをクリックしてデータベースリストアワークフローを開始します。
-
[すべてのデータファイル]および[リストアとリカバリに必要な場合はデータベースの状態を変更する]をオンにして、[次へ]をクリックします。
-
SCNまたは時刻を使用して、目的のリカバリ範囲を選択します。手順6で説明したように、マウントされたアーカイブログを現在のログディレクトリにコピーする代わりに、マウントされたアーカイブログのパスを「リカバリのための外部アーカイブログファイルの場所の指定」に記載できます。
-
必要に応じて実行するプリスクリプトをオプションで指定します。
-
必要に応じて、オプションのアフタースクリプトを指定して実行します。リカバリ後に開いているデータベースを確認します。
-
ジョブ通知が必要な場合は、SMTPサーバとEメールアドレスを指定します。
-
ジョブの概要をリストア[終了]をクリックして、リストア・ジョブを起動します。
-
SnapCenter からのリストアを検証します。
-
EC2インスタンスホストからリストアを検証します。
-
リストア・ログ・ボリュームをアンマウントするには、手順4と逆の手順を実行します。
データベースクローンを作成しています
次のセクションでは、SnapCenter クローンワークフローを使用して、プライマリデータベースからスタンバイEC2インスタンスへのデータベースクローンを作成する方法について説明します。
-
フルバックアップリソースグループを使用して、SnapCenter からプライマリデータベースのフルSnapshotバックアップを作成します。
-
SnapCenter リソースタブのデータベースビューで、レプリカの作成元のプライマリデータベースのデータベースバックアップ管理ページを開きます。
-
手順4で作成したログボリュームSnapshotを、スタンバイEC2インスタンスホストにマウントします。
-
レプリカ用にクローンを作成するスナップショットコピーをハイライト表示し、[クローン]ボタンをクリックしてクローン手順 を起動します。
-
レプリカコピー名を変更して、プライマリデータベース名とは異なる名前にします。次へをクリックします。
-
クローンホストをスタンバイEC2ホストに変更し、デフォルトの名前を受け入れて、Nextをクリックします。
-
Oracleホームの設定をターゲットOracleサーバーホスト用に構成された設定に合わせて変更し、次へをクリックします。
-
時刻またはSCNとマウントされたアーカイブログのパスを使用して、リカバリポイントを指定します。
-
必要に応じてSMTP Eメール設定を送信します。
-
ジョブの概要を複製し、[完了]をクリックしてクローンジョブを起動します。
-
クローンジョブログを確認して、レプリカクローンを検証します。
クローニングされたデータベースは、ただちにSnapCenter に登録されます。
-
Oracleアーカイブログモードをオフにします。OracleユーザとしてEC2インスタンスにログインし、次のコマンドを実行します。
sqlplus / as sysdba
shutdown immediate;
startup mount;
alter database noarchivelog;
alter database open;
プライマリOracleバックアップコピーの代わりに、複製されたセカンダリバックアップコピーから同じ手順でクローンをターゲットFSXクラスタに作成することもできます。 |
スタンバイおよび再同期へのHAフェイルオーバー
スタンバイのOracle HAクラスタは、コンピューティングレイヤまたはストレージレイヤのいずれかで、プライマリサイトで障害が発生した場合に高可用性を提供します。解決策 の大きな利点の1つは、ユーザがいつでも、または頻度を問わずにインフラをテストおよび検証できることです。フェイルオーバーは、ユーザがシミュレートすることも、実際の障害によってトリガーすることもできます。フェイルオーバープロセスは同一であり、アプリケーションのリカバリを高速化するために自動化できます。
次のフェイルオーバー手順を参照してください。
-
フェイルオーバーをシミュレートするには、ログスナップショットバックアップを実行して、最新のトランザクションをスタンバイサイトにフラッシュします。詳細については、を参照してください アーカイブログのSnapshotを取得しています。実際の障害によってトリガーされたフェイルオーバーでは、最後にリカバリ可能なデータが、スケジュールされたログボリュームのバックアップが最後に成功した時点でスタンバイサイトにレプリケートされます。
-
プライマリとスタンバイのFSXクラスタ間のSnapMirrorを解除します。
-
複製されたスタンバイデータベースボリュームをスタンバイEC2インスタンスホストにマウントします。
-
複製されたOracleバイナリをOracleリカバリに使用する場合は、Oracleバイナリを再リンクします。
-
スタンバイOracleデータベースを、最後に使用可能なアーカイブログにリカバリします。
-
アプリケーションおよびユーザアクセス用のスタンバイOracleデータベースを開きます。
-
実際のプライマリサイト障害では、スタンバイOracleデータベースが新しいプライマリサイトの役割を担い、データベースボリュームを使用して、リバースSnapMirror方式で障害が発生したプライマリサイトを新しいスタンバイサイトとして再構築できます。
-
プライマリサイトのテストまたは検証の失敗をシミュレートするには、テストの完了後にスタンバイOracleデータベースをシャットダウンします。次に、スタンバイEC2インスタンスホストからスタンバイデータベースボリュームをアンマウントし、プライマリサイトからスタンバイサイトにレプリケーションを再同期します。
これらの手順は、NetApp Automation Toolkitを使用して実行できます。このツールキットは、パブリックのNetApp GitHubサイトからダウンロードできます。
git clone https://github.com/NetApp-Automation/na_ora_hadr_failover_resync.git
セットアップとフェイルオーバーのテストを行う前に、READMEの手順をよくお読みください。