實驗內容,在計算機上用vmware建立虛擬機,嘗試用本機連接虛擬機上的oracle 10g 數據庫
本機是64位win7,爲了plsql連接oracle,應下載10g以上版本的32位客戶端,然後安裝完成後,在E:\app\Administrator\product\11.2.0\client_1\network\admin目錄下建立tnsnames.ora(如果沒有該目錄,可以自己新建)和sqlnet.ora
對這tnsnames.ora和sqlnet.ora進行配置
在sqlnet.ora中應改成如下形式:
SQLNET.AUTHENTICATION_SERVICES= (NTS)
NAMES.DIRECTORY_PATH= (TNSNAMES)
注意,第二句的意思爲計算機會用nesnames的方式來找相關文件
在tnsnames.ora中,配置如下:
ORCL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.16.128)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
)
第一行爲你的數據庫名字,可以用命令select name from v$database來查看
HOST爲你要連接的計算機的ip地址,我是linux虛擬機,用命令ifconfig可以來查看自己的ip地址
port是你的監聽端口,可以去/u01/app/oracle/product/10.2.0/db_1/network/admin/listener.ora中查看(當然你之前要配過監聽,目錄也是每個人不一樣的,但是大致目錄是這個樣子)
service_name也是第一行的內容
當然如果tnsnames是可以從虛擬機中找到的,在/u01/app/oracle/product/10.2.0/db_1/network/admin/tnsnames.ora中也可以看到,
ORCL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
)
可以看到的是,在虛擬機中host是127.0.0.1,這個ip表示的是本機,所以只要複製下來黏貼到你本機的tnsnames.ora中再該掉HOST就完成了
這時可以做一個簡單的測試,在cmd下,鍵入
sqlplus hr/hr(用戶名密碼)@ORCL
如果能連的進去,基本你的plsql就也能連的進去了,但是需要注意的是,如果cmd可以進入數據庫而plsql無法進入,那麼你需要設置一下你的plsql,在tools-》performance-》connect中手動設置一下路徑,這樣就能連入了,路徑就是你客戶端裝在哪裏路徑就是哪個了
基本上就是這麼簡單,其實如果仔細想一想oracle的原理,是可以自己做到這些的