2016-04-02 16 views
0

は、私は2台のサーバーでの高 可用性のためのOracleデータベースにdatagaurdを実施し、常にプライマリ・データベース インスタンスを接続するためのJBossアプリケーションサーバを接続 にJDBC設定を構成しています。対応のJDBC datagaurd問題

私は次の文字列を使用する場合:私は、IP1 filover /スイッチオーバーを実行すると

<connection-url> 
jdbc:oracle:thin:@(DESCRIPTION=(CONNECT_TIMEOUT=5)(TRANSPORT_CONNECT_TIMEOUT=3)(RETRY_COUNT=3)(ADDRESS_LIST=(LOAD_BALANCE=OFF)(FAILOVER=ON)(ADDRESS=(PROTOCOL=TCP)(HOST=<ip1>)(PORT=<port>))(ADDRESS=(PROTOCOL=TCP)(HOST=<ip2>)(PORT=<port>)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME 
= MYDB)(FAILOVER_MODE=(TYPE=SELECT)(METHOD=BASIC))))</connection-url> 

を停止しており、IP2がアップしています。私のリストでip2を最初に指定した場合、私は接続します(私はちょうどip2に接続しようとすると思います)。以下に示すようにしかし、私は最初のIP1を入れたときに、私はRACとData Guardのための

java.util.concurrent.ExecutionException: java.lang.RuntimeException: 
java.sql.SQLException: ORA-01033: ORACLE initialization or shutdown 
in progress 
+0

追加情報がある場合は質問を編集し、コメントは使用しないでください。 –

+0

ここで引用するのはあまりにも多いですが、「データベース高可用性のベストプラクティス」をチェックする場合は、10.1節で自動フェイルオーバーのJDBCクライアントの構成について説明します。 https://docs.oracle.com/database/121/HABPT/config_fcf.htm#HABPT4969 – EdStevens

+0

を参照してください。Active Data Guardを使用していますか?そうでない場合は、スタンバイがマウント・モードになっている可能性があります。 – JSapkota

答えて

0

推奨接続URLに直接接続しようとしたかのように、私は同じエラーを取得しています。正しい接続URLを使用していることを確認できますか?

jdbc:oracle:thin:@(DESCRIPTION = (FAILOVER=on) 
    (CONNECT_TIMEOUT= 15) (RETRY_COUNT=20) (RETRY_DELAY=3) 
     (ADDRESS_LIST = 
      (LOAD_BALANCE=on) 
      (ADDRESS = (PROTOCOL = TCP) (HOST=primary-scan) (PORT=1521))) 
     (ADDRESS_LIST = 
      (LOAD_BALANCE=on) 
      (ADDRESS = (PROTOCOL = TCP) (HOST=secondary-scan) (PORT=1521))) 
     (CONNECT_DATA= (SERVICE_NAME = gold-cloud-service-name)))