oracle資料庫tns配置方法詳解

2021-07-04 19:36:25 字數 2562 閱讀 3196

tns是oracle net的一部分,專門用來管理和配置oracle資料庫和客戶端連線的乙個工具,在大多數情況下客戶端和資料庫要通訊,必須配置tns,下面看一如何配置它吧

tns簡要介紹與應用oracle中tns的完整定義:transparence network substrate透明網路底層,監聽服務是它重要的一部分,不是全部,不要把tns當作只是***。

tns是oracle net的一部分,專門用來管理和配置oracle資料庫和客戶端連線的乙個工具,在大多數情況下客戶端和資料庫要通訊,必須配置tns,當然在少數情況下,不用配置tns也可以連線oracle資料庫,比如通過jdbc。如果通過tns連線oracle,那麼客戶端必須安裝oracle client程式。

配置檔名一般為:tnsnames.ora,預設路徑:%oracle_home%\network\admin\tnsnames.ora

上圖中的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伺服器集群配置的環境)

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的配置相關。下面是乙個簡單的配置示例:

tnsnames.ora也包括兩部分,address_list 部分包含了oracle資料庫伺服器的監聽位址資訊,也就是要告訴tns資料庫可通過這個位址和client進行通訊;connect_data 定義了client要連線的資料庫,以及資料庫的連線方式,(專用或共享)。

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

參考: oracle tns簡述

oracle資料庫tns配置方法詳解

tns簡要介紹與應用 oracle中tns的完整定義 transparence network substrate透明網路底層,監聽服務是它重要的一部分,不是全部,不要把tns當作只是 tns是oracle net的一部分,專門用來管理和配置oracle資料庫和客戶端連線的乙個工具,在大多數情況下客...

Oracle資料庫配置

1 mysql開啟遠端連線 update user set host where user root and host localhost 在my中把修改為character set server utf8 show variables like char 查資料字符集 2 不用安裝oracle配置...

Oracle資料庫TNS常見錯誤解決方法

1 ora 12541 tns 沒有 原因 沒有啟動 或者 損壞。若是前者,使用命令net start oracleorahome10gtnslistener 名字可能有出入 即可 如果是後者,則使用 net configuration assistant 工具嚮導之 監聽程式配置 增加乙個 即可 ...