日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

Oracle 網絡配置用到的sqlnet.ora, tnsnames.or

系統 1955 0
?? ? ?listener.ora、tnsnames.ora和sqlnet.ora這3個文件是關系oracle網絡配置的3個主要文件,都是放在$ORACLE_HOME\network\admin目錄下。其中listener.ora是和數據庫服務器端相關,而tnsnames.ora和sqlnet.ora這2個文件不僅僅關系到服務器端,主要的還是和客戶端關系緊密。

一、客戶端設置
1.sqlnet.ora

通過這個文件來決定怎樣找一個連接中出現的連接字符串

示例文件:
# sqlnet.ora Network Configuration File: F:\oracle\product\10.2.0\db_1\network\admin\sqlnet.ora
# Generated by Oracle configuration tools.

# This file is actually generated by netca. But if customers choose to
# install "Software Only", this file wont exist and without the native
# authentication, they will not be able to connect to the database on NT.

SQLNET.AUTHENTICATION_SERVICES= (NTS)

NAMES.DIRECTORY_PATH= (TNSNAMES,HOSTNAME, ONAMES, EZCONNECT)

#NAMES.DEFAULT_DOMAIN = oracle.com

內容說明:
????? SQLNET.AUTHENTICATION_SERVICES= (NTS)----這個表示采用OS認證,在數據庫服務器上,可以利用sqlplus / as sysdba。一般這個配置在windows上是ok的,在unix環境下可能會有問題,一般在unix下可以去掉這個配置。
????? NAMES.DIRECTORY_PATH= (TNSNAMES, HOSTNAME, ONAMES)----表示將首先利用tnsnames進行解析;如果tnsnames解析不到,將使用hostname解析;如果hostname解析不到,將采用onames進行解析;最后使用EZCONNECT解析。例如我們客戶端輸入:sqlplus zidi/zidi@changbai,那么,客戶端就會首先在tnsnames.ora文件中找orcl的記錄.如果沒有相應的記錄則嘗試把orcl當作一個主機名,通過網絡的途徑去解析它的IP地址然后去連接這個IP上global_name=changbai這個實例,當然我這里orcl并不是一個主機名。
????? 被注釋掉的NAMES.DEFAULT_DOMAIN = changbai.com----表示采用默認的域名為changbai.com,在tnsnames.ora中如果配置對應的解析,如果原來的數據庫別名是oralocal(即網絡服務名),那么,當啟用這個參數后,在tnsnames中的配置要改成oralocal.changbai.com。在使用tnsping時或者sqlplus登錄時,只需寫前面的別名,系統會自動加上后面的域名來進行解析。?????

2.tnsnames.ora
這個文件放在客戶端機器上,記錄客戶端訪問數據庫的本地配置,其實就是定義網絡服務,只有當sqlnet.ora中有"NAMES.DIRECTORY_PATH= (TNSNAMES)"這樣的字樣時,也就是客戶端解析連接字符串的順序中有TNSNAMES時,才會嘗試使用這個文件。
示例文件:
# tnsnames.ora Network Configuration File: F:\oracle\product\10.2.0\db_1\NETWORK\ADMIN\tnsnames.ora
# Generated by Oracle configuration tools.

HUINAMN =網路服務名
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 108.108.108.108)(PORT = 1521))訪問數據庫使用的協議,數據庫計算機的主機名或IP地址,數據庫的端口號
)
(CONNECT_DATA =
(SID = HN)數據庫實例名,前提是所連接的數據庫是Oracle8或更低版本
)
)
CHANGBAI =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 208.208.208.208)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = CB)數據庫服務名,即全局數據庫名
)
)
ORCL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)使用專用服務器模式去連接,這需要跟服務器的模式匹配,如果沒有就根據服務器的模式自動調節
(SERVICE_NAME = orcl)
)
)

二、服務器端設置listener.ora
????? 它是listener監聽器進程的配置文件。關于listener進程就不多說了,接受遠程對數據庫的接入申請并轉交給oracle的服務器進程。所以如果不是使用的遠程的連接,listener進程就不是必需的,同樣的如果關閉listener進程并不會影響已經存在的數據庫連接。
示例文件:
# listener.ora Network Configuration File: F:\oracle\product\10.2.0\db_1\network\admin\listener.ora
# Generated by Oracle configuration tools.

SID_LIST_LISTENER =這里定義LISTENER進程為哪個實例提供服務
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = F:\oracle\product\10.2.0\db_1)
(PROGRAM = extproc)
)
)

LISTENER =監聽器的名字,一臺數據庫可以有不止一個監聽器
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))監聽器監聽的協議,IP,端口等
(ADDRESS = (PROTOCOL = TCP)(HOST = dabeng)(PORT = 1521))
)
)
????? 上面的例子是一個最簡單的例子,但也是最普遍的。一個listener進程為一個數據庫實例(SID)提供服務。
三、總結
????? 上面說到的三個文件都可以通過圖形的配置工具來完成配置:Database Configuration Assistant,Net Configuration Assistant  
????? 具體的配置可以嘗試一下,然后來看一下配置文件,這樣一來總體結構就有了,是當你輸入sqlplus zidi/zidi@changbai的時候
????? 1. 查詢sqlnet.ora看看名稱的解析方式,發現是TNSNAME
????? 2. 則查詢tnsnames.ora文件,從里邊找orcl的記錄,并且找到主機名,端口和service_name
????? 3. 如果listener進程沒有問題的話,建立與listener進程的連接。
????? 4. 根據不同的服務器模式如專用服務器模式或者共享服務器模式,listener采取接下去的動作。默認是專用服務器模式,沒有問題的話客戶端就連接上了數據庫的server process。
????? 5. 這時候網絡連接已經建立,listener進程的歷史使命也就完成了。
換個角度理解:
????? changbai是我們連接遠端數據庫用到的服務命名,但是最終必須轉化為host:port:servide_name這樣的連接字串,而這個轉化可以理解為是翻譯的過程,而要想翻譯成功,則必須選擇好翻譯方法,那么sqlnet.ora就是我們用來選擇翻譯方法的,其中的NAMES.DIRECTORY_PATH= (TNSNAMES) 就是我們選擇的命名解析方法; tnsnames.ora是翻譯方法中的一種----本地命名解析方法的配置文件,就好像我們選擇了查字典方法,這個文件就是我們的字典一樣里面存放著所有服務命名對應的連接字串;至于listener.ora則是負責接受我們請求的負責任人----連接地址配置文件,里面包括了連接負責人的連接地址,也放著經過他允許可以連接的數據庫信息。這樣就構成了Oracle的網絡架構。

Oracle 網絡配置用到的sqlnet.ora, tnsnames.ora, listener.ora文件


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 陇川县| 手游| 新郑市| 扬中市| 曲靖市| 东光县| 华池县| 祁东县| 成安县| 仙桃市| 托克托县| 大同市| 靖安县| 静宁县| 连州市| 共和县| 永州市| 曲麻莱县| 临朐县| 洛隆县| 图们市| 五指山市| 沙坪坝区| 庄浪县| 华池县| 秦安县| 濮阳县| 衡阳县| 安福县| 赣州市| 吕梁市| 化隆| 右玉县| 教育| 衡水市| 盐边县| 闻喜县| 奎屯市| 安丘市| 那曲县| 安福县|