Oracle 11g-網絡配置
當我們安裝完Oracle了,需要進行網絡連接,此時當然需要兩樣東西:服務器和客戶端。通過對二者的配置我們方可實現網絡連接。那,平時我們是怎樣訪問數據庫服務器的呢?主要是兩種方式:
1.通過網絡【tcp/ip】訪問,那麼至少要啓動OracleOraDb11g_home1TNSListener和OracleServiceORCL服務。【監聽是針對該種情況】
Example:sqlplus scott/scott@orcl
2.通過本地訪問,至少啓動OracleServiceORCl服務。
Examp:sqlplus scott/scott
客戶端和服務器主要任務:【如下圖】
客戶端的網絡服務名配置信息包括服務器地址、監聽端口號和數據庫SID等,與服務器的監聽器建立連接。配置信息保存在名爲tnsnames.ora的文件中
文件內容大概如下:其中ORCL就是服務名
備註:服務名就是連接的字符串,可以通過它來訪問遠程數據庫,簡單理解就是服務名就是對數據庫的一個標識,通過服務名可以訪問數據庫。
服務器配置:可以通過netca工具配置。配置時指明遠程數據庫的主機名,網絡協議用TCP/IP,配置完成後的登陸方式(以服務名爲test爲例):sqlplus username/password@test 測試服務是否連接上:tnsping 服務名
服務器端監聽器配置信息包括監聽協議、地址及其他相關信息。配置信息保存在名爲listener.ora的文件中。在安裝服務器軟件時自動配置一個監聽器。文件部分如下:
q服務器端監聽控制:lsnrctl start|stop| status
q圖形界面配置監聽:netca
q編輯文件方式配置監聽:listener.ora文件
在Oracle11g中,進行網絡配置的文件除了listener.ora和tnsnames.ora外,還有一個是sqlnet.orl。該文件部分內容如下:
不知道大家有沒有發現,我們可以通過語句sqlplus /as sysdba直接登錄數據庫而不需要輸入任何密碼,這並不是不安全,而是oracle的一種機制。如圖NTS參數代表了我們可以這樣做,如果將NTS改成NONE的話,我們會發現無法登錄到數據庫系統中。這個是該文件的第一個知識點。
第二個知識點就是第二句話了,EZONNECT是簡單連接的意思,類似:conn scott/scott@計算機名:1521/orcl 是不需要在客戶端進行任何配置的。
至於TNSNAMES就是本地命名的方式,類似conn scott/scott@oracl的連接方式,需要客戶單配置一個本地命名解析文件,就是tbsnames.ora,可用netca配置。
以上就是sqlnet.ora文件的內容。
靜態註冊和動態註冊【靜態監聽和動態監聽】
註冊,就是將數據庫作爲一個服務註冊到監聽程序,在數據庫服務器啓動過程,數據庫服務器會向監聽程序註冊對應的服務。
在listener.ora中,如果有類似
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = Orcl)
(ORACLE_HOME = D:\app\Administrator\product\11.1.0\db_1)
(SID_NAME = ORCL)
)
)
,就是靜態註冊
在listener.ora中,如果有類似
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = a84p1l1x02meo8p)(PORT = 1521))
)
),就是動態註冊。
動態註冊的一個特點就是不需要LISTENER.ORA文件。默
認情況PMON 向LSNRCTL 註冊TCP/IP協議,PORT 爲1521。
使用lsnrctl status查看某個服務是靜態註冊、還是動態注
冊;如果是UNKNOWN,表示靜態註冊;如果是READY,表
示動態註冊。
READY的服務是由PMON進程動態的註冊到監聽器,因此
PMON進程所在的數據庫一定處於打開狀態,所以說這些服務
名所對應的實例已經準備好(READY)接受用戶的連接請求。
UNKNOWN的服務是通過編輯listener.ora而靜態註冊的服
務名,監聽器並不知道該服務名對應的實例是否打開了,所以
用UNKNOWN表示。
動態註冊、靜態註冊可以根據需要進行轉換。
最後一點,就是配置工具:
1.使用Net Configuration Assistant配置網絡連接,
界面操作,不易出錯,實際上還是修改的listener.ora
和tnsnames.ora文件。
2.NETCA中進行命名方法配置,實際是修改
sqlnet.ora文件中的內容
3.使用Net Manager配置靜態註冊