oracle中的listener.ora和tnsnames.ora
一、oracle的客戶端與服務器端
???oracle在安裝完成后服務器和客戶端都需要進行網絡配置才能實現網絡連接。?
???服務器端配置監聽器,客戶端配置網絡服務名?
?
服務器端可配置一個或多個監聽程序 。
二、oracle至少啟動的服務
????如果通過網絡訪問數據庫服務器,至少要啟動OracleOraDb11g_home1TNSListener和OracleServiceORCL服務。?
如果本地訪問數據庫服務器,至少要啟動OracleServiceORCL服務。?
網絡訪問:例: sqlplus scott/scott@orcl?
本地訪問:例: sqlplus scott/scott
三、詳細介紹
① 服務器端的監聽器的配置信息有:監聽協議(如:TCP/IP)、地址(端口號)、其他相關信息,并將上述配置信息保存在listener.ora文件中,在安裝服務器軟件時自動配置了一個監聽器。?
②客戶端的網絡服務名的配置信息有:服務器地址、監聽端口號、數據庫SID,與服務器的監聽器建立連接,保存于tnsnames.ora中。
oracle中用于配置監聽器和服務名的可視化工具為:?
?????Net Configuration Assistant (NETCA)?
?????Net Manager
四、監聽的啟動于暫停
①在windows操作系統中,可以使用服務管理器(services.msc)中手動啟動與禁用。?
?
?
②在linux操作系統中(或者在dos中)
查看監聽當前狀態:lsnrctl status
啟動監聽 :lsnrctl starts
停用監聽 : lsnrctl stop
五、三個重要的文件(進行網絡配置)
???????????oracle11g中進行網絡配置的主要文件有三個,位于$ORACLE_HOME\NETWORK\ADMIN下的sqlnet.ora、listener.ora、tnsnames.ora文件。(前面已介紹過后兩個的作用)
sqlnet.ora的作用?
????????當用戶登錄到操作系統后,如果進而允許此用戶登錄數據庫系統,則需要在sqlnet.ora中設置SQLNET.AUTHENTICATION_SERVICES= (NTS);?
????????如果設置為SQLNET.AUTHENTICATION_SERVICES= (NONE),則不允許登錄到數據庫系統中。
六、客戶端的兩種連接方式
1,簡單連接:類似conn scott/scott@計算機名:1521/orcl的連接方式,不需要客戶端進行任何配置。?
2,本地命名:類似conn scott/scott@orcl的連接方式,需要客戶端配置一個本地命名解析文件,為$ORACLE_HOME\NETWORK\ADMIN\tnsnames.ora文件,可以使用netca配置。?
在sqlnet.ora文件中進行規定。
七、Oracle11g的服務名的含義
服務名:???????服務名就是連接字符串,可以通過它訪問遠程數據庫,可以通過NETCA配置,配置時要指明遠程數據庫的主機名,網絡協議用TCP/IP,配置完成后可以用如 下方式登陸:(以服務名為test) username/password@test , 也就是:是對數據庫的一個標識,通過服務名可訪問數據庫 。
測試服務能否連接上:tnsping <服務名>
八、注冊*(靜態注冊和動態注冊)
???????注冊就是將數據庫作為一個服務注冊到監聽程序,在數據庫服務器啟動過程中,數據庫服務器會向監聽程序注冊相應的服務 。
靜態注冊
在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表示。
動態注冊、靜態注冊可以根據需要進行轉換。
原文:https://blog.csdn.net/bibibrave/article/details/82355466?
總結
以上是生活随笔為你收集整理的oracle中的listener.ora和tnsnames.ora的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux oracle 数据库导出
- 下一篇: 高数:极限