技術ブログ
RAC環境でOracle Enterprise Manager Database Expressを構成しようとしたときに少しハマったのでメモしておきます。
RAC環境でもシングル環境と同様に、上記のマニュアルの箇所に記載されている以下の手順に従い、OEM Expressを構成します。
dispatchersの設定には注意が必要です。どうやらDBCAのデフォルトでは、dispatchersのSERVICEに、[DB_NAME]XDBが設定されているようです。(あまりきっちり検証していないので、違う場合はご容赦ください)
SQL> show parameter dispatchers NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ dispatchers string (PROTOCOL=TCP)(SERVICE=c101ruX DB) max_dispatchers integer
しかし、実際にはdispatchersのSERVICEに、[SID]XDBを設定する必要があります。
SQL> define sidbase=lc101ru SQL> alter system reset dispatchers scope=spfile sid='*'; System altered. SQL> alter system set dispatchers="(PROTOCOL=TCP)(SERVICE=&sidbase.1XDB)" scope=both sid='&sidbase.1'; old 1: alter system set dispatchers="(PROTOCOL=TCP)(SERVICE=&sidbase.1XDB)" scope=both sid='&sidbase.1' new 1: alter system set dispatchers="(PROTOCOL=TCP)(SERVICE=lc101ru1XDB)" scope=both sid='lc101ru1' System altered. alter system set dispatchers="(PROTOCOL=TCP)(SERVICE=&sidbase.2XDB)" scope=both sid='&sidbase.2'; old 1: alter system set dispatchers="(PROTOCOL=TCP)(SERVICE=&sidbase.2XDB)" scope=both sid='&sidbase.2' new 1: alter system set dispatchers="(PROTOCOL=TCP)(SERVICE=lc101ru2XDB)" scope=both sid='lc101ru2' System altered. SQL> alter system set dispatchers="(PROTOCOL=TCP)(SERVICE=&sidbase.3XDB)" scope=both sid='&sidbase.3'; old 1: alter system set dispatchers="(PROTOCOL=TCP)(SERVICE=&sidbase.3XDB)" scope=both sid='&sidbase.3' new 1: alter system set dispatchers="(PROTOCOL=TCP)(SERVICE=lc101ru3XDB)" scope=both sid='lc101ru3' System altered.
また、DBMS_XDB_CONFIG.SETHTTPSPORT の実行後に、インスタンスとリスナーの再起動が必要なようです。 これを明確に記載しているドキュメントを確認できませんでしたが、自分が検証した限りでは、リスナーを再起動するまで、リスナーにXML DB Repository に対応するリスニングエンドポイントが追加されませんでした。(これはRAC特有の制約ではないはずです)
[oracle@lc101ru1 ~]$ lsnrctl status LSNRCTL for Linux: Version 12.1.0.1.0 - Production on 03-9月 -2013 15:16:45 Copyright (c) 1991, 2013, Oracle. All rights reserved. Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521)) STATUS of the LISTENER ------------------------ Alias LISTENER Version TNSLSNR for Linux: Version 12.1.0.1.0 - Production Start Date 03-9月 -2013 01:49:37 Uptime 0 days 0 hr. 27 min. 8 sec Trace Level off Security ON: Local OS Authentication SNMP OFF Listener Parameter File /u01/app/12.1.0/grid/network/admin/listener.ora Listener Log File /u01/app/grid/diag/tnslsnr/lc101ru1/listener/alert/log.xml Listening Endpoints Summary... (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=LISTENER))) (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=172.31.180.1)(PORT=1521))) (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=172.31.180.2)(PORT=1521))) (DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=lc101ru1.domain)(PORT=5500))(Security=(my_wallet_directory=/u01/app/oracle/product/12.1.0/dbhome_1/admin/c101ru/xdb_wallet))(Presentation=HTTP)(Session=RAW)) ←★ Services Summary... Service "+ASM" has 1 instance(s). Instance "+ASM1", status READY, has 1 handler(s) for this service... Service "c101ru.world" has 1 instance(s). Instance "c101ru1", status READY, has 1 handler(s) for this service... Service "c101ru1XDB.world" has 1 instance(s). Instance "c101ru1", status READY, has 1 handler(s) for this service... The command completed successfully