64位oracle客戶端鏈接不上的問題

      對於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 ,此時啓動失敗會顯示默認的服務文件路徑,將其文件夾名稱做對應修改便可從新啓動。

相關文章
相關標籤/搜索