1.Oracle SEHAについて
Oracle 19c からSE2RACが廃止となりましたが、
リリースアップデート19.7からHA(High Availability)構成が可能となりました。
・Oracle Database 19.7およびOracle Grid Infrastructure 19.7が必要
・クラスタソフトウェアはOracle Grid Infrastructure リリースアップデート19.7に含まれるOCW(Oracle Clusterware)
・本番サーバ・待機サーバのフェイルオーバー構成
・待機サーバの稼働日数が年間10日以内であれば待機サーバのライセンス不要
参考:HA構成におけるライセンスカウントについて
https://faq.oracle.co.jp/app/answers/detail/a_id/2637/~/ha%E6%A7%8B%E6%88%90%E3%81%AB%E3%81%8A%E3%81%91%E3%82%8B%E3%83%A9%E3%82%A4%E3%82%BB%E3%83%B3%E3%82%B9%E3%82%AB%E3%82%A6%E3%83%B3%E3%83%88%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6
(オラクル社のライセンスカウントFAQの記載にしたがい、以下、SEHAのノードについて本番サーバ・待機サーバと記載します)
2.NetVaultでOracle SEHAをバックアップするには
以下の2つのパターンが考えられます
①クラスタとみなさず、本番サーバから、OracleシングルインスタンスをOracle Pluginでバックアップ
(ただし、本番サーバに障害発生して待機サーバへフェイルオーバー時、バックアップジョブのフェイルオーバー不可)
②SEHAの仮想IP(VIPまたはSCAN)でNetVault仮想クライアントとOracle Cluster Pluginをセットアップし、
通常は本番サーバからバックアップ、フェイルオーバー発生時は待機サーバからバックアップ
しかし、現時点ではOCW(Oracle Clusterware)はNetVaultではクラスタソフトウェアとしてサポートしていませんので、
パターン①をご検討いただくことになります。
以下、パターン①で試してみました。
(1)Oracle19.7でSEHAを構築
(2)本番サーバからNetVaultとOracle Pluginでシングルインスタンスをバックアップ
(3)待機サーバにフェイルオーバーし、待機サーバにNetVaultとOracle Pluginをセットアップ
(4)待機サーバで、本番サーバから取得したバックアップをリストア
3.検証環境
・Grid Infrastructureの前提条件でDNSサーバ必須
・SCAN VIPはデフォルトで3、各ノードVIPも必要
3.1 NetVaultサーバ環境
OS: |
Oracle Linux 8.3 |
ホスト名: |
o83test |
NetVault Core: |
13.0.1 |
バックアップストレージ: |
VTL |
3.2 SEHA環境
|
本番サーバ |
OS: |
Oracle Linux 8.3 |
ホスト名: |
O83O198P |
NetVault Core: |
13.0.1 |
Oracle Plugin: |
13.0.0.7 |
Database |
オラクル社 Oracle 19c (19.7.2.0) |
Cluster Software |
オラクル社 Grid InfraStructure 19.7.2.0 (OCW) |
|
待機サーバ |
OS: |
Oracle Linux 8.3 |
ホスト名: |
O83O198S |
NetVault Core: |
13.0.1 |
Oracle Plugin: |
13.0.0.7 |
Database |
オラクル社 Oracle 19c (19.7.2.0) |
Cluster Software |
オラクル社 Grid InfraStructure 19.7.2.0 (OCW) |
4.検証内容
4-1.Oracle19.7でSEHAを構築
・SEHAの構築については以下を参考にしました
Installing Standard Edition High Availability Database Software on Local File System
https://docs.oracle.com/en/database/oracle/oracle-database/19/ladbi/installing-seha-on-local-file-system.html
※注意点
・Oracle 19.7が必要です。 Oracleのサイトからダウンロードできる評価版は19.3ですので、 サポートサイトからリリースアップデート19.7.2をダウンロードしました。 |
|
パッチ31719845: GI RELEASE UPDATE REVISION 19.7.2.0.0 (p31719845_190000_Linux-x86-64.zip) 以下を含む パッチ31667176 Database パッチ31691573 OCW |
|
・OPatchのアップデートも必要です リリースアップデート19.7.2の適用にはOpatchのアップデートも必要でした |
|
OPatch 12.2.0.1.23 for Db 12.x, 18.x, 19.x and 20.x releases (Nov 2020) (p6880880_121010_Linux-x86-64.zip) |
|
・OS(Linux)のバージョンに注意 ・Oracle Linux 8.3では、Oracle runInstallerのSupportedOSCheckで[INS-08101] で失敗します。 ・Oracle Linux 8.3では、Oracle runInstallerのSSHのテストで[INS-06006] で失敗します。 |
|
・Oracle Database のリリースアップデート19.7.2の適用はOCWもアップデートが必要です OCWのアップデートによりsrvctlが更新されてSEHAでノード2の追加が可能となります。 |
Oracle Grid Infrastructureをセットアップし、ASMで共有ディスクを構築しますが
SEHAは、dbcaでRACではなくSingle Instance Database Installationでシングルインスタンスを作成します。
したがって基本的にシングル構成のDBとして扱えます
※dbcaの際に、アーカイブログを有効にして、データベース作成しておきます。
4-2.本番サーバからNetVaultとOracle Pluginでシングルインスタンスをバックアップ
簡単設定ガイドを参考に、バックアップサーバ、本番サーバにNetVaultをインストールし、バックアップサーバに本番サーバをNetVaultクライアントとして登録します。
(1) | バックアップサーバ(Oracle Linux8.3)にNetVault Server 13.0.1(Linux版Pure64)をインストールしました。 |
(2) | 本番サーバ(Oracle Linux8.3)にNetVault Client 13.0.1(Linux版Pure64)をインストールしました |
(3) | バックアップサーバにバックアップデバイスとしてVTLを作成します |
(4) | クライアント管理で本番サーバ(o83o198p)をクライアントとして登録します。 |
(5) |
Oracle Pluginのインストール インストール済みソフトウェアをページ送りしてPlug-in for Oracleがインストールされたことを確認します。 |
(6) |
Oracle 側の事前設定 ※dbcaの際に、アーカイブログを有効にして、データベース作成しておきます。 |
[oracle@o83o198p ~]$ sqlplus /nolog SQL*Plus: Release 19.0.0.0.0 - Production on Wed Jan 6 10:47:51 2021 Copyright (c) 1982, 2019, Oracle. All rights reserved. SQL> conn / as sysdba SQL> exit |
|
[oracle@o83o198p ~]$ rman target / nocatalog Recovery Manager: Release 19.0.0.0.0 - Production on Wed Jan 6 10:48:41 2021 Copyright (c) 1982, 2019, Oracle and/or its affiliates. All rights reserved. connected to target database: ORCL (DBID=1587802596) RMAN> show all; RMAN configuration parameters for database with db_unique_name ORCL are: RMAN> CONFIGURE DEFAULT DEVICE TYPE TO 'SBT_TAPE'; new RMAN configuration parameters: RMAN> CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE 'SBT_TAPE' TO '%F'; new RMAN configuration parameters: RMAN> exit
|
|
(7) | Oracle Pluginの設定 別ページを参照してください https://www.quest.com/community/jp-ja/w/data-protection-wiki/960/oracle-plug-in |
(8) | フルバックアップジョブを作成 通常のシングルインスタンスデータベースをバックアップするのと変わりありません。 バックアップセレクションでインスタンスorclをチェックします バックアップオプションでRMANを選択します。 ASMにデータベースが格納されており「ユーザ管理」バックアップ手法は使用できません。 バックアップターゲットはVTLを指定し、セット名を前項(7)で入力した「ORATARGET」と設定します。 ジョブの各項目を設定して、右下の「保存&実行」をクリックして、ジョブを実行します |
(9) | ジョブの正常終了を確認 |
4-3.待機サーバにフェイルオーバーし、待機サーバにNetVaultとOracle Pluginをセットアップ
srvctlで待機サーバにフェイルオーバー
[oracle@o83o198p ~]$ srvctl relocate database -db orcl -node o83o198s [oracle@o83o198p ~]$ srvctl status database -db orcl Instance orcl is running on node o83o198s |
前項4-2と同じように、待機サーバにNetVaultクライアントとOracle Pluginをインストール・設定し
確認のためフルバックアップジョブを作成・実行します。
4-4.待機サーバ側で、本番サーバから取得したバックアップをリストア
本番サーバから取得したバックアップを選択してリストアジョブを実行
(1) | リストアジョブの作成 |
(2) |
本番サーバO83O198Pのバックアップジョブを選択 |
(3) | プラグインオプションの編集 USERS表領域のみなので、テーブルスペース/データファイルのリストアを選択 「リストアを行う前に、リストア対象のテーブルスペースをオフラインにします」をチェック 「リストア完了後に、リストア対象のテーブルスペースをオンラインにします」をチェック 完全なリカバリーをしますを選択して、OKをクリック |
(4) | リストアジョブ作成画面に戻るので クライアント指定に、待機サーバからリストアするように待機サーバO83O198sを指定する |
(5) | 保存&実行ボタンをクリックし、リストアジョブを実行する |
(6) | リストアジョブが正常終了することを確認する |
5.暫定的な考察
まとめると、
・SEHA環境の本番サーバにNetVaultクライアントとOracle Pluginをインストールして、シングル構成のデータベースインスタンスとして、バックアップできました。
・このパターンでは、本番サーバから待機サーバにフェイルオーバーしても、バックアップジョブはフェイルオーバーできません
・しかし、待機サーバでデータベースが稼働している場合は、NetVaultクライアントとOracle Pluginをインストールすれば、シングル構成のデータベースインスタンスとして、バックアップできますし、
本番サーバで取得したバックアップを、待機サーバでリストアできました。
以上の結果から
本番サーバで通常時バックアップしておき、待機サーバでのOracle稼働は年間10日以下ルールを適用してOracleライセンスコストを下げ
本番サーバ障害時は待機サーバでは10日以内のみ一時的にバックアップ、および必要に応じて本番サーバで取得したバックアップをリストア
するような運用が可能になると言えるのではないでしょうか。
応用として、Hinemosなどの運用管理ツールとの連携し、擬似的にフェイルオーバーに対応するアイディア
本番サーバ、待機サーバにそれぞれNetVaultクライアントとOracle Pluginをセットアップしておき、
バックアップジョブをトリガジョブとして作って、
運用管理ツールから起動しておくようにすれば
運用管理ツールで本番・待機サーバどちらでOracleインスタンスが動いているか監視し
運用管理ツールから稼働しているサーバ側のトリガジョブを起動するという運用とすれば
擬似的にフェイルオーバーに対応が可能ではないでしょうか。
- 本ドキュメントは、検証作業や検証結果についてまとめたものを紹介しているものであり、本ドキュメントに関する内容について、クエスト・ソフトウェア株式会社が動作を保証するものではありません。各ソフトウェアのバージョンおよび環境等の違いにより動作しない場合も想定されますので、導入の際には事前に検証をされることを推奨いたします。
- 記載されている会社名および製品名などは該当する各社の商標または登録商標です。
- 本手順で説明している他社製品の操作詳細については、各社のマニュアル等をご参照ください。
作成:2021年1月