如何連接Oracle數據庫及故障解決辦法
如何配置才能使客戶端連到數據庫:
要使一個客戶端機器能連接oracle數據庫,需要在客戶端機器上安裝oracle的客戶端軟件,唯一的例外就是Java連接數據庫的時候,可以用jdbc thin模式,不用裝oracle的客戶端軟件。加入你在機器上裝了oracle數據庫,就不需要在單獨在該機器上安裝oracle客戶端了,因為裝oracle數據庫的時候會自動安裝oracle客戶端。
用過sql server數據庫然後又用oracle的新手可能會有這樣的疑問:問什麼我用sql server的時候不用裝sql server的客戶端呢?原因很簡單,sql server也是microsoft的,它在操作系統中集成了sql server客戶端,假如microsoft與oracle有協議,將oracle客戶端也集成到操作系統中,那我們也就不用在客戶端機器裝oracle客戶端軟機就可訪問數據庫了,不過,這似乎是不可能實現的事情。
也有的人會問:為什麼在sql server中沒有偵聽端口一說,而在oracle中要配置偵聽端口?其實sql server中也有偵聽端口,只不過microsoft將偵聽端口固定為1433,不答應你隨便改動,這樣給你一個錯覺感覺sql server中沒有偵聽端口,咳,microsoft把太多的東西都封裝到黑盒子裡,方便使用的同時也帶來的需要副作用。而oracle中的偵聽端口直接在配置文件中,答應隨便改動,只不過無論怎樣改動,要與oracle服務器端設置的偵聽端口一致。好,言歸正傳,我們如何做才能使客戶端機器連接到oracle數據庫呢?
A. 安裝相關軟件
B. 進行適當的配置 A.在適當的位置安裝適當的軟件:
在客戶端機器:
1.在客戶端機器上安裝ORACLE的Oracle Net通訊軟件,它包含在oracle的客戶端軟件中。
2.正確配置了sqlnet.ora文件:
NAMES.DirectorY_PATH = (TNSNAMES, ….)
NAMES.DEFAULT_DOMAIN=DB_DOMAIN
一般情況下我們不用NAMES.DEFAULT_DOMAIN參數。假如想不用該參數用#注釋掉或將該參數刪除即可,對於NAMES.DIRECTORY_PATH參數采用缺省值即可,對於NAMES.DEFAULT_DOMAIN參數有時需要注釋掉,在下面有具體解釋。
3.正確配置了tnsname.ora文件在服務器端機器:
1.保證listener已經啟動
2.保證數據庫已經啟動。
假如數據庫沒有啟動,用:
Oracle 9i:
dos>sqlplus “/ as sysdba”
sqlplus> startup
Oracle 8i:
dos>svrmgrl
svrmgrl>connect internal
svrmgrl>startup