Oracle10gRACのJDBC設定でORA-12505

2008-08-25 21:27:46 | WebLogic
Weblogic9.2でOracle10gRACでJDBC設定を行うと、ORA-12505(TNS: リスナーは接続記述子で指定されたSIDを現在認識していません )が発生する。

・URLのjdbc:oracle:thin:@hostname:1521:sidのsidの部分が間違っていた。うちのDBA(?)から教えてもらったsidがorclだったが、実際は、orcl1,orcl2が正解だった。
OracleRACでdbcaでデータベースを作成すると、指定したsid接頭辞に1から始まるノード番号を加えたものを各インスタンスのsidに設定する。
ex) sid接頭辞がorclの場合、各インスタンスのsidは、orcl1,orcl2,orcl3...になる。
ソース
URLをjdbc:oracle:thin:@hostname:1521:orcl1,jdbc:oracle:thin:@hostname:1521:orcl2と設定することで、成功した。

以下は、参考。
Weblogic推奨のOracleRACを使用する場合のjdbc設定)
Weblogic AdministrationConsoleで、各インスタンスのデータソースを作成し、マルチデータソースを作成するさいに、設定したデータソースを選択する。またアプリケーションで使用するjndi名はマルチデータソースに設定する。
各データソースを設定する場合のURL設定は、sidを設定する方法(sidには上記のようにsid接頭辞+ノード番号を設定する。)以外にも、sidに変えてservice_nameを設定する方法もある。以下はその構文。
ex)jdbc:oracle:thin:@//hostname:1521/service_name
ソース

上記以外の方法)
マルチデータソースを使用せず、データソースで、OracleRACを使用する。この場合は、単独のデータソースのみで完結する。そのURLの構文は以下になる。
jdbc:oracle:thin:@(DESCRIPTION=
(ADDRESS=(PROTOCOL=TCP)(HOST=hpstname1)(PORT=1521))
(ADDRESS=(PROTOCOL=TCP)(HOST=hostname2)(PORT=1521))
(CONNECT_DATA=(SERVICE_NAME=service_name)))



コメントを投稿