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