ちょっとハマったのでメモ。
Oracle Enterprise Manager Express(OEM Experss)はRAC環境でもサポートされており、インストール手順は、
RAC環境でのOracle Enterprise Manager Database Expressの構成 (コーソル DatabaseエンジニアのBlog)
の内容を参考にするといい感じにインストールできます。
RAC環境でOEM Expressを構築しようとしてハマったところ
環境はOracle 12.1.0.2.0 Enterprise Edition、ノード数3。
データベース構築時はOEM Experssをインストールせず後から追加でインストールしました。
上記リンクの手順について、
1. LOCAL_LISTENERを設定する
RAC環境であれば自動でLOCAL_LISTENER
の設定がなされるはずです。
OEM Express向けに特別な設定を入れなく良いはずなので今回はデータベース構築時のままとしました。
2. DISPATHERSを設定する
こちらは記事の通りに設定しました。
ただ、設定後に判明したのですが、DISPATHERSの設定はDISPATCHERS=(PROTOCOL=TCP)(SERVICE=[DB_NAME]XDB)
でも動作する様です。
3. exec DBMS_XDB_CONFIG.SETHTTPSPORT(5500)を実行する
こちらも記事の通り実行し、HTTPSで5500ポートを使う設定にしました。
4. SHARED_SERVERSを設定する
ここでハマったのですが、1.~3.の手順を実行してもリスナーにエントリポイントが増えずしばらく悩まされました。
ここで以下の記事を見つけ、SHARED_SERVERS
パラメーターが設定されていないことに気が付きました。
Oracle Database Express 12c | 技術ブログ| レック・テクノロジー・コンサルティング株式会社
今回の環境は専用サーバー構成でデータベースを作成していたのでSHARED_SERVERS
パラメーターが設定されていませんでした。
SHARED_SERVERS
を1
に設定し、各インスタンスを再起動したところ無事OEM Expressに接続することができました。
最終的な設定内容
この4点を踏まえた最終的な設定内容は以下になりました。
とりあえずデータベースORCL
、インスタンスORCL1
~ORCL3
としています。
データベースに流すSQL
ALTER SYSTEM RESET DISPATCHERS SCOPE=SPFILE SID='*' ; ALTER SYSTEM SET DISPATCHERS="(PROTOCOL=TCP)(SERVICE=ORCL1XDB)" SCOPE=BOTH SID='ORCL1' ; ALTER SYSTEM SET DISPATCHERS="(PROTOCOL=TCP)(SERVICE=ORCL2XDB)" SCOPE=BOTH SID='ORCL2' ; ALTER SYSTEM SET DISPATCHERS="(PROTOCOL=TCP)(SERVICE=ORCL3XDB)" SCOPE=BOTH SID='ORCL3' ; ALTER SYSTEM SET SHARED_SERVERS=1 SCOPE=BOTH SID='*' ; exec DBMS_XDB_CONFIG.SETHTTPSPORT(5500) ;
srvctlでデータベースを再起動
srvctl stop database -db ORCL -stopoption IMMEDIATE srvctl start database -db ORCL -startoption OPEN