DRトポロジの構成
ディザスタ・リカバリ(DR)トポロジを設定します。スクリプトを使用してプロセスを効率化できます。
スクリプトのダウンロード
GitHubリポジトリから最新の設定スクリプトを取得します。
ノート:
ダウンロードしたすべてのスクリプトを同じフォルダに配置します。ダウンロードされたファイルには、次のタスクを実行するためのスクリプトが含まれています。
- データソースのTNS別名の構成
- 初期DR構成を設定します
- 進行中のレプリケーションの設定
- Oracle WebLogic Server、Oracle SOAまたはOracle Fusion Middlewareシステムのウォレットを変更します。
スクリプト名 | 説明 |
---|---|
fmwadb_config_replica.sh |
サイト間で構成をレプリケートします。 |
fmwadb_dr_prim.sh |
DR設定のプライマリサイトを準備します。 |
fmwadb_dr_stby.sh |
DR設定のセカンダリサイトを準備します。 |
fmwadb_rest_api_listabds.sh |
ADB IDおよびテナンシ情報に基づいてAutonomous Databaseロールを取得します。 |
fmwadb_switch_db_conn.sh |
既存の接続情報を新しいADBS WALLETに置き換えます。 |
fmw_change_to_tns_alias.sh |
Oracle WebLogicデータソースおよびjps config ファイルで使用される接続文字列をtns別名に置き換えます。
|
fmw_dec_pwd.sh |
Oracle WebLogicで暗号化されたパスワードを復号化します。 |
fmw_enc_pwd.sh |
Oracle WebLogic暗号化を使用してパスワードを暗号化します。 |
fmw_get_connect_string.sh |
Oracle WebLogic、Oracle SOAまたはOracle Fusion Middlewareデータソースが使用している接続文字列を返します。 |
fmw_get_ds_property.sh |
特定のデータソース・プロパティの値を返します。 |
TNS別名を使用するためのプライマリのデータ・ソースおよびJPS構成の変更
Java Database Connectivity (JDBC) URLで透過的ネットワーク・サブストレート(TNS)別名を使用すると、リモート・リフレッシュ可能クローンを使用してプライマリとスタンバイ間を移動することで、Oracle WebLogic Server for Oracle Cloud Infrastructureデータ・ソースの再構成が容易になります。
ノート:
リリース23.1.1 (2023年2月)以降にプロビジョニングされたOracle SOA Suite on Marketplaceインスタンスは、すぐに利用できるTNS別名アプローチで構成されています。この場合、このタスクはスキップできます。
TNS別名を使用するには、データソースおよびjps
ファイルにOracle Fusion Middleware構成ファイル内の変数oracle.net.tns_adminが含まれている必要があります。
セカンダリ・リージョンでのVCNおよびサブネットの作成
まだ行っていない場合は、プライマリ・リージョンのCIDRと競合しないCIDRを使用して、スタンバイ・リージョンにVCNを作成します。たとえば、プライマリVCNで10.1.0.0/16を使用する場合、セカンダリVCNでは10.2.0.0/16を使用できます。
プライマリとセカンダリVCN間でのDRGの構成
障害時リカバリの設定では、プライマリおよびセカンダリOracle WebLogic Server管理ノードが相互に通信し、Oracle Cloud Infrastructure File Storageのコピーを介してドメイン構成を受信する必要があります。そのためには、中間層のVCN間に動的ルーティング・ゲートウェイ(DRG)を作成する必要があります。
セカンダリ・リージョンでのOracle Autonomous Data Guardスタンバイの作成
既存のプライマリOracle Autonomous Databaseのスタンバイ・データベースを作成します。
- Oracle Autonomous Database Serverlessの場合は、セカンダリ・リージョンにスタンバイOracle Autonomous Database Serverlessを作成します。
- OCIコンソールで、左側のナビゲーション・メニューの「Oracle Database」をクリックして、プライマリOracle Autonomous Databaseに移動します。
- 「Autonomous Databaseの詳細」ページの「リソース」の下で、「ディザスタ・リカバリ」をクリックし、「ピア・データベースの追加」をクリックします。
- 前に作成したVCNおよびプライベート・サブネットを使用します。
- 専用Exadata InfrastructureOracle Autonomous Database on Dedicated Exadata Infrastructure上のOracle Autonomous Databaseの場合
DR設定のためのスタンバイAutonomous Databaseの準備
このタスクは、スナップショット・スタンバイまたはリモート・リフレッシュ可能クローンのどちらのアプローチを使用しているかによって異なります。
スナップショット・スタンバイのアプローチについては、スタンバイをスナップショット・スタンバイに変換を参照してください。
リモート・リフレッシュ可能クローンのアプローチについては、セカンダリ・リージョンでのリモート・リフレッシュ可能クローンの作成を参照してください。
スタンバイをスナップショット・スタンバイに変換
スナップショット・スタンバイのアプローチを使用して、スタンバイ自律型データベースをスナップショット・スタンバイに変換します。
- Oracle Cloud Infrastructure Consoleの左側のナビゲーション・メニューから、「Autonomous Database」をクリックします。
- セカンダリ・リージョンで、スタンバイAutonomous Databaseを選択します。
- 「他のアクション」ドロップダウン・リストから、「スナップショット・スタンバイ・データベースに変換」をクリックします。
- 専用インフラストラクチャを使用している場合は、「プライマリ・データベース・サービスの使用」を選択します。
ノート:
Oracle Dedicated Exadata Infrastructureのスナップショット・スタンバイが7日以内にフィジカル・スタンバイに変換されない場合、スナップショット・スタンバイは自動的にフィジカル・スタンバイに変換されます。
Oracle Autonomous Database Serverlessのスナップショット・スタンバイが2日以内にフィジカル・スタンバイに変換されない場合、スナップショット・スタンバイは自動的にフィジカル・スタンバイに変換されます。
セカンダリ・システムのプロビジョニング
セカンダリ・Oracle WebLogic Server for Oracle Cloud Infrastructure、Oracle SOA Suite on Marketplaceまたはその他の中間層Oracle Cloud Infrastructure (OCI)サービスをプロビジョニングします。このサービスは、セカンダリ・データベースを指すOracle Fusion Middleware (システム) (スナップショット・スタンバイ・アプローチの場合)またはリフレッシュ可能クローン(リモート・リフレッシュ可能クローンのアプローチの場合)を使用します。
セカンダリTNS別名接続文字列の変更
セカンダリ・システムで使用される別名をプライマリ・システムと同じ別名に変更してください。
プライマリ・システムと同様に、$DOMAIN_HOME/config/jdbc
の下のすべてのデータソース・ファイルおよび$DOMAIN_HOME/config/fmwconfig
の下にあるjps config
ファイルで、透過的ネットワーク・サブストレート(TNS)別名を使用する必要があります。セカンダリ(スタンバイ)システムで使用される別名は、プライマリ・システムと同じになります。これは、前に作成した別名を含むプライマリからデータソースがレプリケートされるためです。
-
スナップショット・スタンバイのアプローチについては、スナップショット・スタンバイ・アプローチのセカンダリTNS別名接続文字列の変更を参照してください。
-
リモート・リフレッシュ可能クローン・アプローチについては、リモート・リフレッシュ可能クローン・アプローチのセカンダリTNS別名接続文字列の変更を参照してください。
スナップショット・スタンバイ・アプローチのセカンダリTNS別名接続文字列の変更
スナップショット・スタンバイのアプローチでは、tnsnames.ora
ファイルの別名はプライマリと同じであることが予想されます(ただし、接続文字列はスタンバイ・データベースのアドレスを指しています)。変更する必要はありません。
リモート・リフレッシュ可能クローン・アプローチのセカンダリTNS別名接続文字列の変更
リモート・リフレッシュ可能クローン・アプローチの場合は、セカンダリ・システムで使用される別名をプライマリ・システムと同じ別名に変更してください。
セカンダリOracle WebLogic Server for Oracle Cloud Infrastructure、Oracle SOA Suite on MarketplaceまたはOracle Fusion Middlewareシステム作成に含まれるtnsnames.ora
ファイルには、リモート・リフレッシュ可能クローン名に基づく別名が含まれます。たとえば、リモート・リフレッシュ可能クローンがsoaadb1rc2
という名前で作成されている場合、(プロビジョニング中に作成されたウォレット・ディレクトリ内の)tnsnames.ora
ファイルには、 soaadb1rc2_high
、soaadb1rc2_low
、soaadb1rc2_medium
、soaadb1rc2_tp
、soaadb1rc2_tpurgent
という別名が含まれます。構成を簡略化するには、プライマリ・システムとセカンダリ・システムの両方でtnsnames.ora
ファイルで同じ別名を使用する必要があるため、Oracle WebLogic Server for Oracle Cloud Infrastructure、Oracle SOA Suite on MarketplaceまたはOracle Fusion Middlewareドメインがプライマリと同じ別名を使用するように(リモート・リフレッシュ可能クローン)構成されているTNS別名を変更します。プライマリの別名を$tns_admin/tsnames.ora
ファイルから取得できます。サービスごとに異なる別名が作成され、すべてDB名から接頭辞が推測されます。サービスではなく別名のみを変更することに注意してください。tnsnames.ora
ファイルの接続文字列のサービス名も変更される可能性があるため、ファイルでグローバル検索および置換を使用しないでください。
プライマリ・システムと同様に、$DOMAIN_HOME/config/jdbc
および$DOMAIN_HOME/config/fmwconfig
の下のjps構成ファイル内のすべてのデータソース・ファイルは、選択した別名を使用します。プライマリ・システム(low
、mid
、high
、tp
またはtpurgent
)と同じサービス・レベルがリモート・リフレッシュ可能クローンで選択されていることが期待されます。別名およびデータソースはプライマリ・システムからコピーされるため、セカンダリ・システムでfmw_change_to_tns_alias.sh
スクリプトを実行する必要はありません。障害回復の設定では、必要な交換が処理されます。
プライマリtnsnames.ora
ファイル内の他のデータベースを指す別名を追加する場合は、セカンダリ・システムのtnsnames.ora
ファイルにそれに応じて追加します。
プライマリおよびスタンバイ中間体でのホスト名別名およびフロントエンド・アドレスの更新
プライマリとスタンバイの両方で同じフロントエンド・アドレスを使用する必要があります。通常の操作中に、このフロントエンド・ホスト名はプライマリOracle Cloud Infrastructure (OCI) Load BalancerのIPにマップされます。セカンダリから(スイッチオーバーまたはフェイルオーバー後に)実行する場合、このフロントエンド・ホスト名はセカンダリOCI Load BalancerのIPにマップされます。
ノート:
スイッチオーバーまたはフェイルオーバーがある場合、中間層ホストの/etc/hosts
ファイルは変更しないでください。中間層ホストは、常にフロントエンドIPを使用して仮想フロントエンド名を解決します。スイッチオーバーおよびフェイルオーバー手順中に必要な DNS更新は、クライアントが使用する DNSまたはホストファイルで実行されます。
このホストエイリアシングは、次の方法で実装できます。
- ホスト名を別名としてOracle WebLogic Server for OCIコンピュート・インスタンスの
/etc/hosts
ファイルに追加します - セカンダリOCI VCNでのプライベートDNSビューの使用
/etc/hosts
ファイルを使用
/etc/hosts
ファイルに追加され、セカンダリOracle WebLogic ServerホストのIPアドレスを指しています。 このモードは、DNSサーバーがプライマリおよびセカンダリOracle Cloud Infrastructure (OCI)サイトで同じである場合、およびプライマリ・サイトとセカンダリ・サイトで分離されたDNSサーバーが使用されている場合にも有効です。/etc/hosts
ファイル内のエントリは、DNS解決よりも優先されます。これは、/etc/nsswitch.conf
ファイルのディレクティブ「hosts」にデフォルトで定義されている優先順位であるためです。
OCIドメイン・ネーム・システム(DNS)の使用
/etc/hosts
に追加するのではなく、すべてのエントリをプライベートDNSビューに追加できることです。
セカンダリVCNでプライベート・ビューを作成し、セカンダリIPを持つプライマリによって使用されるホスト名を解決するステップは、次のとおりです:
セカンダリ・システムの構成
jdbc url
はローカル・データベースを指し示しています(スイッチオーバーの準備としてDRの設定時およびスタンバイ時にリフレッシュ可能クローン)。
システムをスイッチオーバー準備完了のままにする
ノート:
このタスクは、セカンダリシステムがリモートリフレッシュ可能クローンで構成および検証されている場合にのみ必要です。セカンダリ・データベース・ユーザー・インタフェースからスタンバイ・データベースのウォレットをダウンロードします。リモートDRの場合、デュアル接続文字列(プライマリホストとスタンバイホストの両方)は不要な再試行を引き起こすため避けてください。
進行中の構成レプリケーションの設定
fmwadb_config_replica.sh
スクリプトは、Oracle Cloud Infrastructure File Storage (OCI File Storage)ステージ・ディレクトリを介して定期的に変更をレプリケートします。
各レプリケーションの後、構成はスイッチオーバーの準備ができています(準備されています)。
リモート・リフレッシュ可能クローンを使用している場合は、レプリケートされた構成が(リフレッシュ可能クローンではなく)フィジカル・スタンバイに「適応」されると想定されます。リフレッシュ可能クローンを使用した検証またはテストが必要な場合は、かわりにリフレッシュ可能クローンを指すようにスタンバイ・ドメイン構成を変更できます。
構成をレプリケートするには、WebLogicサーバー管理ノード(プライマリとスタンバイの両方)でfmwadb_config_replica.sh
スクリプトを実行する必要があります。通常、このスクリプトは、Oracle Autonomous Databaseシステム上のプライマリとスタンバイのWebLogicサーバー、Oracle SOA SuiteまたはOracle Fusion Middlewareシステムの間で構成を定期的にレプリケートするために、cron
ジョブでスケジュールされます。このスクリプトは、ローカル・データベースの現在のロールをチェックして、プライマリ・サイトまたはスタンバイ・サイトで実行されているかどうかを確認します。
- スクリプトがPRIMARYサイトで実行されると、ドメイン構成がプライマリ・ドメインからローカル・アシスタンス・フォルダ(FSS)にコピーされ、その後(
rsync
を介して)セカンダリ・サイト・アシスタンス・フォルダにコピーされます。 - スクリプトがSTANDBYサイトで実行されると、セカンダリ・アシスタンス・フォルダ(OCI File Storage)からセカンダリ・ドメインにドメイン構成がコピーされ、データソースがローカル・データベースと連携するために必要な置換が行われます。
セキュリティ上の理由から、OCIコンソールから様々なパラメータを収集し、Oracle Autonomous Databaseウォレットにアクセスするためのパスワードを暗号化する必要があります。
スクリプトで使用される変数とその取得方法の説明を次に示します。
- REMOTE_WLSADMIN_NODE_IP
ピアおよびリモートの WebLogic Server管理サーバーノードのIP。
これは、ピア・サイトのWebLogicサーバー管理サーバー内のノード・ホストのIPです。ローカル・ノードからアクセス可能である必要があります。Dynamic Routing Gatewayを使用してノードのリモート・プライベートIPに接続することをお薦めします。
- REMOTE_SSH_PRIV_KEYFILE
リモートOracle WebLogic管理サーバー・ノードに接続するための秘密SSHキーファイル。
- TENANCY_OCID
Oracle Autonomous Databaseが存在するテナンシのOCID。OCIDは、Oracle Cloud Infrastructure (OCI)ユーザー・インタフェース(UI)から取得できます。
- USER_OCID
自律型データベース・インスタンスを所有するユーザーのOCID。OCIDはOCI UIにあります。
- PRIVATE_KEY
このユーザーの秘密PEMフォーマット・キーへのパス。
- LOCAL_ADB_OCID
検査されるOracle Autonomous DatabaseのOCID。OCIDは、OCIコンソールのOracle Autonomous Database画面にあります。
- WALLET_DIR
ローカルOracle Autonomous Databaseウォレットのディレクトリ(OCIコンソールからダウンロードしたウォレットを解凍します)。このディレクトリには、少なくとも
tnsnames.ora
、keystore.jks
およびtruststore.jks
ファイルが含まれている必要があります。スナップショット・スタンバイ・アプローチを使用する場合、これはtnsadmin
フォルダです - ENC_WALLET_PASSWORD
ウォレットがOracle Autonomous Database OCI UIからダウンロードされたときに指定されたパスワードのWLS ENCRYPTEDインカネーション。
ウォレットがWebLogicサーバー、Oracle SOA SuiteまたはOracle Fusion MiddlewareによってWebLogicサーバーのプロビジョニング中に作成された最初のウォレットである場合、次のコマンドを使用してパスワードを取得できます:
WebLogicの場合:[oracle@wsladbs2-wls-1 ~]$ python3 /opt/scripts/atp_db_util.py generate-atp-wallet-password
SOAの場合:[oracle@soarefr-soa-0 ~]$ python /opt/scripts/atp_db_util.py generate-atp-wallet-password
パスワードを暗号化するには、OCIコンソールで提供されているパスワードか、プロビジョニング中に使用されるパスワードかに関係なく、fmw_enc_pwd.sh
スクリプトを使用できます。./fmw_enc_pwd.sh UNENC_WALLET_PASSWORD
取得した文字列をENC_WALLET_PASSWORD変数に使用します。
- FSS_MOUNT
WebLogicサーバー・ドメイン構成のステージングに使用されるOCIファイル・ストレージ・マウント済ディレクトリ。
変数の情報を収集したら、次のステップを実行して、環境のスクリプトをコピーおよびカスタマイズします。