Oracle Clusterwareに登録したDBリソース名でoratabが更新されるけど、DBリソース名はDB_UNIQUE_NAMEと同じにしといた方が良い。
言いたい事は件名で語り尽くしてしまったけど、kwsk解説。
oratab に記載されるエントリは Oracle Clusterware の oraagentプロセス に
よって自動更新されます。下記マニュアルに記載の仕様やで。
Oracle Real Application Clustersインストレーション・ガイド
11g リリース2 (11.2) for Linux and UNIX Systems
B56272-07
7.3 Oracle RAC用のoratabファイル構成
http://docs.oracle.com/cd/E16338_01/install.112/b56272/undrstnd.htm#sthref347
> oratabファイルのエントリも、データベースをまだ実行したことのないノード上で
> 初めて起動したときDatabase Agentによって自動的に作成されます。
oraagentプロセスによって oratab が更新されている場合、
${GI_HOME}/log/
下記のような感じで oratab を更新している旨のログが出力されているハズです。
2015-10-05 23:14:30.389: [ora.aaaaa.db][2083088128]{1:44002:459} [start] ConfigFile::updateInPlace file /etc/oratab is updated 2015-10-05 23:14:30.389: [ora.aaaaa.db][2083088128]{1:44002:459} [start] sclsnInstAgent::sUpdateOratab file updated with dbName aaaaa value /u01/app/oracle/product/11.2.0/dbhome_1:N ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^コレ
oratab に追記されるエントリされる DB名 は、初期化パラメータの
db_name や db_unique_name とは 無関係 に、Oracle Clusterware に
リソース登録した際のリソース名(srvctl add database -d
が引き継がれるのを、11gR2のRAC環境で検証/確認しますた。
/u01/app/11.2.0/grid/bin/crsctl stat res -t : ora.aaaaa.db 1 ONLINE ONLINE dbsv1121 Open 2 ONLINE OFFLINE ^^^^^^^^^^^^^ DB名「aaaaa」でリソース登録されている。 : srvctl start database -d aaaaa cat /etc/oratab : # Multiple entries with the same $ORACLE_SID are not allowed. # # +ASM1:/u01/app/11.2.0/grid:N # line added by Agent aaaaa:/u01/app/oracle/product/11.2.0/dbhome_1:N # line added by Agent ^^^^^ DB名「aaaaa」のエントリがoratabに追記されている。 :
そして Oracle Clusterware に登録するDBリソース名ですが、
srvctl add databaseコマンドでは任意の文字列で登録できてしまうのですが、
下記マニュアルに記載のある通り、RAC環境 の oratab においては
DB_UNIQUE_NAME が記載されるのが想定される構成となりんす。
Oracle Real Application Clustersインストレーション・ガイド
11g リリース2 (11.2) for Linux and UNIX Systems
B56272-07
7.3 Oracle RAC用のoratabファイル構成
http://docs.oracle.com/cd/E16338_01/install.112/b56272/undrstnd.htm#BEIFCJBA
> データベースのエントリの構文は、次のとおりです。
> $DB_UNIQUE_NAME:$ORACLE_HOME:N
Oracle Clusterware に 登録する DBリソース名 に DB_UNIQUE_NAME以外 の
文字列を使用していた環境で、DBUA がエラーになると云う事象に遭遇したので、
取り敢えず DBリソース名=DB_UNIQUE_NAME にしといた方が無難なようです(;´・ω・)ゞ
#奥歯に物が挟まったような物言いなのは、DBリソース名=DB_UNIQUE_NAME を
#明示的に推奨してるドキュメントが無いからなんやで。どっかにないやろか...彡(゚)(゚)