2.5 True Cache構成の確認
True Cacheおよびデータベース・アプリケーション・サービスが予期したとおりに機能していることを確認します。
2.5.1 True Cacheが想定どおりに動作していることの確認
True CacheがREDOを適用して進行中であることを確認するには、True Cacheに対する次の問合せを確認します。
-
True CacheでSQL*Plusを実行します。
sqlplus / as SYSDBA
-
次の問合せを入力します。
SELECT database_role, open_mode FROM v$database;
出力は、次のようになります。
DATABASE_ROLE OPEN_MODE ---------------- -------------------- TRUE CACHE READ ONLY WITH APPLY
OPEN_MODE
がREAD ONLY WITH APPLY
の場合、True CacheのREDO Applyがアクティブに動作していることを意味します。 -
次の問合せを複数回入力します:
SELECT current_scn FROM v$database;
CURRENT_SCN
が時間とともに進んでいる場合は、True Cacheが予想どおりに進んでいることを意味します。 -
各ログ・ファイルのサイズを確認するには、次の問合せを入力します:
SELECT THREAD#, SEQUENCE#, BYTES FROM v$standby_log;
2.5.2 リモート・リスナー構成の検証
データベース・アプリケーション・サービスがTrue Cacheで起動した後、lsnrctl
コマンドを使用して、True Cacheサービス登録のリモート・リスナー・サービスを検証します。
ノート:
Oracle RACプライマリ・データベースの場合、lsnrctl
コマンドを使用する前に、環境変数$ORACLE_HOME
をOracle Grid Infrastructureホーム(Gridホーム)のパスに設定します。
次の例は、Oracle RACプライマリ・データベースのSCANリスナーに登録されている2つのTrue Cacheを示しています。
lsnrctl services LISTENER_SCAN1
Service "sales_tc" has 2 instance(s).
Instance "tcdb1", status READY, has 1 handler(s) for this service...
Handler(s):
"DEDICATED" established:0 refused:0 state:ready
REMOTE SERVER
(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=tc1.example.com)(PORT=1521)))
Instance "tcdb2", status READY, has 1 handler(s) for this service...
Handler(s):
"DEDICATED" established:0 refused:0 state:ready
REMOTE SERVER
(ADDRESS=(PROTOCOL=TCP)(HOST=tc2.example.com)(PORT=1521))
ノート:
True Cacheサービスがリモート・リスナーに登録されていない場合は、リモート・リスナー招待ノードと、REMOTE_LISTENER
またはLISTENER_NETWORKS
のTrue Cache初期化パラメータを検証します。
2.5.3 True Cacheおよびプライマリ・データベース・アプリケーション・サービスの確認
プライマリ・データベースとTrue Cacheの両方で、すべてのデータベース・アプリケーション・サービスがアクティブであることを確認します。
True Cache
-
True CacheでSQL*Plusを実行します。
sqlplus / as SYSDBA
-
次の問合せを入力します。
SELECT service_id, name FROM v$active_services WHERE name='true_cache_service_name';
例:
SELECT service_id, name FROM v$active_services WHERE name='SALES_TC'; SERVICE_ID NAME ---------- --------- 28 SALES_TC
プライマリ・データベース
-
プライマリ・データベースでSQL*Plusを実行します。
sqlplus / as SYSDBA
-
次の問合せを入力します。
SELECT service_id, name, true_cache_service FROM v$active_services WHERE name='primary_db_service_name';
例:
SELECT service_id, name, true_cache_service FROM v$active_services WHERE name='SALES'; SERVICE_ID NAME TRUE_CACHE_SERVICE ---------- ------ ---------------- 29 SALES SALES_TC