<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    瘋狂

    STANDING ON THE SHOULDERS OF GIANTS
    posts - 481, comments - 486, trackbacks - 0, articles - 1
      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

    早上同事用PL/SQL連接虛擬機中的Oracle數(shù)據(jù)庫,發(fā)現(xiàn)又報了“ORA-12514 TNS 監(jiān)聽程序當前無法識別連接描述符中請求服務”錯誤,幫其解決后,發(fā)現(xiàn)很多人遇到過這樣的問題,因此寫著這里。

    也許你沒有遇到過,原因如下:

    你oracle安裝成功后,一直未停止數(shù)據(jù)庫(即數(shù)據(jù)庫是啟動的),客戶端配置成功后,應該一直不會有什么問題。

    而一旦你和我同事一樣,有時把Oracle安裝在虛擬機中,而且Oracle安裝完畢后,沒在進行任何監(jiān)聽的配置,則虛擬機再啟動,則就會出現(xiàn)ORA-12514的問題。如下圖

    TNS 監(jiān)聽程序當前無法識別連接描述符中請求服務 的解決方法" name=image_operate_32961295504739984 alt="ORA-12514 TNS 監(jiān)聽程序當前無法識別連接描述符中請求服務 的解決方法" src="http://s7.sinaimg.cn/middle/5007d1b1g9a40c1c8ebf6&690" width=378 height=106>

    如下是解決思路:

    根據(jù)出錯信息判斷出客戶端未監(jiān)聽到實例服務名

    1、通過重啟服務的方式啟動數(shù)據(jù)庫,再次連接仍無法連接服務器。

    2、既然第一種方法不能解決問題,那就第二種方法。考慮監(jiān)聽listener.ora

       監(jiān)聽配置文件listener.ora中可以不必指定監(jiān)聽的服務名(安裝Oracle10g后也是沒有指定的)。正常情況下一般只要數(shù)據(jù)庫啟動,客戶端連接數(shù)據(jù)庫也沒有什么問題,但是有時重復啟動關閉也會出現(xiàn)ORA-12514錯誤。

       既然listener.ora中沒有指定監(jiān)聽,我們可以在listener.ora文件中指定監(jiān)聽的實例名,這樣該問題應該可以連接。

    步驟如下:

    • 在oracle服務器Oracle安裝目錄(我的在E:\Oracle10g下,每個人的不一樣,根據(jù)自己的情況查找)Network/admin目錄下找到listener.ora 我的如下圖所示

    # listener.ora Network Configuration File: E:\Oracle10g\network\admin\listener.ora
    # Generated by Oracle configuration tools.

    SID_LIST_LISTENER =
      (SID_LIST =
        (SID_DESC =
          (SID_NAME = PLSExtProc)
          (ORACLE_HOME = E:\Oracle10g)
          (PROGRAM = extproc)
        )
       (SID_DESC =
        (GLOBAL_DBNAME = ORCL)
        (ORACLE_HOME = E:\Oracle10g)
        (SID_NAME = ORCL)
        )

     )

    LISTENER =
      (DESCRIPTION_LIST =
        (DESCRIPTION =
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
          (ADDRESS = (PROTOCOL = TCP)(HOST = onest)(PORT = 1521))
        )
      )

    標紅的為我添加的部分,ORCL為監(jiān)聽的實例名。

    • 然后在Oracle服務器的服務中重新啟動監(jiān)聽服務TNS 監(jiān)聽程序當前無法識別連接描述符中請求服務 的解決方法" name=image_operate_641295504618796 alt="ORA-12514 TNS 監(jiān)聽程序當前無法識別連接描述符中請求服務 的解決方法" src="http://s16.sinaimg.cn/middle/5007d1b1g9a4102276c5f&690" real_src="http://s16.sinaimg.cn/middle/5007d1b1g9a4102276c5f&690">,然后在oracle客戶端通過再次配置對Orcl實例的監(jiān)聽,如下圖所示TNS 監(jiān)聽程序當前無法識別連接描述符中請求服務 的解決方法" name=image_operate_40861295504642796 alt="ORA-12514 TNS 監(jiān)聽程序當前無法識別連接描述符中請求服務 的解決方法" src="http://s6.sinaimg.cn/middle/5007d1b1g9a410a2805c5&690" width=476 height=86 real_src="http://s6.sinaimg.cn/middle/5007d1b1g9a410a2805c5&690">
    • 結果出現(xiàn)如下圖的提示。
      TNS 監(jiān)聽程序當前無法識別連接描述符中請求服務 的解決方法" name=image_operate_14831295504695718 alt="ORA-12514 TNS 監(jiān)聽程序當前無法識別連接描述符中請求服務 的解決方法" src="http://s13.sinaimg.cn/middle/5007d1b1g9a40c26294dc&690" width=598 height=401 real_src="http://s13.sinaimg.cn/middle/5007d1b1g9a40c26294dc&690">
    • 這時我們不要著急,只需要oracle服務器重新啟動一下,再次連接即成功。這也是我們配置完listener.ora 監(jiān)聽后,經常忘記的。再次嘗試,可以看到客戶端可以連接上oracle服務器了,而且PL/SQL再次連接也沒有問題了。

    而有些朋友在配置客戶端時,連接數(shù)據(jù)庫成功,而使用PL/SQL時,又出現(xiàn)了如下圖所示的問題。這又如何解決呢?為什么oracle客戶端已經連接成功了,而PL/SQL確不行呢?

    TNS 監(jiān)聽程序當前無法識別連接描述符中請求服務 的解決方法" name=image_operate_78131295504727281 alt="ORA-12514 TNS 監(jiān)聽程序當前無法識別連接描述符中請求服務 的解決方法" src="http://s3.sinaimg.cn/middle/5007d1b1g9a40c320fad2&690" width=436 height=288 real_src="http://s3.sinaimg.cn/middle/5007d1b1g9a40c320fad2&690">


    出現(xiàn)如上的原因是,可能是大家再配置oracle客戶端時,雖然鏈接成功了,步驟上可能有些錯誤。大家使用Net Cofiguration Assistant客戶端時重新配置了Orcl,而不是添加,我們應該如下步驟處理,就不會出問題了。

    1、如果Net Cofiguration Assistant中已經有了Orcl。我們可以重新配置

    2、如果Net Cofiguration Assistant中沒有Orcl,我們應該添加  具體界面如下圖所示。

    TNS 監(jiān)聽程序當前無法識別連接描述符中請求服務 的解決方法" name=image_operate_52121295504778234 alt="ORA-12514 TNS 監(jiān)聽程序當前無法識別連接描述符中請求服務 的解決方法" src="http://s5.sinaimg.cn/middle/5007d1b1g9a412cc6e6d4&690" width=594 height=397 real_src="http://s5.sinaimg.cn/middle/5007d1b1g9a412cc6e6d4&690">

    如果大家該步處理也沒有問題了,listener.ora 修改成功,并且重新啟動了oracle服務器,無論oracle客戶端還是PL/SQL都能夠成功連接數(shù)據(jù)庫了。

    總結一下。當大家遇到“ORA-12514 TNS 監(jiān)聽程序當前無法識別連接描述符中請求服務”錯誤的解決步驟:

    1、通過重啟服務的方式啟動數(shù)據(jù)庫,再次連接嘗試。

    2、如果第一種方法不可行,我們采用第二種方法

    • 正確添加listener.ora;
    • 重新啟動了oracle服務器,并檢查oracle所有服務是否啟動;
    • oracle客戶端Net Cofiguration Assistant正確添加或重新配置實例名 
    轉載自:http://blog.sina.com.cn/s/blog_5007d1b10100oqo8.html

    評論

    # re: ORA-12514 TNS 監(jiān)聽程序當前無法識別連接描述符中請求服務 的解決方法  回復  更多評論   

    2012-08-18 10:23 by 韓鵬翔
    一下是我的tnsnames.ora
    # tnsnames.ora Network Configuration File: D:\oracle\product\10.2.0\db_1\network\admin\tnsnames.ora
    # Generated by Oracle configuration tools.

    ORCL =
    (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = PC-201208020841)(PORT = 1521))
    (CONNECT_DATA =
    (SERVER = DEDICATED)
    (SERVICE_NAME = orcl)
    )
    )

    EXTPROC_CONNECTION_DATA =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
    )
    (CONNECT_DATA =
    (SID = PLSExtProc)
    (PRESENTATION = RO)
    )
    )
    PTDB_70 =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 10.10.10.89)(PORT = 1521))
    )
    (CONNECT_DATA =
    (SERVER = DEDICATED)
    (SERVICE_NAME = ptdb)
    )
    )

    PTDB =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 10.10.10.82)(PORT = 1521))
    )
    (CONNECT_DATA =
    (SERVICE_NAME = ptdb)
    )
    )

    SFLJDB1 =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = MICROSOF-186022)(PORT = 1521))
    )
    (CONNECT_DATA =
    (SERVICE_NAME = SFLJDB1)
    )
    )

    OA =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 10.10.10.48)(PORT = 1521))
    )
    (CONNECT_DATA =
    (SERVICE_NAME = OA)
    )
    )

    INST1_HTTP =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = MICROSOF-186022)(PORT = 1521))
    )
    怎么配置我的listener.ora文件

    # re: ORA-12514 TNS 監(jiān)聽程序當前無法識別連接描述符中請求服務 的解決方法  回復  更多評論   

    2012-09-06 13:31 by llq_swbl
    fsdf

    # re: ORA-12514 TNS 監(jiān)聽程序當前無法識別連接描述符中請求服務 的解決方法  回復  更多評論   

    2012-10-09 15:26 by cl
    當Oracle的參數(shù)等配置不當或丟失,也會導致該錯誤發(fā)生。
    這時就不是監(jiān)聽的問題。

    # re: ORA-12514 TNS 監(jiān)聽程序當前無法識別連接描述符中請求服務 的解決方法  回復  更多評論   

    2013-04-10 10:08 by fds
    滾你丫 我操

    # re: ORA-12514 TNS 監(jiān)聽程序當前無法識別連接描述符中請求服務 的解決方法  回復  更多評論   

    2013-09-01 14:18 by 勁松
    樓主正解,通過你的方法,我成功解決了問題

    # re: ORA-12514 TNS 監(jiān)聽程序當前無法識別連接描述符中請求服務 的解決方法[未登錄]  回復  更多評論   

    2013-11-30 11:02 by 呵呵
    你能不能說的全面一點,你那都是簡單的問題,是個人都會處理的.

    # re: ORA-12514 TNS 監(jiān)聽程序當前無法識別連接描述符中請求服務 的解決方法[未登錄]  回復  更多評論   

    2014-02-25 23:22 by 清風
    頂LZ
    加了這行話就OK了
    (SID_DESC =
    (GLOBAL_DBNAME = ORCL)
    (ORACLE_HOME = E:\Oracle10g)
    (SID_NAME = ORCL)
    )
    當然那 ORACLE_HOME 要和上面一個一樣喲 別硬搬過去了

    # re: ORA-12514 TNS 監(jiān)聽程序當前無法識別連接描述符中請求服務 的解決方法  回復  更多評論   

    2015-03-06 21:28 by IT小菜鳥
    多謝樓主,問題已解決

    # re: ORA-12514 TNS 監(jiān)聽程序當前無法識別連接描述符中請求服務 的解決方法  回復  更多評論   

    2015-04-01 11:10 by 水楓巨
    我謝樓主,問題解決了。
    我也是在虛擬機里安裝oracle,剛安裝上是好的可以連接上,后回因為換機器,虛擬機復制到新機器上,IP地址變了,就出錯,連接不上了。現(xiàn)用你的方法,總算解決問題。

    # re: ORA-12514 TNS 監(jiān)聽程序當前無法識別連接描述符中請求服務 的解決方法[未登錄]  回復  更多評論   

    2015-05-12 20:27 by Ian
    樓主正解

    # re: ORA-12514 TNS 監(jiān)聽程序當前無法識別連接描述符中請求服務 的解決方法  回復  更多評論   

    2015-07-22 22:58 by 開元
    這招果然厲害
    主站蜘蛛池模板: 国产在线a免费观看| 亚洲精品亚洲人成在线观看下载| 在线观看亚洲AV每日更新无码| 扒开双腿猛进入爽爽免费视频 | 亚洲成在人线av| 免费无码又黄又爽又刺激| 免费看黄网站在线看 | 一级一看免费完整版毛片| 久久亚洲AV午夜福利精品一区| 成人人免费夜夜视频观看| 在线观看人成视频免费无遮挡| 中中文字幕亚洲无线码| 久久久久亚洲精品无码网址 | 9久热这里只有精品免费| 国产.亚洲.欧洲在线| 国产性爱在线观看亚洲黄色一级片| 亚洲免费观看在线视频| 一级毛片试看60分钟免费播放| 亚洲天堂福利视频| 中文字幕亚洲一区| 国产高清免费观看| 精品无码无人网站免费视频| 九九全国免费视频| 亚洲色大情网站www| 亚洲理论在线观看| 亚洲午夜久久久久久久久电影网 | 久久国产精品免费观看| 免费看美女午夜大片| 亚洲av无码久久忘忧草| 亚洲av伊人久久综合密臀性色| 免费无遮挡无码永久在线观看视频| 999任你躁在线精品免费不卡| 一级毛片免费在线观看网站| 在线亚洲高清揄拍自拍一品区| 久久久久久亚洲精品中文字幕| 亚洲色一色噜一噜噜噜| 国产精品免费一级在线观看| 色片在线免费观看| 91免费国产精品| 免费在线看污视频| 中国国语毛片免费观看视频|