對於oracle的客戶端pl/sql工具自己是32位的,若要鏈接64位的oracle,須要安裝oracle32位的instaceClient(能夠再oracle官網下載),經過進入pl/sql配置,打開工具中首選項配置以下(所配置的爲instanceClient的路徑):sql
如此可實現PL/SQL和數據庫的鏈接。可是oracle在使用過程當中較容易出現問題,常見問題及解決方法以下:數據庫
一. ORA-12541無監聽程序服務器
顧名思義,這種狀況下須要檢查oracle監聽是否打開,啓動OracleOraDb11g_home1TNSListener服務和OracleServiceXXX服務。網絡
1.檢查監聽文件,找到oracle的安裝目錄,打開product/dbhome1/network/admin文件夾,找到listtener.ora文件,該文件爲oracle的監聽程序文件,檢查文件監聽是否配置正確,能夠手動爲數據庫配置監聽。oracle
2.經過在命令行輸入netca進入網絡配置,從新爲oracle配置監聽程序。app
二. 沒法解析指定的鏈接標識符ide
鏈接標識符的解析主要是由tnsname來解析完成,打開oralce目錄下product/dbhome1/network/admin下的tnsname.ora文件能夠檢查其監聽文件,正常狀況下每一個數據庫都會有一個描述文件,監聽程序將會由此來解析服務器地址,正常配置以下:工具
# tnsnames.ora Network Configuration File: E:\app\mrl\product\11.2.0\dbhome_1\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.測試
LISTENER_ORCL =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))命令行
ORACLR_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
(CONNECT_DATA =
(SID = CLRExtProc)
(PRESENTATION = RO)
)
)
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
也能夠經過netca命令進入網絡配置,選擇本地網絡服務名配置,能夠手動添加、刪除、重配置和測試網絡服務名等,是網絡服務測試的重要方法。
最後,還要注意最重要的一點,須要查看服務中OracleDBConsoleXXX(XXX爲數據庫名)是否開啓,該服務是控制客戶端程序與服務器相連的服務,若沒有開啓客戶端工具是不能鏈接數據庫的,常表現出的問題是經過sqlplus命令能夠鏈接數據庫,可是pl/sql等工具鏈接不上。
與此同時,在開啓OracleDBConsoleXXX服務的時候容易出現的問題是沒法從本地開啓此服務,這是由於當前服務指定的IP地址發生變更,生成服務文件夾名變了,須要到oralce目錄下product/11.2/dbhome1/oc4j/j2ee下找到服務的文件夾OC4J_DBConsole_mrl-PC_XXX,此爲服務啓動文件夾將其中主機名mrl-PC更改成本地計算機的主機名或者localhost便可,如果遠程服務的,能夠經過在命令行運行emctl start dbconsole ,此時啓動失敗會顯示默認的服務文件路徑,將其文件夾名稱做對應修改便可從新啓動。