本文講述了oracle數(shù)據(jù)庫實例連接的配置過程,三個重要的配置文件位于C:\oracle\product\10.1.0\Db_1\NETWORK\ADMIN目錄下
1. sqlplus sys/oracle@orcl
sqlnet.ora 文件格式NAMES.DIRECTORY_PATH= (TNSNAMES,HOSTNAME)??蛻舳司蜁紫仍趖nsnames.ora文件中找
orcl的記錄。如果沒有相應(yīng)的記錄則嘗試把orcl當(dāng)作一個主機名,通過網(wǎng)絡(luò)的途徑去解析它的ip地址然后去連接這個ip上
GLOBAL_DBNAME=orcl這個實例。
2. 客戶端。Tnsnames.ora
這個文件類似于unix 的hosts文件,提供的tnsname到主機名或者ip的對應(yīng),只有當(dāng)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. 服務(wù)器端。listener.ora
listener監(jiān)聽器進程的配置文件,接受遠程對數(shù)據(jù)庫的接入申請并轉(zhuǎn)交給oracle的服務(wù)器進程。所以如果不是使用的遠程的連接,listener進程就不是必需的,同樣的如果關(guān)閉listener進程并不會影響已經(jīng)存在的數(shù)據(jù)庫連接。
#下面定義LISTENER進程為哪個實例提供服務(wù)
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)
)
)
#監(jiān)聽器的名字,一臺數(shù)據(jù)庫可以有不止一個監(jiān)聽器
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