4 Global Data Servicesのトラブルシューティング
次のトピックでは、発生する可能性があるGDSの問題をトラブルシューティングするためのツールおよび解決方法について説明します。
Oracleエラー・コードのトラブルシューティング
この項には、発生する可能性のある次のような特定のOracleエラー・メッセージのトラブルシューティングに関する情報が含まれます。
ORA-01045: ユーザーGSMADMIN_INTERNALにはCREATE SESSION権限がありません。ログオンが拒否されました。
ユーザーGSMADMIN_INTERNAL
は内部専用のユーザーです。ロックが解除されることはなく、データベース・ログインに使用されることはありません。Oracleテクニカル・サポートから指示されないかぎり、Global Data Servicesスキーマ・オブジェクトを直接変更しないでください。
ORA-12514: TNS: リスナーは接続記述子で要求されたサービスを現在認識していません
グローバル・サービスが停止している可能性があります。プール・データベースが実行されており、サービスが起動していることを確認してください。
グローバル・サービスが無効である可能性があります。プール・データベースが実行されており、サービスが有効で起動していることを確認してください。
GDSプール・データベースが停止している可能性があります。GDSプール・データベースが実行されており、サービスが有効で起動していることを確認してください。
ORA-12516: TNS: リスナーは、一致するプロトコル・スタックが使用可能なハンドラを検出できませんでした。
GDSプール・データベースのローカル・リスナーが停止している可能性があります。GDSプール・データベースのローカル・リスナーが実行されていることを確認してください。
ORA-12541: TNS: リスナーがありません。
すべてのグローバル・サービス・マネージャが停止している可能性があります。グローバル・サービス・マネージャが実行されていることを確認してください。
GSM-45034: GDSカタログへの接続が確立されていません
GDSカタログ・データベースまたはそのリスナーが停止している可能性があります。GDSカタログ・データベースとそのローカル・リスナーが実行されていることを確認してください。
一般的な問題の解決方法
この項には、発生する可能性のある次のような一般的な問題を解決するための情報が含まれます。
グローバル・サービス・マネージャが実行されていない場合のGDS構成データベースへの接続
複数のアドレス・リストが必要です。第1リストはリージョン・グローバル・サービス・マネージャ・リスナー専用とする必要があり、第2リストにはバディ・リージョンのグローバル・サービス・リスナーを含め、第3リストにはローカル・リスナーを含めます。
グローバル・サービス・マネージャが実行中は必ずグローバル・サービス・マネージャ経由で接続し、すべてのグローバル・サービス・マネージャ・リスナーが停止しているときのみローカル・リスナーにフェイルオーバーすることができます。
テンプレート:
(DESCRIPTION= (FAILOVER=on) (ADDRESS_LIST= (LOAD_BALANCE=ON) (ADDRESS=(global_protocol_address_information)) (ADDRESS=(global_protocol_address_information)) (ADDRESS=(global_protocol_address_information)) ) (ADDRESS_LIST= (LOAD_BALANCE=ON) (ADDRESS=(global_protocol_address_information)) (ADDRESS=(global_protocol_address_information)) (ADDRESS=(global_protocol_address_information)) ) (ADDRESS_LIST= (LOAD_BALANCE=ON) (ADDRESS=(local_protocol_address_information)) (ADDRESS=(local_protocol_address_information)) ) (CONNECT_DATA= (SERVICE_NAME=global_service_name) (REGION=region_name)))
例:
(DESCRIPTION= (FAILOVER=on) (ADDRESS_LIST= (LOAD_BALANCE=ON) (ADDRESS=(HOST=gsmhost1)(PORT=1523)(PROTOCOL=TCP)) (ADDRESS=(HOST=gsmhost2)(PORT=1523)(PROTOCOL=TCP)) (ADDRESS=(HOST=gsmhost3)(PORT=1523)(PROTOCOL=TCP)) ) (ADDRESS_LIST= (LOAD_BALANCE=ON) (ADDRESS=(HOST=gsmhost4)(PORT=1523)(PROTOCOL=TCP)) (ADDRESS=(HOST=gsmhost5)(PORT=1523)(PROTOCOL=TCP)) (ADDRESS=(HOST=gsmhost6)(PORT=1523)(PROTOCOL=TCP)) ) (ADDRESS_LIST= (LOAD_BALANCE=ON) (ADDRESS=(HOST=server1)(PORT=1521)(PROTOCOL=TCP)) ) (CONNECT_DATA= (SERVICE_NAME=sales_read_service.dbpoolora.oradbcloud) (REGION=WEST)))
ノート:
Oracle RAC対応のGDSデータベースの場合、第3のアドレス・リストにはローカルのOracle RACデータベースのSCANリスナーが含まれます。
Global Data Servicesコンポーネントの実行ステータスの取得
status
コマンドを使用すると、GDSコンポーネントの実行ステータスを取得できます。
GDSCTL>status gsm GDSCTL>status service GDSCTL>status database
Global Data Servicesコンポーネントの静的構成情報の表示
gdsctl config
コマンドを使用すると、様々なGDSコンポーネントの静的構成情報を取得できます。
GDSCTL>config GDSCTL>config gsm GDSCTL>config region GDSCTL>config gdspool GDSCTL>config database GDSCTL>config service GDSCTL>config invitednode
グローバル・サービス・マネージャでのトレースの有効化および無効化
set trace_level
コマンドを使用すると、トレースを有効にできます。
GDSCTL>set trace_level -gsm gsm_name SUPPORT
SUPPORT
オプションによって、Oracleサポート・サービス用のトラブルシューティング情報とともにトレースを取得できます。その他のオプションはADMIN
およびUSER
です。
トレースを無効にするには、次のようにします。
GDSCTL>set trace_level -gsm gsm_name OFF
グローバル・サービス・マネージャのログ・ファイルおよびトレース・ファイルの使用
特定のグローバル・サービス・マネージャのログ・ファイルとトレース・ファイルの正確な場所は、次の例に示すとおり、status gsm
コマンドを使用して取得できます。
GDSCTL>status gsm Alias MYGSM Version 12.1.0.0.2 Start Date 13-OCT-2012 12:20:16 Trace Level support Listener Log File /scratch/oracle/diag/gsm/myhost/mygsm/alert/log.xml Listener Trace File /scratch/oracle/diag/gsm/myhost/mygsm/trace/ora_1829_ 47542149303936.trc Endpoint summary (ADDRESS=(HOST=myhost.com)(PORT=1571)(PROTOCOL=tcp)) GSMOCI Version 0.1.7 Mastership N Connected to GDS catalog Y Process Id 1833 Number of reconnections 0 Pending tasks. Total 0 Tasks in process. Total 0 Regional Mastership TRUE Total messages published 34261 Time Zone -07:00 Orphaned Buddy Regions: None GDS region east Network metrics: Region: euro RTT:34 Bandwidth:40
この例で、myhost
はグローバル・サービス・マネージャのホスト名で、mygsm
はグローバル・サービス・マネージャの名前です。
テキスト・ベースのリスナー・ログは、/scratch/oracle/diag/gsm/
hostname
/
gsm_name
/trace
ディレクトリにあります。ファイル名はalert_gsm*.log
になります(alert_gsm1.log
など)。
GDS環境でのSYS_CONTEXTパラメータの使用
グローバル・サービスへの接続を使用して確立されたセッションの場合、ネームスペースUSERENVのいくつかのパラメータは、同じデータベースのローカル・サービスに接続したときに設定された値とは異なる値を持ちます。グローバル・サービスの異なる値は、データベース・プールが多くのインスタンスを持つ単一のデータベースとしてクライアントに認識されるように設定されます。これには、サービスの複数のインスタンスがOracle RACデータベースにのみ存在する必要のある12cより前のクライアントとの下位互換性を保持する目的があります。
クライアントがグローバル・サービスに接続すると、GDSによって、次の項目が異なる方法でセッション・コンテキストに設定されます。
-
DB_UNIQUE_NAMEおよびDB_DOMAINは、<gdspool_name>.<config_name>に設定されます。
-
INSTANCEは、GDS構成内で一意のシステム生成番号<inst_num>に設定されます。
-
INSTANCE_NAMEは、<gdspool_name>%<virtual_instance_num>に設定されます。
-
SERVICE_NAMEは、<region_name>%<service_name>に設定されます。