使用例13: Data Guard構成の監視
次のステップでは、SHOWコマンドとデータベースの監視可能なプロパティを使用し、障害状況を識別して解決するために必要なタスクを示します。
構成の監視(タスク1): 構成のステータス・チェック
ブローカ構成のステータスは、ブローカ構成のすべてのデータベースとインスタンスのステータスが集計されたものです。
ブローカ構成のステータスは、ブローカ構成内のすべての構成メンバーについての集約されたステータスです。
最初に構成ステータスをチェックすると、さらに処置が必要かどうかを判断できます。SUCCESSステータスは、ブローカ構成内のすべてが正しく機能していることを示しています。WARNINGまたはERRORステータスは、構成内のどれかが正しく機能していないか確認を必要としていることを示しています。
たとえば、スタンバイ・データベースに複数の警告があるとします:
DGMGRL> SHOW CONGIGURATION
Configuration - DRSolution
Protection Mode: MaxAvailability
Members:
South_Sales - Primary database
Warning: ORA-16627: No member available to support the protection mode.
North_Sales - Physical standby database (disabled)
ORA-16906: The member was shutdown.
Fast-Start Failover: Disabled
Configuration Status:
WARNING (status updated 31 seconds ago)
To resolve these warnings, restart standby database North_Sales and recheck the configuration status again.
DGMGRL> SHOW CONFIGURATION;
Configuration - DRSolution
Protection Mode: MaxAvailability
Members:
South_Sales - Primary database
North_Sales - Physical standby database
Fast-Start Failover: Disabled
Configuration Status:
SUCCESS (status updated 19 seconds ago)
構成の監視(タスク2): データベースのステータス・チェック
SHOW CONFIGURATIONからの出力のみでは問題の解決方法がわからない場合があります。プライマリ・データベースの警告を確認するには、SHOW DATABASEコマンドを使用してステータスを表示します。
DGMGRL> SHOW CONFIGURATION;
Configuration - DRSolution
Protection Mode: MaxAvailability
Members:
South_Sales - Primary database
Error: ORA-16810: Multiple errors or warnings detected for the member.
North_Sales - Physical standby database
Warning: ORA-16857: member disconnected from redo source for longer than specified threshold
Fast-Start Failover: Disabled
Configuration Status:
ERROR (status updated 25 seconds ago)
この例では、SHOW CONFIGURATIONによってプライマリ・データベースSouth_Salesに関する複数の問題を特定しています。複数のエラーまたは警告がある場合は、次のようにSHOW DATABASEコマンドを使用してそれらを特定します:
DGMGRL> SHOW DATABASE 'South_Sales';
Database - South_Sales
Role: PRIMARY
Intended State: TRANSPORT-ON
Redo Rate: (unknown)
Instance(s):
SouthSales
Error: ORA-16738: Redo transport service for member "North_Sales" is not running.
Database Warning(s):
ORA-16629: Database reports a different protection level from the protection mode.
Database Status:
ERROR
構成の監視(タスク3): 監視可能なプロパティLogXptStatusのチェック
ステップ2のSHOW DATABASEの出力には、エラーORA-16737の警告が示されています。
LogXptStatusブローカ監視可能プロパティは、ORA-16738 REDO転送エラーの具体的な原因を特定するのに役立ちます:
DGMGRL> SHOW DATABASE 'South_Sales' LogXptStatus;
LOG TRANSPORT STATUS
PRIMARY_INSTANCE_NAME STANDBY_DATABASE_NAME STATUS ERROR
SouthSales North_Sales DEFERRED
スタンバイ・データベースNorth_SalesへのREDO転送は現在遅延しています。データベースSouth_Salesのアラート・ログを調べると、log_archive_dest_2へのREDO転送が遅延していることがわかります。
2022-12-20T02:42:38.960566+00:00 ALTER SYSTEM SET log_archive_dest_state_2='DEFER' SCOPE=BOTH; 2022-12-20T02:42:41.650221+00:00 LGWR (PID:3620211): LAD:2 no longer supports SYNCHRONIZATION [krsl.c:7650]
または、DGMGRL SHOW DATABASE ... PARAMETERコマンドを使用すると、データベースSouth_Salesに対して構成されているREDO転送先の状態をチェックして、遅延しているログ・アーカイブ先を特定できます。
DGMGRL> CONNECT sys@south_sales Password: password Connected to "South_Sales" Connected as SYSDBA. DGMGRL> SHOW DATABASE 'South_Sales' PARAMETER log_archive_dest_state_2; log_archive_dest_state_2 = 'DEFER'
DGMGRL> SQL 'alter system set log_archive_dest_state_2=ENABLE scope=both';
Succeeded.
DGMGRL> SHOW CONFIGURATION
Configuration - DRSolution
Protection Mode: MaxAvailability
Members:
South_Sales - Primary database
North_Sales - Physical standby database
Fast-Start Failover: Disabled
Configuration Status:
SUCCESS (status updated 26 seconds ago)
構成の監視(タスク4): 監視可能なプロパティInconsistentLogXptPropsのチェック
REDO転送のデータベース・プロパティReopenSecsについて一貫性のない値を識別するには、監視可能なプロパティInconsistentLogXptPropsを使用します。
これは、たとえばステップ2のSHOW DATABASEの出力に示された警告がORA-16715の場合に役立ちます。
DGMGRL> SHOW DATABASE 'North_Sales' 'InconsistentLogXptProps'; INCONSISTENT LOG TRANSPORT PROPERTIES INSTANCE_NAME STANDBY_NAME PROPERTY_NAME MEMORY_VALUE BROKER_VALUE south_sales1 South_Sales ReopenSecs 600 300
現行のデータベース・メモリー値(600)は、Oracle Data Guard Brokerのプロパティ値(300)と一致しません。ブローカのプロパティ値が正しいと判断した場合は、次の例に示すように、スタンバイ・データベースのプロパティを同じ値で再編集して一貫性のある値にできます。
DGMGRL> EDIT DATABASE 'South_Sales' SET PROPERTY 'ReopenSecs'=300; Property "ReopenSecs" updated
スタンバイ・データベースを再び有効化するか、プライマリ・データベースの状態をTRANSPORT-ONにリセットして、非一貫性を解決することもできます。