plsql無法連接oracle,報錯:ORA-12514

     爲了本地測試方便,我在本機安裝了oracle,幾個月前plsql突然無法連接oracle,報錯:ORA-12514,在網上找了各種方法都無法解決,最後只能忍辱卸載oracle重新安裝,一切又相安無事.

    昨天早上,當我想查看測試數據時,悲劇重現,真的煩人.我又去網上一通搗鼓,還是不行,一個坑不能死兩次,我決定搞定它.百度,谷歌一直查,無數種嘗試,晚上10點,迎來曙光.

    在此之前,先整理下oracle服務器,oracle客戶端和plsql之間的關係:

    oracle服務器: 提供數據存儲,查詢等功能

    oracle客戶端: 與oracle服務器通信,通過SQL進行數據庫操作

    plsql: 一個可視化的工具,通過連接oracle客戶端間接操作oracle服務器

以前我一直以爲plsql就是一個oracle客戶端,哎,慚愧!

開始記錄ora_12514的解決方法:

1.確定oracle服務器正常運行

  查看服務是否啓動:

這兩個服務必須啓動

  測試sqlplus工具:

  打開cmd窗口,輸入sqlplus,再輸入用戶名和密碼,如果可以正常連接,說明數據庫正常

2. 檢查,修改oracle客戶端配置

  檢查客戶端下的tnsnames.ora

內容如下:

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)

    )

  )

LISTENER_ORCL = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))

根據自己的實例名稱修改,注意加粗行,如果沒有,加上

   檢查客戶端下的listen.ora

內容如下:

SID_LIST_LISTENER =

  (SID_LIST =

    (SID_DESC =

      (SID_NAME = CLRExtProc)

      (ORACLE_HOME = D:\dev-soft\oracle11g\product\11.2.0\dbhome_1)

      (PROGRAM = extproc)

      (ENVS = "EXTPROC_DLLS=ONLY:D:\dev-soft\oracle11g\product\11.2.0\dbhome_1\bin\oraclr11.dll")

    )

    (SID_DESC = (GLOBAL_DBNAME = ORCL)(ORACLE_HOME = D:\dev-soft\oracle11g\product\11.2.0\dbhome_1)(SID_NAME = ORCL))

  )

LISTENER =

  (DESCRIPTION_LIST =

    (DESCRIPTION =

      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))

      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))

    )

  )

ADR_BASE_LISTENER = D:\dev-soft\oracle11g

 

根據自己的oracle安裝路徑和實例名稱修改,注意加粗行,如果沒有,加上

 

   重啓Oracle監聽程序

3.檢查plsql是否已經指定客戶端

至此,我的問題得以解決,成功連接!

 

如果還是無法登錄,嘗試如下方法:

右擊"我的電腦" - "屬性" - "高級" - "環境變量" - "系統環境變量":

              1>.點擊"新建", 變量名設置爲"TNS_ADMIN", 變量值設置客戶端根目錄,如:"D:\dev-soft\instantclient_12", 點擊"確定";

        2>.選擇"Path" - 點擊"編輯", 添加客戶端安裝路徑:%TNS_ADMIN%

              最後點擊"確定"退出

注意查看path裏面的設置的oracle路徑是否正確!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章