jdbc串連資料庫使用sid和service_name的區別(轉)

來源:互聯網
上載者:User

標籤:方法   網路   oba   port   strong   一個資料庫   note   好處   節點   

jdbc串連資料庫使用sid和service_name的區別 部落格分類:
     
  • oracle
 最近使用jdbc串連oracle時報錯: 
ORA-12505, TNS:listener does not currently know of SID given in connect descriptor The Connection descriptor used by the client was: 
10.12.162.84:1521:xxxx 

登陸oracle資料發現在network/admin/檔案夾下的tnsnames.ora中配置的是:SERVICE_NAME =xxxx。經過查詢發現,是jdbc中的串連串使用的不正確。Java JDBC Thin Driver 串連 Oracle有三種方法,如下: 

格式一: Oracle JDBC Thin using a ServiceName: 
jdbc:oracle:thin:@//<host>:<port>/<service_name> 
Example: jdbc:oracle:thin:@//192.168.2.1:1521/XE 
注意這裡的格式,@後面有//, 這是與使用SID的主要區別。 
這種格式是Oracle 推薦的格式,因為對於叢集來說,每個節點的SID 是不一樣的,但是SERVICE_NAME 確可以包含所有節點。 

格式二: Oracle JDBC Thin using an SID: 
jdbc:oracle:thin:@<host>:<port>:<SID> 
Example: jdbc:oracle:thin:@192.168.2.1:1521:X01A 
Note: 
Support for SID is being phased out. Oracle recommends that users switch over to usingservice names. 

格式三:Oracle JDBC Thin using a TNSName: 
jdbc:oracle:thin:@<TNSName> 
Example: jdbc:oracle:thin:@GL 
Note: 
Support for TNSNames was added in the driver release 10.2.0.1 

linux下查詢sid的方法: 
在配置oracle環境變數的情況可以使用 echo $ORACLE_SID,如果沒有可以使用ps -ef |grep oracle 來查詢: 
oracle    2548     1  0 Aug17 ?        00:00:00 ora_pmon_xxxx 
後面的xxxx就是對應的sid。 

在windows環境下,oracle是以後台服務的方式被管理的,所以看"控制台->管理工具->服務 裡面的名稱:"OracleServiceORCL",則ORCL就是sid; 

service_name 和sid的區別: 
Service_name:該參數是由oracle8i引進的。在8i以前,使用SID來表示標識資料庫的一個執行個體,但是在Oracle的並行環境中,一個資料庫對應多個執行個體,這樣就需要多個網路服務名,設定繁瑣。為了方便並行環境中的設定,引進了Service_name參數,該參數對應一個資料庫,而不是一個執行個體,而且該參數有許多其它的好處。該參數的預設值為Db_name. Db_domain,即等於Global_name。一個資料庫可以對應多個Service_name,以便實現更靈活的配置。該參數與SID沒有直接關係,即不必Service name 必須與SID一樣 
sid是資料庫執行個體的名字,每個執行個體各不相同。 

jdbc串連資料庫使用sid和service_name的區別(轉)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.