oracle 監聽原理 配置 異常處理

2021-08-08 04:37:39 字數 1631 閱讀 5999

oracle客戶端連線服務端的主要過程如下:

客戶端與服務端連線建立成功需要通過以上6個步驟:

第一步;客戶端向伺服器發起資料庫連線請求。請求的形式有多種,例如在window作業系統中通過命令列視窗輸入 :

sqlplus wzf/123

@testorcl

sqlplus wzf/123

@localhost

:1521/orcl

客戶端的oracle net層會根據輸入的字串進行解析。以第二種字串連線時,客戶端將連線請求傳送到主機名為172.50.39.69的1521埠,請求連線的資料庫服務名為orcl。以第一種字串連線時,oracle net層會在tnsname.ora檔案遍歷網路服務名列名,嘗試將testorcl轉化為對應服務端的主機名、埠號及資料庫服務名。

第二步:監聽程式接收到客戶端傳送的連線請求,會遍歷服務摘要當中是否註冊服務名為orcl的例項,如果不存在,則返回ora-12505異常;如果存在,則允許連線通知例項。

第三步:例項fork出服務程序為請求服務。

第四步:服務程序將連線的資訊傳送給監聽程式;

第五步:監聽程式將服務程序返回的連線資訊**給客戶端;

第六步:客戶端將使用者名稱和密碼傳送給服務程序進行驗證,驗證成功則進行服務,否則返回使用者名稱或密碼錯誤異常。

oracle監聽配置檔案主要有sqlnet.ora、listener.ora、tnsname.ora。

sqlnet.ora配置命名方法,預設即可。客戶端配置tnsname.ora,服務端配置listener.ora。

三份配置檔案在資料庫連線的作用過程如下:

客戶端向服務端傳送連線請求時,oracle net層在本地查詢sqlnet.ora檔案確定命名方法,大多數為local nameing;然後查詢tnsname.ora,遍歷網路服務名,如果不存在連線字串提供的網路服務名,則提示錯誤,成功則根據對應的協議、ip位址、埠號傳送請求連線的資料庫服務名;監聽程式接收到請求之後,將接收到的資料庫服務名與listener.ora檔案靜態註冊的服務名和實時動態註冊的服務名進行比對,如果客戶端傳送的服務名存在對應的例項,則建立連線,例項分配乙個服務程序與客戶端建立連線。

tnsname.ora和listener.ora都可以通過net manager 或 net configuration assistant進行配置,也可以在對應目錄下直接對檔案進行修改實現配置。

net manager 服務端配置如下:

net manager 客戶端配置如下:

客戶端僅配置服務命名即可,不需要配置監聽程式。很多使用者程序直接以ip位址+埠號+服務名的方式進行資料庫連線請求,服務命名便沒有進行遍歷。

oracle監聽配置

etc hosts 127.0.0.1 localhost.localdomain localhost test3.china.net test3 oracle home network admin listener.ora listener.ora network configuration fi...

Oracle 監聽連線配置 注意

當你配置乙個監聽鏈結的時候,特別是讓別人給你提供乙個監聽連線串的時候,拷貝到自己的tnsnames.ora 檔案中的時候 要特別小心,例如下面的監聽連線串eabaitst必須頂格,如果有空格就會報錯連線不上,或者 eabaitst 和 之間要有空格,不要在這些低階問題上翻船 eabaitst des...

Linux下配置Oracle 監聽

1.修改 配置檔案 linux下oracle 配置檔案在 oracle home network admin listerer.ora,如 bank oracle oracle10g product 10.2.0 network admin listener.ora 修改並配置要監聽sid的相關資訊...