TR-5006:『High Throughput Oracle VLDB Implementation on Google Cloud NetApp Volumes with Data Guard』
ネットアップ、Niyaz Mohamed、Allen Cao氏
このソリューションでは、GoogleクラウドでOracle Data Guardを使用したGoogle Cloud NetApp Volume(GCNV)で高スループットのOracle Very Large Database(VLDB)を設定するための概要と詳細を提供します。
目的
高スループットでミッションクリティカルなOracle VLDBは、バックエンドデータベースストレージへの負荷を大きくしています。サービスレベルアグリーメント(SLA)を達成するには、データベースストレージが、ミリ秒未満のレイテンシパフォーマンスを維持しながら、必要な容量と高IOPS(Input/Out Operations per Second)を提供する必要があります。このようなデータベースワークロードを、共有ストレージリソース環境を使用するパブリッククラウドに導入する場合、特に困難が伴います。ストレージプラットフォームはどれも同じではありません。GCNVは、Googleが提供するプレミアムストレージサービスで、一貫したIOPSと低レイテンシのパフォーマンス特性を必要とする、GoogleクラウドへのミッションクリティカルなOracleデータベースの導入をサポートします。このアーキテクチャは、OLTPとOLAPのワークロードに対応し、さまざまなパフォーマンスプロファイルをサポートする構成可能なサービスレベルを備えています。GCNVは、1ミリ秒未満のレイテンシで超高速パフォーマンスを実現し、読み取り/書き込みワークロードが混在している場合に、ボリュームあたり最大4.5GiBpsのスループットを達成します。
GCNVの高速スナップショットバックアップ(秒)とクローン(分)機能を活用して、本番データベースのフルサイズコピーをPhysical Standbyからオンザフライでクローニングし、DEVやUATなどの他の多くのユースケースに対応できます。Active Data Guardライセンスと非効率で複雑なスナップショットスタンバイを解消できます。コストが大幅に削減される可能性があります。プライマリとスタンバイの両方のOracleサーバに64コアのCPUを搭載したOracle Data Guardの一般的なセットアップでは、Oracleの最新の価格表に基づくと、Active Data Guardのライセンスコスト削減額は1、472、000ドルになります。
このドキュメントでは、複数のNFSボリュームを使用するGCNVSストレージおよびストレージのロードバランシング用にOracle ASMでData Guardを使用するOracle VLDB構成をセットアップする方法を説明します。スタンバイデータベースボリュームは、Snapshotを使用して迅速にバックアップし、読み取り/書き込みアクセス用にクローニングできます。NetAppソリューションエンジニアリングチームは、クローンの作成と更新を自動化するツールキットを提供し、ライフサイクル管理を合理化します。
この解決策 は、次のユースケースに対応します。
-
Googleクラウドリージョン全体のGCNVストレージサービスのData Guard設定にOracle VLDBを実装。
-
Snapshotによるバックアップと、物理スタンバイデータベースのクローニングにより、レポート作成、開発、テストなどのユースケースに自動化されます。
対象読者
この解決策 は、次のユーザーを対象としています。
-
高可用性、データ保護、ディザスタリカバリを実現するために、GoogleクラウドでOracle VLDBとData GuardをセットアップするDBA。
-
GoogleクラウドでData Guardを使用したOracle VLDB構成に関心があるデータベースソリューションアーキテクト。
-
OracleデータベースをサポートするGCNVストレージを管理するストレージ管理者。
-
Googleクラウド環境でOracle VLDBとData Guardを立ち上げることを好むアプリケーション所有者。
解決策 のテストおよび検証環境
このソリューションのテストと検証は、実際のユーザ導入環境とは一致しない可能性があるGoogle Cloudラボ環境で実行されました。詳細については、を参照してください 導入にあたって考慮すべき主な要因。
アーキテクチャ
ハードウェアおよびソフトウェアコンポーネント
* ハードウェア * |
||
Google Cloud NetAppボリューム |
Googleが現在提供しているサービス |
2つのストレージプール、Premiumサービスレベル、自動QoS |
DBサーバ用Google Compute Engine VM |
N1(vCPU×4、メモリ:15GiB) |
4つのDB VM、プライマリDBサーバ、スタンバイDBサーバ、クローンDBサーバ、およびData Guardオブザーバ。 |
ソフトウェア |
||
Red Hat Linux |
Red Hat Enterprise Linux 8.10(Ootpa)- x86/64 |
RHEL Marketplaceの画像、PAYG |
Oracle Grid Infrastructureの略 |
バージョン19.18 |
RUパッチp34762026_190000_Linux-x86-64.zipを適用しました |
Oracleデータベース |
バージョン19.18 |
RUパッチp34765931_190000_Linux-x86-64.zipを適用しました |
DNFS OneOffパッチ |
p32931941_190000_Linux-x86-64.zip |
グリッドとデータベースの両方に適用 |
Oracle OPatchの略 |
バージョン12.2.0.1.36 |
最新のパッチp6880880_190000_Linux-x86-64.zip |
Ansible |
バージョンコア2.16.2 |
Pythonバージョン- 3.10.13 |
NFS |
バージョン3.0 |
OracleでDNFSが有効 |
NYからLAへのDRセットアップをシミュレートしたOracle VLDB Data Guard構成
* データベース * |
* DB_UNIQUE_NAME * |
* Oracle Net Service Name * |
プライマリ |
NTAP_NY |
NTAP_NY.cvs-pm-host-1p.internal |
スタンバイ |
NTAP_LA |
NTAP_LA.cvs-pm-host-1p.internal |
導入にあたって考慮すべき主な要因
-
* Google Cloud NetApp Volumeの構成*GCNVはGoogle Cloud ASに割り当てられます
Storage Pools
。今回のテストと検証では、East4リージョンでOracleプライマリデータベースをホストするために2TiBのストレージプールを導入し、West4リージョンでスタンバイデータベースとDBクローンをホストするために4TiBのストレージプールを導入しました。GCNVストレージプールには、Flex、Standard、Premium、Extremeの4つのサービスレベルがあります。ANF容量プールのIO容量は、容量プールのサイズとそのサービスレベルに基づきます。容量プールの作成時には、ストレージプールの場所、サービスレベル、可用性ゾーン、およびストレージプールの容量を設定します。Oracle Data Guard構成では、ゾーンレベルで障害が発生した場合にData Guardがデータベースのフェイルオーバー保護を提供するため、ゾーンの可用性で十分である必要があります。 -
*データベース・ボリュームのサイズ設定*本番環境では、NetApp Oracle AWRレポートからOracleデータベースのスループット要件を完全に評価することを推奨します。VLDBデータベースのGCNVボリュームレイアウトを設計する際には、データベースサイズ、スループット要件、およびサービスレベルを考慮してください。OracleデータベースにはORサービスのみを
Extreme`使用することを推奨します `Premium
。帯域幅は、TiBボリューム容量あたり64MiB/秒で、サービス用に最大4.5GiBps、サービス用に最大128MiB/秒で `Extreme`保証されます。 `Premium`スループットが高いほど、要件を満たすためにボリュームのサイズを大きくする必要があります。 -
*複数のボリュームと負荷分散*QoSはボリュームサイズとストレージプールのサービスレベルに厳密に基づいて適用されるため、1つの大容量ボリュームは、アグリゲートボリュームサイズが同じ複数のボリュームと同様のパフォーマンスレベルを提供できます。共有バックエンドのGCNVストレージリソースプールをより有効に活用し、4.5GiBpsを超えるスループット要件を満たすために、Oracle VLDB用に複数のボリューム(複数のNFSマウントポイント)を実装することを推奨します。Oracle ASMを実装して、複数のNFSボリュームにIOロードバランシングを実装します。
-
* Google Compute Engine VMインスタンスの考慮事項*これらのテストと検証では、4つのvCPUと15GiBメモリを搭載したCompute Engine VM-N1を使用しました。高スループットが求められるOracle VLDBには、Compute Engine DB VMインスタンスを適切に選択する必要があります。vCPUの数とRAMの容量に加えて、VMのネットワーク帯域幅(入出力またはNICのスループット制限)が、データベースストレージのスループットに達する前にボトルネックになる可能性があります。
-
* dNFS構成*dNFSを使用すると、GCNVストレージを搭載したGoogle Compute Engine VM上で実行されるOracleデータベースで、ネイティブNFSクライアントよりも大幅に多くのI/Oを処理できます。潜在的なバグに対処するために、Oracle dNFSパッチp32931941を適用してください。
解決策 の導入
次のセクションでは、GCNVストレージを使用する東リージョンのGoogleクラウドのプライマリOracle DBと、GCNVストレージを使用する西リージョンのGoogleクラウドの物理スタンバイOracle DBの間のOracle Data Guard設定で、GCNV上のOracle VLDBの構成について説明します。
導入の前提条件
Details
導入には、次の前提条件が必要です。
-
Googleクラウドアカウントがセットアップされ、Oracle Data Guardをセットアップするためのリソースを導入するためのプロジェクトがGoogleアカウント内に作成されました。
-
Data Guardに必要なリージョンにまたがるVPCとサブネットを作成します。耐障害性に優れたDRセットアップを実現するには、プライマリDBとスタンバイDBを、ローカルリージョン内の主要なダイヤルインに耐えられる地理的な場所に配置することを検討してください。
-
Googleクラウドポータルコンソールから、4つのGoogleコンピュートエンジンLinux VMインスタンスを導入します。1つはプライマリOracle DBサーバ、もう1つはスタンバイOracle DBサーバ、クローンターゲットDBサーバ、およびOracle Data Guardオブザーバとして使用します。環境セットアップの詳細については、前のセクションのアーキテクチャ図を参照してください。詳細な手順については、Googleのドキュメントを参照して"Compute EngineでのLinux VMインスタンスの作成"ください。
Oracleインストールファイルをステージングするための十分なスペースを確保するために、Azure VMSのルートボリュームに少なくとも50Gが割り当てられていることを確認してください。GoogleコンピューティングエンジンのVMは、デフォルトでインスタンスレベルでロックダウンされます。VM間の通信を有効にするには、一般的なOracleポート1521など、TCPポートのトラフィックフローを開くためのファイアウォールルールを作成する必要があります。 -
Google Cloudポータルコンソールから、2つのGCNVストレージプールを導入してOracleデータベースボリュームをホストします。詳細な手順については、マニュアルを参照してください"ストレージプール作成クイックスタート"。以下に、クイックリファレンス用のスクリーンショットをいくつか示します。
-
ストレージプールにデータベースボリュームを作成します。詳細な手順については、マニュアルを参照してください"ボリューム作成クイックスタート"。以下に、クイックリファレンス用のスクリーンショットをいくつか示します。
-
プライマリOracleデータベースがプライマリOracle DBサーバにインストールされ、設定されている必要があります。一方、スタンバイOracle DBサーバまたはクローンOracle DBサーバには、Oracleソフトウェアのみがインストールされ、Oracleデータベースは作成されません。OracleファイルディレクトリのレイアウトがすべてのOracle DBサーバで完全に一致することを推奨します。Oracleグリッドインフラと、NFS / ASMを使用したデータベースのインストールと設定については、TR-4974を参照してください。このソリューションはAWS FSX/EC2環境で検証済みですが、Google GCNV/Compute Engine環境にも同様に適用できます。
Data Guard用のプライマリOracle VLDB設定
Details
このデモでは、プライマリDBサーバにNTAPというプライマリOracleデータベースをセットアップし、8つのNFSマウントポイント(Oracleバイナリ用に/u01、Oracleデータファイル用に/u02、/u03、/u04、/u05、/u06、/u07、Oracle ASMディスクグループ+データ用に/u08、Oracleアクティブログ、アーカイブログファイル、およびOracle ASMディスクグループ+ログとの負荷分散)を使用します。Oracleの制御ファイルは、冗長性を確保するために、+DATAディスクグループと+LOGSディスクグループの両方に配置されます。このセットアップはリファレンス構成として機能します。実際の導入では、ストレージプールのサイジング、サービスレベル、データベースボリュームの数、および各ボリュームのサイズに関する固有のニーズと要件を考慮する必要があります。
ASMを使用するNFSにOracle Data Guardを設定する詳しい手順については、TR-5002-を参照してください"Azure NetApp FilesによるOracle Active Data Guardのコスト削減"。TR-5002の手順はAzure ANF環境で検証済みですが、Google GCNV環境でも同様です。
以下に、Google GCNV環境のData Guard構成におけるプライマリOracle VLDBの詳細を示します。
-
プライマリコンピューティングエンジンのDBサーバ内のプライマリデータベースNTAPは、スタンドアロン構成の単一インスタンスデータベースとしてGCNVストレージに導入され、NFSプロトコルとASMをデータベースストレージボリュームマネージャとして使用します。
orap.us-east4-a.c.cvs-pm-host-1p.internal: Zone: us-east-4a size: n1-standard-4 (4 vCPUs, 15 GB Memory) OS: Linux (redhat 8.10) pub_ip: 35.212.124.14 pri_ip: 10.70.11.5 [oracle@orap ~]$ df -h Filesystem Size Used Avail Use% Mounted on devtmpfs 7.2G 0 7.2G 0% /dev tmpfs 7.3G 0 7.3G 0% /dev/shm tmpfs 7.3G 8.5M 7.2G 1% /run tmpfs 7.3G 0 7.3G 0% /sys/fs/cgroup /dev/sda2 50G 40G 11G 80% / /dev/sda1 200M 5.9M 194M 3% /boot/efi 10.165.128.180:/orap-u05 250G 201G 50G 81% /u05 10.165.128.180:/orap-u08 400G 322G 79G 81% /u08 10.165.128.180:/orap-u04 250G 201G 50G 81% /u04 10.165.128.180:/orap-u07 250G 201G 50G 81% /u07 10.165.128.180:/orap-u02 250G 201G 50G 81% /u02 10.165.128.180:/orap-u06 250G 201G 50G 81% /u06 10.165.128.180:/orap-u01 100G 21G 80G 21% /u01 10.165.128.180:/orap-u03 250G 201G 50G 81% /u03 [oracle@orap ~]$ cat /etc/oratab # # This file is used by ORACLE utilities. It is created by root.sh # and updated by either Database Configuration Assistant while creating # a database or ASM Configuration Assistant while creating ASM instance. # A colon, ':', is used as the field terminator. A new line terminates # the entry. Lines beginning with a pound sign, '#', are comments. # # Entries are of the form: # $ORACLE_SID:$ORACLE_HOME:<N|Y>: # # The first and second fields are the system identifier and home # directory of the database respectively. The third field indicates # to the dbstart utility that the database should , "Y", or should not, # "N", be brought up at system boot time. # # Multiple entries with the same $ORACLE_SID are not allowed. # # +ASM:/u01/app/oracle/product/19.0.0/grid:N NTAP:/u01/app/oracle/product/19.0.0/NTAP:N
-
OracleユーザとしてプライマリDBサーバにログインします。グリッド設定を検証
$GRID_HOME/bin/crsctl stat res -t
[oracle@orap ~]$ $GRID_HOME/bin/crsctl stat res -t -------------------------------------------------------------------------------- Name Target State Server State details -------------------------------------------------------------------------------- Local Resources -------------------------------------------------------------------------------- ora.DATA.dg ONLINE ONLINE orap STABLE ora.LISTENER.lsnr ONLINE ONLINE orap STABLE ora.LOGS.dg ONLINE ONLINE orap STABLE ora.asm ONLINE ONLINE orap Started,STABLE ora.ons OFFLINE OFFLINE orap STABLE -------------------------------------------------------------------------------- Cluster Resources -------------------------------------------------------------------------------- ora.cssd 1 ONLINE ONLINE orap STABLE ora.diskmon 1 OFFLINE OFFLINE STABLE ora.evmd 1 ONLINE ONLINE orap STABLE ora.ntap.db 1 ONLINE ONLINE orap Open,HOME=/u01/app/o racle/product/19.0.0 /NTAP,STABLE -------------------------------------------------------------------------------- [oracle@orap ~]$
-
ASMディスクグループの設定。
asmcmd
[oracle@orap ~]$ asmcmd ASMCMD> lsdg State Type Rebal Sector Logical_Sector Block AU Total_MB Free_MB Req_mir_free_MB Usable_file_MB Offline_disks Voting_files Name MOUNTED EXTERN N 512 512 4096 4194304 1228800 1219888 0 1219888 0 N DATA/ MOUNTED EXTERN N 512 512 4096 4194304 327680 326556 0 326556 0 N LOGS/ ASMCMD> lsdsk Path /u02/oradata/asm/orap_data_disk_01 /u02/oradata/asm/orap_data_disk_02 /u02/oradata/asm/orap_data_disk_03 /u02/oradata/asm/orap_data_disk_04 /u03/oradata/asm/orap_data_disk_05 /u03/oradata/asm/orap_data_disk_06 /u03/oradata/asm/orap_data_disk_07 /u03/oradata/asm/orap_data_disk_08 /u04/oradata/asm/orap_data_disk_09 /u04/oradata/asm/orap_data_disk_10 /u04/oradata/asm/orap_data_disk_11 /u04/oradata/asm/orap_data_disk_12 /u05/oradata/asm/orap_data_disk_13 /u05/oradata/asm/orap_data_disk_14 /u05/oradata/asm/orap_data_disk_15 /u05/oradata/asm/orap_data_disk_16 /u06/oradata/asm/orap_data_disk_17 /u06/oradata/asm/orap_data_disk_18 /u06/oradata/asm/orap_data_disk_19 /u06/oradata/asm/orap_data_disk_20 /u07/oradata/asm/orap_data_disk_21 /u07/oradata/asm/orap_data_disk_22 /u07/oradata/asm/orap_data_disk_23 /u07/oradata/asm/orap_data_disk_24 /u08/oralogs/asm/orap_logs_disk_01 /u08/oralogs/asm/orap_logs_disk_02 /u08/oralogs/asm/orap_logs_disk_03 /u08/oralogs/asm/orap_logs_disk_04 ASMCMD>
-
プライマリDB上のData Guardのパラメータ設定。
SQL> show parameter name NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ cdb_cluster_name string cell_offloadgroup_name string db_file_name_convert string db_name string ntap db_unique_name string ntap_ny global_names boolean FALSE instance_name string NTAP lock_name_space string log_file_name_convert string pdb_file_name_convert string processor_group_name string NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ service_names string ntap_ny.cvs-pm-host-1p.interna SQL> sho parameter log_archive_dest NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ log_archive_dest string log_archive_dest_1 string LOCATION=USE_DB_RECOVERY_FILE_ DEST VALID_FOR=(ALL_LOGFILES,A LL_ROLES) DB_UNIQUE_NAME=NTAP_ NY log_archive_dest_10 string log_archive_dest_11 string log_archive_dest_12 string log_archive_dest_13 string log_archive_dest_14 string log_archive_dest_15 string NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ log_archive_dest_16 string log_archive_dest_17 string log_archive_dest_18 string log_archive_dest_19 string log_archive_dest_2 string SERVICE=NTAP_LA ASYNC VALID_FO R=(ONLINE_LOGFILES,PRIMARY_ROL E) DB_UNIQUE_NAME=NTAP_LA log_archive_dest_20 string log_archive_dest_21 string log_archive_dest_22 string
-
プライマリDBの設定。
SQL> select name, open_mode, log_mode from v$database; NAME OPEN_MODE LOG_MODE --------- -------------------- ------------ NTAP READ WRITE ARCHIVELOG SQL> show pdbs CON_ID CON_NAME OPEN MODE RESTRICTED ---------- ------------------------------ ---------- ---------- 2 PDB$SEED READ ONLY NO 3 NTAP_PDB1 READ WRITE NO 4 NTAP_PDB2 READ WRITE NO 5 NTAP_PDB3 READ WRITE NO SQL> select name from v$datafile; NAME -------------------------------------------------------------------------------- +DATA/NTAP/DATAFILE/system.257.1198026005 +DATA/NTAP/DATAFILE/sysaux.258.1198026051 +DATA/NTAP/DATAFILE/undotbs1.259.1198026075 +DATA/NTAP/86B637B62FE07A65E053F706E80A27CA/DATAFILE/system.266.1198027075 +DATA/NTAP/86B637B62FE07A65E053F706E80A27CA/DATAFILE/sysaux.267.1198027075 +DATA/NTAP/DATAFILE/users.260.1198026077 +DATA/NTAP/86B637B62FE07A65E053F706E80A27CA/DATAFILE/undotbs1.268.1198027075 +DATA/NTAP/32639B76C9BC91A8E063050B460A2116/DATAFILE/system.272.1198028157 +DATA/NTAP/32639B76C9BC91A8E063050B460A2116/DATAFILE/sysaux.273.1198028157 +DATA/NTAP/32639B76C9BC91A8E063050B460A2116/DATAFILE/undotbs1.271.1198028157 +DATA/NTAP/32639B76C9BC91A8E063050B460A2116/DATAFILE/users.275.1198028185 NAME -------------------------------------------------------------------------------- +DATA/NTAP/32639D40D02D925FE063050B460A60E3/DATAFILE/system.277.1198028187 +DATA/NTAP/32639D40D02D925FE063050B460A60E3/DATAFILE/sysaux.278.1198028187 +DATA/NTAP/32639D40D02D925FE063050B460A60E3/DATAFILE/undotbs1.276.1198028187 +DATA/NTAP/32639D40D02D925FE063050B460A60E3/DATAFILE/users.280.1198028209 +DATA/NTAP/32639E973AF79299E063050B460AFBAD/DATAFILE/system.282.1198028209 +DATA/NTAP/32639E973AF79299E063050B460AFBAD/DATAFILE/sysaux.283.1198028209 +DATA/NTAP/32639E973AF79299E063050B460AFBAD/DATAFILE/undotbs1.281.1198028209 +DATA/NTAP/32639E973AF79299E063050B460AFBAD/DATAFILE/users.285.1198028229 19 rows selected. SQL> select member from v$logfile; MEMBER -------------------------------------------------------------------------------- +DATA/NTAP/ONLINELOG/group_3.264.1198026139 +LOGS/NTAP/ONLINELOG/group_3.259.1198026147 +DATA/NTAP/ONLINELOG/group_2.263.1198026137 +LOGS/NTAP/ONLINELOG/group_2.258.1198026145 +DATA/NTAP/ONLINELOG/group_1.262.1198026137 +LOGS/NTAP/ONLINELOG/group_1.257.1198026145 +DATA/NTAP/ONLINELOG/group_4.286.1198511423 +LOGS/NTAP/ONLINELOG/group_4.265.1198511425 +DATA/NTAP/ONLINELOG/group_5.287.1198511445 +LOGS/NTAP/ONLINELOG/group_5.266.1198511447 +DATA/NTAP/ONLINELOG/group_6.288.1198511459 MEMBER -------------------------------------------------------------------------------- +LOGS/NTAP/ONLINELOG/group_6.267.1198511461 +DATA/NTAP/ONLINELOG/group_7.289.1198511477 +LOGS/NTAP/ONLINELOG/group_7.268.1198511479 14 rows selected. SQL> select name from v$controlfile; NAME -------------------------------------------------------------------------------- +DATA/NTAP/CONTROLFILE/current.261.1198026135 +LOGS/NTAP/CONTROLFILE/current.256.1198026135
-
Oracleリスナーの構成。
lsnrctl status listener
[oracle@orap admin]$ lsnrctl status LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 15-APR-2025 16:14:00 Copyright (c) 1991, 2022, Oracle. All rights reserved. Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521)) STATUS of the LISTENER ------------------------ Alias LISTENER Version TNSLSNR for Linux: Version 19.0.0.0.0 - Production Start Date 14-APR-2025 19:44:21 Uptime 0 days 20 hr. 29 min. 38 sec Trace Level off Security ON: Local OS Authentication SNMP OFF Listener Parameter File /u01/app/oracle/product/19.0.0/grid/network/admin/listener.ora Listener Log File /u01/app/oracle/diag/tnslsnr/orap/listener/alert/log.xml Listening Endpoints Summary... (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=orap.us-east4-a.c.cvs-pm-host-1p.internal)(PORT=1521))) (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521))) Services Summary... Service "+ASM" has 1 instance(s). Instance "+ASM", status READY, has 1 handler(s) for this service... Service "+ASM_DATA" has 1 instance(s). Instance "+ASM", status READY, has 1 handler(s) for this service... Service "+ASM_LOGS" has 1 instance(s). Instance "+ASM", status READY, has 1 handler(s) for this service... Service "32639b76c9bc91a8e063050b460a2116.cvs-pm-host-1p.internal" has 1 instance(s). Instance "NTAP", status READY, has 1 handler(s) for this service... Service "32639d40d02d925fe063050b460a60e3.cvs-pm-host-1p.internal" has 1 instance(s). Instance "NTAP", status READY, has 1 handler(s) for this service... Service "32639e973af79299e063050b460afbad.cvs-pm-host-1p.internal" has 1 instance(s). Instance "NTAP", status READY, has 1 handler(s) for this service... Service "86b637b62fdf7a65e053f706e80a27ca.cvs-pm-host-1p.internal" has 1 instance(s). Instance "NTAP", status READY, has 1 handler(s) for this service... Service "NTAPXDB.cvs-pm-host-1p.internal" has 1 instance(s). Instance "NTAP", status READY, has 1 handler(s) for this service... Service "NTAP_NY_DGMGRL.cvs-pm-host-1p.internal" has 1 instance(s). Instance "NTAP", status UNKNOWN, has 1 handler(s) for this service... Service "ntap.cvs-pm-host-1p.internal" has 1 instance(s). Instance "NTAP", status READY, has 1 handler(s) for this service... Service "ntap_pdb1.cvs-pm-host-1p.internal" has 1 instance(s). Instance "NTAP", status READY, has 1 handler(s) for this service... Service "ntap_pdb2.cvs-pm-host-1p.internal" has 1 instance(s). Instance "NTAP", status READY, has 1 handler(s) for this service... Service "ntap_pdb3.cvs-pm-host-1p.internal" has 1 instance(s). Instance "NTAP", status READY, has 1 handler(s) for this service... The command completed successfully
-
フラッシュバックはプライマリデータベースで有効になっています。
SQL> select name, database_role, flashback_on from v$database; NAME DATABASE_ROLE FLASHBACK_ON --------- ---------------- ------------------ NTAP PRIMARY YES
-
プライマリDBのDNFS設定。
SQL> select svrname, dirname from v$dnfs_servers; SVRNAME -------------------------------------------------------------------------------- DIRNAME -------------------------------------------------------------------------------- 10.165.128.180 /orap-u04 10.165.128.180 /orap-u05 10.165.128.180 /orap-u07 SVRNAME -------------------------------------------------------------------------------- DIRNAME -------------------------------------------------------------------------------- 10.165.128.180 /orap-u03 10.165.128.180 /orap-u06 10.165.128.180 /orap-u02 SVRNAME -------------------------------------------------------------------------------- DIRNAME -------------------------------------------------------------------------------- 10.165.128.180 /orap-u08 10.165.128.180 /orap-u01 8 rows selected.
これで、NFS / ASMを使用するGCNVのプライマリサイトで、VLDB NTAP向けのData Guardセットアップのデモは完了です。
Data Guard用のスタンバイOracle VLDB構成
Details
Oracle Data Guardを使用するには、OSカーネル構成とOracleソフトウェアスタック(スタンバイDBサーバにパッチセットを含む)がプライマリDBサーバと一致する必要があります。管理を簡易化するためには、データベースディレクトリのレイアウトやNFSマウントポイントのサイズなど、スタンバイDBサーバのデータベースストレージ構成もプライマリDBサーバと同じにすることが理想的です。
ASMを使用するNFSでOracle Data Guardスタンバイを設定するための詳細なステップバイステップの手順については、TR-5002およびTR-4974"スタンドアロンでのOracle 19C NFS / ASMを使用したAWS FSX/EC2でのOracle 19Cの再起動"の関連セクションを参照して"Azure NetApp FilesによるOracle Active Data Guardのコスト削減"ください。以下に、Google GCNV環境のData Guard設定におけるスタンバイDBサーバ上のスタンバイOracle VLDB構成の詳細を示します。
-
デモラボのスタンバイサイトのスタンバイOracle DBサーバ構成。
oras.us-west4-a.c.cvs-pm-host-1p.internal: Zone: us-west4-a size: n1-standard-4 (4 vCPUs, 15 GB Memory) OS: Linux (redhat 8.10) pub_ip: 35.219.129.195 pri_ip: 10.70.14.16 [oracle@oras ~]$ df -h Filesystem Size Used Avail Use% Mounted on devtmpfs 7.2G 0 7.2G 0% /dev tmpfs 7.3G 1.1G 6.2G 16% /dev/shm tmpfs 7.3G 8.5M 7.2G 1% /run tmpfs 7.3G 0 7.3G 0% /sys/fs/cgroup /dev/sda2 50G 40G 11G 80% / /dev/sda1 200M 5.9M 194M 3% /boot/efi 10.165.128.197:/oras-u07 250G 201G 50G 81% /u07 10.165.128.197:/oras-u06 250G 201G 50G 81% /u06 10.165.128.197:/oras-u02 250G 201G 50G 81% /u02 10.165.128.196:/oras-u03 250G 201G 50G 81% /u03 10.165.128.196:/oras-u01 100G 20G 81G 20% /u01 10.165.128.197:/oras-u05 250G 201G 50G 81% /u05 10.165.128.197:/oras-u04 250G 201G 50G 81% /u04 10.165.128.197:/oras-u08 400G 317G 84G 80% /u08 [oracle@oras ~]$ cat /etc/oratab #Backup file is /u01/app/oracle/crsdata/oras/output/oratab.bak.oras.oracle line added by Agent # # This file is used by ORACLE utilities. It is created by root.sh # and updated by either Database Configuration Assistant while creating # a database or ASM Configuration Assistant while creating ASM instance. # A colon, ':', is used as the field terminator. A new line terminates # the entry. Lines beginning with a pound sign, '#', are comments. # # Entries are of the form: # $ORACLE_SID:$ORACLE_HOME:<N|Y>: # # The first and second fields are the system identifier and home # directory of the database respectively. The third field indicates # to the dbstart utility that the database should , "Y", or should not, # "N", be brought up at system boot time. # # Multiple entries with the same $ORACLE_SID are not allowed. # # +ASM:/u01/app/oracle/product/19.0.0/grid:N NTAP:/u01/app/oracle/product/19.0.0/NTAP:N # line added by Agent
-
スタンバイDBサーバ上でのグリッドインフラストラクチャの設定。
[oracle@oras ~]$ $GRID_HOME/bin/crsctl stat res -t -------------------------------------------------------------------------------- Name Target State Server State details -------------------------------------------------------------------------------- Local Resources -------------------------------------------------------------------------------- ora.DATA.dg ONLINE ONLINE oras STABLE ora.LISTENER.lsnr ONLINE ONLINE oras STABLE ora.LOGS.dg ONLINE ONLINE oras STABLE ora.asm ONLINE ONLINE oras Started,STABLE ora.ons OFFLINE OFFLINE oras STABLE -------------------------------------------------------------------------------- Cluster Resources -------------------------------------------------------------------------------- ora.cssd 1 ONLINE ONLINE oras STABLE ora.diskmon 1 OFFLINE OFFLINE STABLE ora.evmd 1 ONLINE ONLINE oras STABLE ora.ntap_la.db 1 ONLINE INTERMEDIATE oras Dismounted,Mount Ini tiated,HOME=/u01/app /oracle/product/19.0 .0/NTAP,STABLE --------------------------------------------------------------------------------
-
スタンバイDBサーバ上のASMディスクグループ設定。
[oracle@oras ~]$ asmcmd ASMCMD> lsdg State Type Rebal Sector Logical_Sector Block AU Total_MB Free_MB Req_mir_free_MB Usable_file_MB Offline_disks Voting_files Name MOUNTED EXTERN N 512 512 4096 4194304 1228800 1228420 0 1228420 0 N DATA/ MOUNTED EXTERN N 512 512 4096 4194304 322336 322204 0 322204 0 N LOGS/ ASMCMD> lsdsk Path /u02/oradata/asm/oras_data_disk_01 /u02/oradata/asm/oras_data_disk_02 /u02/oradata/asm/oras_data_disk_03 /u02/oradata/asm/oras_data_disk_04 /u03/oradata/asm/oras_data_disk_05 /u03/oradata/asm/oras_data_disk_06 /u03/oradata/asm/oras_data_disk_07 /u03/oradata/asm/oras_data_disk_08 /u04/oradata/asm/oras_data_disk_09 /u04/oradata/asm/oras_data_disk_10 /u04/oradata/asm/oras_data_disk_11 /u04/oradata/asm/oras_data_disk_12 /u05/oradata/asm/oras_data_disk_13 /u05/oradata/asm/oras_data_disk_14 /u05/oradata/asm/oras_data_disk_15 /u05/oradata/asm/oras_data_disk_16 /u06/oradata/asm/oras_data_disk_17 /u06/oradata/asm/oras_data_disk_18 /u06/oradata/asm/oras_data_disk_19 /u06/oradata/asm/oras_data_disk_20 /u07/oradata/asm/oras_data_disk_21 /u07/oradata/asm/oras_data_disk_22 /u07/oradata/asm/oras_data_disk_23 /u07/oradata/asm/oras_data_disk_24 /u08/oralogs/asm/oras_logs_disk_01 /u08/oralogs/asm/oras_logs_disk_02 /u08/oralogs/asm/oras_logs_disk_03 /u08/oralogs/asm/oras_logs_disk_04 ASMCMD>
-
スタンバイDB上のData Guardのパラメータ設定。
SQL> show parameter name NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ cdb_cluster_name string cell_offloadgroup_name string db_file_name_convert string db_name string NTAP db_unique_name string NTAP_LA global_names boolean FALSE instance_name string NTAP lock_name_space string log_file_name_convert string pdb_file_name_convert string processor_group_name string NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ service_names string NTAP_LA.cvs-pm-host-1p.interna l SQL> show parameter log_archive_config NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ log_archive_config string DG_CONFIG=(NTAP_NY,NTAP_LA) SQL> show parameter fal_server NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ fal_server string NTAP_NY
-
スタンバイDB構成。
SQL> select name, open_mode, log_mode from v$database; NAME OPEN_MODE LOG_MODE --------- -------------------- ------------ NTAP MOUNTED ARCHIVELOG SQL> show pdbs CON_ID CON_NAME OPEN MODE RESTRICTED ---------- ------------------------------ ---------- ---------- 2 PDB$SEED MOUNTED 3 NTAP_PDB1 MOUNTED 4 NTAP_PDB2 MOUNTED 5 NTAP_PDB3 MOUNTED SQL> select name from v$datafile; NAME -------------------------------------------------------------------------------- +DATA/NTAP_LA/DATAFILE/system.261.1198520347 +DATA/NTAP_LA/DATAFILE/sysaux.262.1198520373 +DATA/NTAP_LA/DATAFILE/undotbs1.263.1198520399 +DATA/NTAP_LA/32635CC1DCF58A60E063050B460AB746/DATAFILE/system.264.1198520417 +DATA/NTAP_LA/32635CC1DCF58A60E063050B460AB746/DATAFILE/sysaux.265.1198520435 +DATA/NTAP_LA/DATAFILE/users.266.1198520451 +DATA/NTAP_LA/32635CC1DCF58A60E063050B460AB746/DATAFILE/undotbs1.267.1198520455 +DATA/NTAP_LA/32639B76C9BC91A8E063050B460A2116/DATAFILE/system.268.1198520471 +DATA/NTAP_LA/32639B76C9BC91A8E063050B460A2116/DATAFILE/sysaux.269.1198520489 +DATA/NTAP_LA/32639B76C9BC91A8E063050B460A2116/DATAFILE/undotbs1.270.1198520505 +DATA/NTAP_LA/32639B76C9BC91A8E063050B460A2116/DATAFILE/users.271.1198520513 NAME -------------------------------------------------------------------------------- +DATA/NTAP_LA/32639D40D02D925FE063050B460A60E3/DATAFILE/system.272.1198520517 +DATA/NTAP_LA/32639D40D02D925FE063050B460A60E3/DATAFILE/sysaux.273.1198520533 +DATA/NTAP_LA/32639D40D02D925FE063050B460A60E3/DATAFILE/undotbs1.274.1198520551 +DATA/NTAP_LA/32639D40D02D925FE063050B460A60E3/DATAFILE/users.275.1198520559 +DATA/NTAP_LA/32639E973AF79299E063050B460AFBAD/DATAFILE/system.276.1198520563 +DATA/NTAP_LA/32639E973AF79299E063050B460AFBAD/DATAFILE/sysaux.277.1198520579 +DATA/NTAP_LA/32639E973AF79299E063050B460AFBAD/DATAFILE/undotbs1.278.1198520595 +DATA/NTAP_LA/32639E973AF79299E063050B460AFBAD/DATAFILE/users.279.1198520605 19 rows selected. SQL> select name from v$controlfile; NAME -------------------------------------------------------------------------------- +DATA/NTAP_LA/CONTROLFILE/current.260.1198520303 +LOGS/NTAP_LA/CONTROLFILE/current.257.1198520305 SQL> select group#, type, member from v$logfile order by 2, 1; GROUP# TYPE MEMBER ---------- ------- ------------------------------------------------------------ 1 ONLINE +DATA/NTAP_LA/ONLINELOG/group_1.280.1198520649 1 ONLINE +LOGS/NTAP_LA/ONLINELOG/group_1.259.1198520651 2 ONLINE +DATA/NTAP_LA/ONLINELOG/group_2.281.1198520659 2 ONLINE +LOGS/NTAP_LA/ONLINELOG/group_2.258.1198520661 3 ONLINE +DATA/NTAP_LA/ONLINELOG/group_3.282.1198520669 3 ONLINE +LOGS/NTAP_LA/ONLINELOG/group_3.260.1198520671 4 STANDBY +DATA/NTAP_LA/ONLINELOG/group_4.283.1198520677 4 STANDBY +LOGS/NTAP_LA/ONLINELOG/group_4.261.1198520679 5 STANDBY +DATA/NTAP_LA/ONLINELOG/group_5.284.1198520687 5 STANDBY +LOGS/NTAP_LA/ONLINELOG/group_5.262.1198520689 6 STANDBY +DATA/NTAP_LA/ONLINELOG/group_6.285.1198520697 GROUP# TYPE MEMBER ---------- ------- ------------------------------------------------------------ 6 STANDBY +LOGS/NTAP_LA/ONLINELOG/group_6.263.1198520699 7 STANDBY +DATA/NTAP_LA/ONLINELOG/group_7.286.1198520707 7 STANDBY +LOGS/NTAP_LA/ONLINELOG/group_7.264.1198520709 14 rows selected.
-
スタンバイデータベースのリカバリステータスを検証します。が `APPLYING_LOG`動作していることを確認し `recovery logmerger`ます。
SQL> SELECT ROLE, THREAD#, SEQUENCE#, ACTION FROM V$DATAGUARD_PROCESS; ROLE THREAD# SEQUENCE# ACTION ------------------------ ---------- ---------- ------------ post role transition 0 0 IDLE recovery apply slave 0 0 IDLE recovery apply slave 0 0 IDLE recovery apply slave 0 0 IDLE recovery apply slave 0 0 IDLE recovery logmerger 1 24 APPLYING_LOG managed recovery 0 0 IDLE RFS ping 1 24 IDLE archive redo 0 0 IDLE archive redo 0 0 IDLE gap manager 0 0 IDLE ROLE THREAD# SEQUENCE# ACTION ------------------------ ---------- ---------- ------------ archive local 0 0 IDLE redo transport timer 0 0 IDLE archive redo 0 0 IDLE RFS async 1 24 IDLE redo transport monitor 0 0 IDLE log writer 0 0 IDLE 17 rows selected.
-
フラッシュバックはスタンバイデータベースで有効になっています。
SQL> select name, database_role, flashback_on from v$database; NAME DATABASE_ROLE FLASHBACK_ON --------- ---------------- ------------------ NTAP PHYSICAL STANDBY YES
-
スタンバイDBのDNFS設定。
SQL> select svrname, dirname from v$dnfs_servers; SVRNAME -------------------------------------------------------------------------------- DIRNAME -------------------------------------------------------------------------------- 10.165.128.197 /oras-u04 10.165.128.197 /oras-u05 10.165.128.197 /oras-u06 10.165.128.197 /oras-u07 10.165.128.197 /oras-u02 10.165.128.197 /oras-u08 10.165.128.196 /oras-u03 10.165.128.196 /oras-u01 8 rows selected.
これで、スタンバイサイトでマネージドスタンバイリカバリを有効にしたVLDB NTAPのData Guardセットアップのデモは完了です。
オブザーバーを使用してData GuardブローカーとFSFOを設定
Data Guardブローカーのセットアップ
Details
Oracle Data Guardブローカーは、Oracle Data Guard構成の作成、メンテナンス、監視を自動化して一元化する分散管理フレームワークです。次のセクションでは、Data Guard環境を管理するためのData Guardブローカーのセットアップ方法を示します。
-
sqlplusを使用して次のコマンドを実行し、プライマリデータベースとスタンバイデータベースの両方でデータガードブローカーを起動します。
alter system set dg_broker_start=true scope=both;
-
プライマリデータベースから、SYSDBAとしてData Guard Borkerに接続します。
[oracle@orap ~]$ dgmgrl sys@NTAP_NY DGMGRL for Linux: Release 19.0.0.0.0 - Production on Wed Dec 11 20:53:20 2024 Version 19.18.0.0.0 Copyright (c) 1982, 2019, Oracle and/or its affiliates. All rights reserved. Welcome to DGMGRL, type "help" for information. Password: Connected to "NTAP_NY" Connected as SYSDBA. DGMGRL>
-
Data Guardブローカー設定を作成して有効にします。
DGMGRL> create configuration dg_config as primary database is NTAP_NY connect identifier is NTAP_NY; Configuration "dg_config" created with primary database "ntap_ny" DGMGRL> add database NTAP_LA as connect identifier is NTAP_LA; Database "ntap_la" added DGMGRL> enable configuration; Enabled. DGMGRL> show configuration; Configuration - dg_config Protection Mode: MaxPerformance Members: ntap_ny - Primary database ntap_la - Physical standby database Fast-Start Failover: Disabled Configuration Status: SUCCESS (status updated 3 seconds ago)
-
Data Guard Broker管理フレームワーク内でデータベースのステータスを検証します。
DGMGRL> show database ntap_ny; Database - ntap_ny Role: PRIMARY Intended State: TRANSPORT-ON Instance(s): NTAP Database Status: SUCCESS DGMGRL> show database ntap_la; Database - ntap_la Role: PHYSICAL STANDBY Intended State: APPLY-ON Transport Lag: 0 seconds (computed 0 seconds ago) Apply Lag: 0 seconds (computed 0 seconds ago) Average Apply Rate: 3.00 KByte/s Real Time Query: OFF Instance(s): NTAP Database Status: SUCCESS DGMGRL>
障害が発生した場合、Data Guard Brokerを使用して、プライマリデータベースを瞬時にスタンバイデータベースにフェイルオーバーできます。が有効な場合、 `Fast-Start Failover`障害が検出されたときにユーザの介入なしにData Guard Brokerでプライマリデータベースをスタンバイにフェイルオーバーできます。
オブザーバを使用したFSFOの設定
Details
必要に応じて、Data Guard BrokerでFast Start Failover(FSFO)を有効にして、障害が自動的に発生した場合にプライマリデータベースをスタンバイデータベースにフェイルオーバーすることができます。次に、オブザーバーインスタンスを使用してFSFOを設定する手順を示します。
-
Lightweight Googleコンピュートエンジンインスタンスを作成して、プライマリまたはスタンバイDBサーバとは異なるゾーンでObserverを実行します。このテストケースでは、2つのvCPUと7.5Gメモリを搭載したN1インスタンスを使用しました。同じバージョンのOracleがホストにインストールされている。
-
Oracleユーザーとしてログインし、Oracleユーザー.bash_profileでOracle環境を設定します。
vi ~/.bash_profile
# .bash_profile # Get the aliases and functions if [ -f ~/.bashrc ]; then . ~/.bashrc fi # User specific environment and startup programs export ORACLE_HOME=/u01/app/oracle/product/19.0.0/NTAP export PATH=$ORACLE_HOME/bin:$PATH
-
プライマリおよびスタンバイDB TNS名エントリをtnsname.oraファイルに追加します。
vi $ORACLE_HOME/network/admin/tsnames.ora
NTAP_NY = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = orap.us-east4-a.c.cvs-pm-host-1p.internal)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = NTAP_NY.cvs-pm-host-1p.internal) (UR=A) ) ) NTAP_LA = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = oras.us-west4-a.c.cvs-pm-host-1p.internal)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = NTAP_LA.cvs-pm-host-1p.internal) (UR=A) ) )
-
パスワードでウォレットを作成して初期化します。
mkdir -p /u01/app/oracle/admin/NTAP/wallet
mkstore -wrl /u01/app/oracle/admin/NTAP/wallet -create
[oracle@orao NTAP]$ mkdir -p /u01/app/oracle/admin/NTAP/wallet [oracle@orao NTAP]$ mkstore -wrl /u01/app/oracle/admin/NTAP/wallet -create Oracle Secret Store Tool Release 19.0.0.0.0 - Production Version 19.4.0.0.0 Copyright (c) 2004, 2022, Oracle and/or its affiliates. All rights reserved. Enter password: Enter password again: [oracle@orao NTAP]$
-
プライマリデータベースとスタンバイデータベースの両方のユーザsysに対してパスワードレス認証を有効にします。最初にsysパスワードを入力し、次に前の手順のwalletパスワードを入力します。
mkstore -wrl /u01/app/oracle/admin/ntap/wallet-createCreateCredential NTAP_NY sys
mkstore -wrl /u01/app/oracle/admin/ntap/wallet-createCreateCredential NTAP_la sys
[oracle@orao NTAP]$ mkstore -wrl /u01/app/oracle/admin/NTAP/wallet -createCredential NTAP_NY sys Oracle Secret Store Tool Release 19.0.0.0.0 - Production Version 19.4.0.0.0 Copyright (c) 2004, 2022, Oracle and/or its affiliates. All rights reserved. Your secret/Password is missing in the command line Enter your secret/Password: Re-enter your secret/Password: Enter wallet password: [oracle@orao NTAP]$ mkstore -wrl /u01/app/oracle/admin/NTAP/wallet -createCredential NTAP_LA sys Oracle Secret Store Tool Release 19.0.0.0.0 - Production Version 19.4.0.0.0 Copyright (c) 2004, 2022, Oracle and/or its affiliates. All rights reserved. Your secret/Password is missing in the command line Enter your secret/Password: Re-enter your secret/Password: Enter wallet password: [oracle@orao NTAP]$
-
sqlnet.oraをウォレットの場所で更新します。
vi $ORACLE_HOME/network/admin/sqlnet.ora
WALLET_LOCATION = (SOURCE = (METHOD = FILE) (METHOD_DATA = (DIRECTORY = /u01/app/oracle/admin/NTAP/wallet)) ) SQLNET.WALLET_OVERRIDE = TRUE
-
要件を検証します。
mkstore -wrl /u01/app/oracle/admin/NTAP/wallet -listCredential
sqlplus /@NTAP_LA as sysdba
sqlplus /@NTAP_NY as sysdba
[oracle@orao NTAP]$ mkstore -wrl /u01/app/oracle/admin/NTAP/wallet -listCredential Oracle Secret Store Tool Release 19.0.0.0.0 - Production Version 19.4.0.0.0 Copyright (c) 2004, 2022, Oracle and/or its affiliates. All rights reserved. Enter wallet password: List credential (index: connect_string username) 2: NTAP_LA sys 1: NTAP_NY sys
-
Fast-Start Failoverを設定してイネーブルにします。
mkdir /u01/app/oracle/admin/NTAP/fsfo
dgmgrl
Welcome to DGMGRL, type "help" for information. DGMGRL> connect /@NTAP_NY Connected to "ntap_ny" Connected as SYSDBA. DGMGRL> show configuration; Configuration - dg_config Protection Mode: MaxAvailability Members: ntap_ny - Primary database ntap_la - Physical standby database Fast-Start Failover: Disabled Configuration Status: SUCCESS (status updated 58 seconds ago) DGMGRL> enable fast_start failover; Enabled in Zero Data Loss Mode. DGMGRL> show configuration; Configuration - dg_config Protection Mode: MaxAvailability Members: ntap_ny - Primary database Warning: ORA-16819: fast-start failover observer not started ntap_la - (*) Physical standby database Fast-Start Failover: Enabled in Zero Data Loss Mode Configuration Status: WARNING (status updated 43 seconds ago)
-
オブザーバーを起動して検証します。
nohup dgmgrl /@NTAP_NY "start observer file='/u01/app/oracle/admin/NTAP/fsfo/fsfo.dat'" >> /u01/app/oracle/admin/NTAP/fsfo/dgmgrl.log &
[oracle@orao NTAP]$ nohup dgmgrl /@NTAP_NY "start observer file='/u01/app/oracle/admin/NTAP/fsfo/fsfo.dat'" >> /u01/app/oracle/admin/NTAP/fsfo/dgmgrl.log & [1] 94957 [oracle@orao fsfo]$ dgmgrl DGMGRL for Linux: Release 19.0.0.0.0 - Production on Wed Apr 16 21:12:09 2025 Version 19.18.0.0.0 Copyright (c) 1982, 2019, Oracle and/or its affiliates. All rights reserved. Welcome to DGMGRL, type "help" for information. DGMGRL> connect /@NTAP_NY Connected to "ntap_ny" Connected as SYSDBA. DGMGRL> show configuration verbose; Configuration - dg_config Protection Mode: MaxAvailability Members: ntap_ny - Primary database ntap_la - (*) Physical standby database (*) Fast-Start Failover target Properties: FastStartFailoverThreshold = '30' OperationTimeout = '30' TraceLevel = 'USER' FastStartFailoverLagLimit = '30' CommunicationTimeout = '180' ObserverReconnect = '0' FastStartFailoverAutoReinstate = 'TRUE' FastStartFailoverPmyShutdown = 'TRUE' BystandersFollowRoleChange = 'ALL' ObserverOverride = 'FALSE' ExternalDestination1 = '' ExternalDestination2 = '' PrimaryLostWriteAction = 'CONTINUE' ConfigurationWideServiceName = 'ntap_CFG' Fast-Start Failover: Enabled in Zero Data Loss Mode Lag Limit: 30 seconds (not in use) Threshold: 30 seconds Active Target: ntap_la Potential Targets: "ntap_la" ntap_la valid Observer: orao Shutdown Primary: TRUE Auto-reinstate: TRUE Observer Reconnect: (none) Observer Override: FALSE Configuration Status: SUCCESS DGMGRL>
|
データ損失をゼロにするには、Oracle Data Guard保護モードをまたは MaxProtection`に設定する必要があり `MaxAvailability`ます。のデフォルトの保護モードは `MaxPerformance 、Data Guardブローカーインターフェイスから変更できます。変更するには、Data Guardの設定を編集し、asyncからsyncに変更し `LogXptMode`ます。それに応じて、Oracleアーカイブログデスティネーションログのモードを変更する必要があります。の必要に応じてData Guardでリアルタイムログアプリケーションを有効にしている場合 `MaxAvailability`は、データベースの自動リブートを避けてください。データベースの自動リブートによってスタンバイデータベースがモードで開かれることがあり、Active Data Guardライセンスが必要になります。 `READ ONLY WITH APPLY`代わりに、データベースを手動でブートして、リアルタイムでマネージドリカバリを実行できる状態を維持し `MOUNT`ます。
|
自動化により、他のユースケース向けにスタンバイデータベースをクローニング
Details
以下の自動化ツールキットは、NFS / ASM構成を使用してGCNVに導入されたOracle Data GuardスタンバイDBのクローンを作成または更新し、完全なクローンライフサイクル管理を実現するように特別に設計されています。
https://bitbucket.ngage.netapp.com/projects/NS-BB/repos/na_oracle_clone_gcnv/browse
|
このツールキットにアクセスできるのは、現時点でビットバケットアクセス権を持つNetApp内部ユーザーのみです。ご興味のある外部ユーザーの方は、アカウントチームにアクセス権をリクエストするか、NetAppソリューションエンジニアリングチームにお問い合わせください。使用方法については、を参照してください"ASMを使用したGCNVでのOracleクローンライフサイクルの自動化"。 |
詳細情報の入手方法
このドキュメントに記載されている情報の詳細については、以下のドキュメントや Web サイトを参照してください。
-
TR-5002:『Oracle Active Data Guard Cost Reduction with Azure NetApp Files』
-
TR-4974:『Oracle 19C in Standalone Restart on AWS FSX/EC2 with NFS/ASM』
-
NetAppの業界最高のファイルストレージサービスをGoogle Cloudで提供
-
Oracle Data Guardの概念と管理