1、sqlnet.ora 所在目錄:$ORACLE_HOME/network/admin下,具體點本機的就是(D:\app\Administrator\product\11.2.0\dbhome_2\NETWORK\ADMIN)
作用:sqlnet.ora這個文件用於配置網絡連接時所使用的連接方式等,比如SQLNET.AUTHENTICATION_SERVICES= (NTS),就是說可以以windows的本地操作系統用戶認證登錄,此外還有none(不允許通過os系統用戶登錄數據庫,需要提供用戶名及密碼),all(允許所有的登錄方式)
2、listener.ora 所在目錄:$ORACLE_HOME/network/admin下,具體點本機的就是(D:\app\Administrator\product\11.2.0\dbhome_2\NETWORK\ADMIN)
作用:
監聽器配置文件位置
D:\oracle\product\10.1.0\Db_1\NETWORK\ADMIN\listener.ora
內容:
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
)
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = gaohaiyang)(PORT = 1521))
)
)
)
需要注意是HOST的配置,一般情況下HOST=hostname,如果oracle所在主機連入網絡(局域網或者因特網),還可以配置為主機IP地址,例如192.168.3.152
但是在聯網的時候不能設置為127.0.0.1或者localhost,否則連接時會出現如下錯誤:
C:\Documents and Settings\Administrator>sqlplus pwgh_sz/pwgh_sz@orcl
SQL*Plus: Release 10.1.0.2.0 - Production on 星期一 9月 19 23:16:56 2011
Copyright (c) 1982, 2004, Oracle. All rights reserved.
ERROR:
ORA-12541: TNS:no listener
Enter user-name:
如果oracle所在主機沒有連入網絡,則可以設置為127.0.0.1
3、tnsnames.ora設置:
客戶機為了和服務器連接,必須先和服務器上的監聽進程聯絡。ORACLE通過tnsnames.ora文件中的連接描述符來說明連接信息。一般tnsnames.ora 是建立在客戶機上的。如果是客戶機/服務器結構,整個網絡上只有一台機器安裝了ORACLE數據庫服務器,那么只需在每個要訪問ORACLE服務器的客戶機上定義該文件,在服務器上無需定義。但是,如果網絡上有多台機器均安裝了ORACLE數據庫服務器,並且服務器之間有數據共享的要求,那么在每台服務器上都必須定義該文件。
tnsnames.ora文件的位置
D:\oracle\product\10.1.0\Db_1\network\admin\tnsnames.ora
內容:
ORCL_SZ =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.100)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
需要注意到有網絡服務名,在上面的例子中就是ORCL_SZ,使用sqlplus連接數據庫時指定此名字,如:sqlplus pwgh_sz/pwgh_sz@ORCL_SZ
Host一般設置為oracle服務器的地址,如:192.168.0.100,但是如果要連接的數據庫在本機上,則還可以設置為hostname。如果沒有連接網絡,還可以設置為127.0.0.1
SERVICE_NAME為oracle服務器上oracle的服務線程的名字,一般和數據庫全局數據庫名一致。