1. sqlplus sys/oracle@orcl
sqlnet.ora 文件格式NAMES.DIRECTORY_PATH= (TNSNAMES,HOSTNAME)??蛻舳司蜁紫仍趖nsnames.ora文件中找
orcl的記錄。如果沒有相應的記錄則嘗試把orcl當作一個主機名,通過網絡的途徑去解析它的ip地址然后去連接這個ip上
GLOBAL_DBNAME=orcl這個實例。
2. 客戶端。Tnsnames.ora
這個文件類似于unix 的hosts文件,提供的tnsname到主機名或者ip的對應,只有當sqlnet.ora中類似NAMES.DIRECTORY_PATH= (TNSNAMES) 這樣,也就是客戶端解析連接字符串的順序中有TNSNAMES時,才會嘗試使用這個文件。
#你所要連接的時候輸入得TNSNAME,如果listner啟動失敗嘗試改IP地址
ora10gcsdl1 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ora10gcsdl1)
)
)
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = IBM-66336DAFE8F.cn.ibm.com)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
3. 服務器端。listener.ora
listener監聽器進程的配置文件,接受遠程對數據庫的接入申請并轉交給oracle的服務器進程。所以如果不是使用的遠程的連接,listener進程就不是必需的,同樣的如果關閉listener進程并不會影響已經存在的數據庫連接。
#下面定義LISTENER進程為哪個實例提供服務
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = C:\oracle\product\10.1.0\Db_1)
(PROGRAM = extproc)
)
(SID_DESC =
(SID_NAME = ora10gcsdl1)
(ORACLE_HOME = C:\oracle\product\10.1.0\Db_1)
)
(SID_DESC =
(SID_NAME = ora10gcs)
(ORACLE_HOME = C:\oracle\product\10.1.0\Db_1)
)
)
#監聽器的名字,一臺數據庫可以有不止一個監聽器
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
)
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
)
)
)
4.排錯用到的指令:
lsnrctl > help
tnsping ip/sid