Oracle NET配置及工作原理

來源:互聯網
上載者:User

Oracle NET配置及工作原理

Oracle NET是一個軟體層,支援不同網路通訊協定之間的轉換。不同的物理機器可以藉助這個軟體層實現相互間的通訊,具體而言就是實現對oracle的遠端存取。

用戶端提供服務名,然後oracle net將使用者指定的服務名稱解析為對應伺服器主機和資料庫執行個體。用戶端上TNSNAMES.ORA檔案記錄每個oracle net 別名對應的主機和oracle執行個體;

Oracle NET設定檔包括LISTENER.ORA,TNSNAMES.ORA,SQLNET.ORA和LDAP.ORA;

LISTENER.ORA工作在資料庫伺服器端,負責監聽希望通過網路訪問oracle資料庫的用戶端串連要求;

TNSNAMES.ORA檔案在用戶端上,記錄每個oracle net 別名對應的主機和oracle執行個體;

訪問資料庫的過程由用戶端進程和伺服器處理序組成。用戶端進程發起請求,例如sqlplus;伺服器處理序讀寫資料庫,完成使用者提交的各種命令。伺服器處理序又叫影子進程,伺服器處理序與資料庫執行個體運行在同一台機器上。而伺服器端監聽器根據設定檔LISTENER.ORA工作,作為橋樑負責為用戶端進程和影子進程搭橋牽線。

當兩個進程在同一台機器上運行,oracle使用基於進程間(IPC)的本地通訊;而當兩個進程運行在不同機器,oracle使用oracle net實現兩個進程的網路通訊。

oracle net的啟動和停止獨立於資料庫執行個體,它只負責將來自用戶端進程的請求交給影子進程,由影子進程完成對資料庫執行個體的讀寫。

共用伺服器/多線程伺服器這兩種方式區別於使用影子進程服務用戶端進程的方式。

當用戶端程式發出請求串username/passwd@net_service_name之後,oracle NET 組件首先在本地尋找sqlnet.ora檔案確定命名方法,這裡假設為local naming,則sqlnet.ora中內容如下:NAMES.DIRECTORY_PATH=(TNSNAMES).oracle NET緊接著尋找tnsnames.ora,讀取該檔案,匹配net_service_name.如果該net_service_name匹配失敗,則提示錯誤;如果成功則根據connect descriptor中protocol,host,port資訊發給正確的listener.listener再根據connect descritpor中的service_name與向它註冊了的oracle services 進行比對.如果比對成功, 則建立串連,否則提示錯誤。

--------------------------------------分割線 --------------------------------------

在CentOS 6.4下安裝Oracle 11gR2(x64)

Oracle 11gR2 在VMWare虛擬機器中安裝步驟

Debian 下 安裝 Oracle 11g XE R2

--------------------------------------分割線 --------------------------------------

相關文章

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.