tft每日頭條

 > 科技

 > 怎麼查看oracle dsn配置

怎麼查看oracle dsn配置

科技 更新时间:2024-11-22 21:35:49
概述

有朋友微信問了我一些監聽方面的内容,所以今天抽空也整理了一下。


TNS

Oracle中TNS的完整定義:transparence Network Substrate 透明網絡底層,監聽服務是它重要的一部分,不是全部,不要把TNS當作隻是監聽器。

TNS是Oracle Net的一部分,專門用來管理和配置oracle數據庫和客戶端連接的一個工具,在大多數情況下客戶端和數據庫要通訊,必須配置TNS,當然在少數情況下,不用配置TNS也可以連接Oracle數據庫,比如通過JDBC。如果通過TNS連接Oracle,那麼客戶端必須安裝Oracle client程序。

Oracle當中,如果想訪問某個服務器,必須要設置TNS,它不像SQL SERVER那樣在客戶端自動列舉出在局域網内所有的在線服務器,隻需在客戶端選擇需要的服務器,然後使用帳号與密碼登錄即可。而Oracle不能自動列舉出網内的服務器,需要通過讀取TNS配置文件才能列出經過配置的服務器名。

配置文件名一般為:tnsnames.ora,默認路徑:%ORACLE_HOME%\network\admin\tnsnames.ora

怎麼查看oracle dsn配置(詳解oracle數據庫監聽tns配置方法)1

上圖中的CGDB和STDCG就是對應的TNS,HOST是指向數據庫服務器的IP,當然局域網内用計算機名稱也是可以的。通過客戶端Net Manager創建一個連接到數據庫服務器的連接服務時,實際上就是在tnsnames.ora文件中增加了一個TNS的内容。


TNS的詳細配置文件

TNS的配置文件包括服務器端和客戶端兩部分。服務器端有listener.ora、sqlnet.ora和tnsnames.ora,如果通過OCM(Oracle Connection Manage)和域名服務管理客戶端連接,服務器端可能還包括cman.ora等文件;客戶端有tnsnames.ora,sqlnet.ora。Oracle所有的TNS配置文件的默認路徑:%ORACLE_HOME%\network\admin

listener.ora:監聽器配置文件,成功啟動後是駐留在服務器端的一個服務。監聽器是用來偵聽客戶端的連接請求以及建立客戶端和服務器端連接通道的一個服務程序。默認情況下Oracle在1521端口上偵聽客戶端連接請求。

sqlnet.ora:用來管理和約束或限制tns連接的配置,通過在該文件中設置一些參數,可以管理TNS連接。根據參數作用的不同,需要分别在服務器和客戶端配置.。

tnsnames.ora:配置客戶端到服務器端的連接服務,包括客戶端要連接到的服務器和數據庫的配置信息。


TNS配置

可以通過Oracle Net Configuretion Assitant配置TNS,也可以手動配置。首先在Oracle服務器端安裝完成之後,應該先着手配置LISTENER,LISTENER是進行Oracle通訊的首要組件,緊接着在客戶端安裝Oracle client,同時配置tnsnames.ora文件。

首先監聽器包括兩個部分:Oracle要監聽的地址、端口、通訊協議;Oracle要監聽的數據庫實例,非RAC環境下,LISTENER隻能監聽本服務器的地址和實例,RAC環境下,LISTENER還可以監聽遠程服務器。每個數據庫最少要配置一個監聽器。(注:RAC環境,指的是Oracle服務器集群配置的環境)

怎麼查看oracle dsn配置(詳解oracle數據庫監聽tns配置方法)2

LISTENER部分配置了Oracle要監聽的地址和端口信息;該文件中還會包括SID_LIST_LISTENER部分,這部分配置了Oracle需要監聽的實例。(注:在上述截圖中并沒有SID_LIST_LISTENER這一部分,這是因為Oracle自9i版本引入了動态監聽服務注冊,在數據庫啟動時,會自動注冊當前數據庫實例到監聽列表,所以無需配置SID_LIST_LISTENER部分了)

HOST參數可以是Oracle服務器主機名稱,也可以是相應的IP地址。在一個多IP的服務器上可以配置listener同時監聽多個地址,比如下面的配置:LISTENER= (DESCRIPTION= (ADDRESS_LIST= (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.0.11)(PORT=1521)) (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.2.11) (PORT=1521))) ),或者可以配置多個監聽器,分别監聽不同的IP地址。

一般說的TNS配置其實就是對tnsnames.ora文件的配置,tnsnames.ora有客戶端的配置,也有服務器端的配置。客戶端和服務器端配置的區别是因為服務器端的配置跟LISTENER的配置相關。下面是一個簡單的配置示例:

怎麼查看oracle dsn配置(詳解oracle數據庫監聽tns配置方法)3

tnsnames.ora也包括兩部分,ADDRESS_LIST 部分包含了Oracle數據庫服務器的監聽地址信息,也就是要告訴TNS數據庫可通過這個地址和CLIENT進行通訊;CONNECT_DATA 定義了CLIENT要連接的數據庫,以及數據庫的連接方式,(專用或共享)。

在一個多IP環境中,TNS也可以配置多個遠程IP地址:

NWPPDB = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.55)(PORT = 1521)) (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.56)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = NWPPDB) (SERVER = DEDICATED) ) )

sqlnet.ora是個很重要的配置,它可以控制和管理Oracle連接的屬性,根據參數作用的不同決定在客戶端配置還是在server端配置。sqlnet.ora的配置是全局性的,也就說sqlnet.ora的配置是對所有的連接起作用,如果想對某個特殊的連接或服務進行約束或限制,可以 在TNS配置相應參數。


TNS還有很多其他功能,熟知TNS相關知識,是DBA必備技能,後面會分享更多DBA方面的内容,感興趣的朋友可以關注一下~

怎麼查看oracle dsn配置(詳解oracle數據庫監聽tns配置方法)4

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved