1. 程式人生 > >監聽配置問題,SID(例項名)與SERVICE_NAME的區別?

監聽配置問題,SID(例項名)與SERVICE_NAME的區別?


這幾天因為要連線遠端oracle資料庫,直接在本地安裝好了oracle11g客戶端後,環境變數配置完成,按以往的習慣用Net Configuration Assistant  進行了連線配置設定,生成了對應的監聽檔案。

但是在NetManager 中進行連線測試的額時候始終連不上,使用者名稱和密碼都正確,顯示”ora-12154無法解析指定的連線識別符號“是分別採取了以下措施:

1.再三確認客戶端監聽配置檔案tnsnames.ora檔案,實際上tnsnames.ora正是包含了這個所謂的連線字串其中要遠端連線的資料庫例項名和IP地址,經過仔細比對沒有錯。也不存在說首行不能有空格的問題。

2.接著又想到時不是tnsping遠端資料庫的監聽,看看是不是資料庫監聽或者資料遠端連線有問題有問題,測試正常。

3.保證了監聽都能連上,是在想不出哪裡有問題了,用oracle客戶端下載下來自帶的SQLdevloper試試能不能連上,居然能連上。。。配置資訊都是一樣的。瞬間崩潰

4.會不會是oracle客戶端安裝有問題(不是32bit餘64bit的問題),於是解除安裝重灌,多次之後還是連不上。

5.不管了,撇開連線測試不通的問題,直接拿plsql來連線資料庫,測試依舊失敗。

6.終於,發現了一個細微的差別,別人能連上的監聽配置tnsnames.ora資訊中connect_data寫的是SID而我的寫的SERVICE_NAME,但是沒怎麼關心這個,覺得兩者沒什麼區別,Service_name也就是oracle8 以後增加的新名詞而已,原來我錯了。

1.資料庫例項名(SID)
什麼是資料庫例項名?
資料庫例項名是用於和作業系統進行聯絡的標識,就是說資料庫和作業系統之間的互動用的是資料庫例項名。例項名也被寫入引數檔案中,該引數為instance_name,在winnt平臺中,例項名同時也被寫入登錄檔。
資料庫名和例項名可以相同也可以不同。
在一般情況下,資料庫名和例項名是一對一的關係,但如果在oracle並行伺服器架構(即oracle實時應用叢集)中,資料庫名和例項名是一對多的關係。

2.資料庫服務名(SERVICE_NAME)
什麼是資料庫服務名?
從oracle9i版本開始,引入了一個新的引數,即資料庫服務名。引數名是SERVICE_NAME。
如果資料庫有域名,則資料庫服務名就是全域性資料庫名;否則,資料庫服務名與資料庫名相同。

SERVICE_NAME的出現就是為了應對併發技術,簡化客戶端連線配置。通過SERVICE_NAME應該能找到更好的解決方案。
因此,在oracle的監聽配置檔案中,尤其要注意,


# tnsnames.ora Network Configuration File: H:\app\admin\product\11.2.0\client_1\NETWORK\ADMIN\tnsnames.ora

# Generated by Oracle configuration tools.

DZJ =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 10.230.31.15)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SID = oradb1)
    )
  )
  
  
31.15 =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 10.230.31.15)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = oradb)
    )
  )


connect_data對應的是SID還是SERVICE_NAME,如果是SID則對應該資料庫的例項名稱(instant_name),如果是SERVICE_NAME的話則填寫資料庫服務名,即全域性資料庫名(非分散式資料庫系統中為 資料庫名(db_name)),看來oracle資料庫基礎沒打牢啊,有時候只注重怎麼用,卻忽視了為什麼這麼用了。唉~~學無止境。。。。。

參考:http://blog.csdn.net/elvis_dataguru/article/details/8984961

          http://blog.csdn.net/zhangzl1012/article/details/50752572

          https://wenku.baidu.com/view/c7d426fbaef8941ea76e05d1.html