官术网_书友最值得收藏!

3.1 Oracle的網絡連接

無論是應用程序,還是使用SQL*PLUS工具連接遠端數據庫(物理上分布),都必須建立客戶端與數據庫服務器之間的一個Oracle連接,Oracle提供了Oracle Net Service組件,用于方便地配置和管理網絡連接。

Oracle Net Service組件由以下五個部分組成:

● Oracle Net;

● Oracle Net Listeners;

● Oracle Connection Listeners;

● Oracle Net Configuration Assitant;

● Oracle Net Manager。

這些組件不需要單獨安裝,在安裝數據庫服務器或者客戶端軟件時會被自動安裝,其中Oracle Net組件必須在客戶機與服務器上都安裝,它負責完成客戶機與服務器之間連接的初始化、建立以及維護工作。該組件由以下兩部分組成。

● Oracle Network Foundation Layer:該層負責建立和維護客戶端與數據庫服務器之間的連接和信息交互。

● Oracle Protocol Support:該層映射Transparent Network Substrate(TNS)到業內標準協議。

下面是Oracle網絡連接的流程描述。

01 客戶端發起連接。需要服務器、靜聽端口、協議、數據庫服務名。

02 客戶端一旦與監聽器建立連接,則在客戶端生成用戶進程,同時監聽器會判斷客戶端所請求的服務名是否是自己所管理的服務名。如果客戶端傳過來的連接字符串不包含服務名,報錯;如果請求的服務名不是自己管理的,報錯并中斷;如果請求的服務名是自己管理的,監聽器就在數據庫服務器上創建服務器進程。

03 監聽器在創建服務器進程以后,會將用戶進程與服務器進程建立連接,之后,監聽器退出與客戶端的連接。

04 服務器進程根據用戶進程提供的用戶名和密碼到數據字典里判斷是否正確。

05 如果用戶名和密碼不匹配,報錯;如果匹配,則分配PGA,并生成SESSION。

主站蜘蛛池模板: 六枝特区| 华宁县| 黑龙江省| 贵定县| 龙海市| 凤凰县| 彭州市| 珠海市| 沂南县| 普兰店市| 富锦市| 西充县| 萝北县| 凯里市| 红桥区| 台东县| 新泰市| 尼勒克县| 进贤县| 巴彦淖尔市| 嘉义县| 鄂尔多斯市| 海宁市| 响水县| 安阳市| 拉孜县| 定远县| 繁峙县| 都兰县| 沿河| 武鸣县| 固原市| 盐城市| 周口市| 焦作市| 林西县| 镇坪县| 洪雅县| 清远市| 咸宁市| 巴塘县|