ORA-12514: TNS: 監聽程序當前無法識別連接描述符中請求的服務 問題解決

          近日在配置Oracle 10G的流復制環境時,遇到一個問題,關閉數據庫(shutdown immediate)后,通過SQL Plus連接數據庫:conn sys/his@orc0 as sysdba,出現如下錯誤:

              ORA-12514: TNS: 監聽程序當前無法識別連接描述符中請求的服務

          通過重啟服務的方式啟動數據庫,再次連接卻能成功登錄,也就是說在關閉數據庫狀態下無法連接服務器。

              開始以為是系統環境變量Oracle_SID的配置問題,因為機器有多個實例,一陣折騰后還是不能連接。后來查資料得知:

              Oracle9i以后,后臺進程PMON自動在監聽器中注冊在系統參數SERVICE_NAMES中定義的服務名,SERVICE_NAMES默認為DB_NAME+DOMAIN_NAME。監聽配置文件listener.ora中可以不必指定監聽的服務名。但是,當數據庫處于關閉狀態下PMON進程沒有啟動,也就不會自動注冊監聽的實例名,所以使用sqlplus sys/his@orc0 as sysdba 會出現ORA-12514錯誤。

          如果在listener.ora文件中指定監聽的實例名,則即使數據庫處于關閉狀態,仍然可以連接。

          listener.ora

          SID_LIST_LISTENER =

            (SID_LIST =

              (SID_DESC =

                (SID_NAME = PLSExtProc)

                (ORACLE_HOME = G:\oracle\product\10.2.0\db_1)

                (PROGRAM = extproc)

              )

             (SID_DESC =

              (GLOBAL_DBNAME = ORCL)

              (ORACLE_HOME = G:\oracle\product\10.2.0\db_1)  

              (SID_NAME = ORCL)

              )

            )

          LISTENER =

            (DESCRIPTION_LIST =

              (DESCRIPTION =

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

              )

            )

           

          以上粗體部件為增加的內容,修改后重啟監聽服務后即可。

          附:通過在lsnrctl中輸入set display verbose,然后再通過命令service查看,服務狀態為READY表示PMON自動注冊的服務名,而UNKNOWN則表示該服務是手工在LISTENER.ORA中配置的數據庫服務。


          轉載于 http://www.cnblogs.com/zyk/archive/2007/10/31/944667.html



          posted on 2010-12-10 11:35 魯勝迪 閱讀(683) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          <2010年12月>
          2829301234
          567891011
          12131415161718
          19202122232425
          2627282930311
          2345678

          導航

          統計

          常用鏈接

          留言簿(4)

          隨筆分類

          隨筆檔案

          文章分類

          新聞分類

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 鄯善县| 塘沽区| 丹江口市| 中阳县| 黔西| 沈丘县| 四子王旗| 红河县| 子长县| 阿勒泰市| 定西市| 额尔古纳市| 囊谦县| 绥中县| 乌拉特前旗| 邹平县| 青田县| 于都县| 南靖县| 新余市| 锡林郭勒盟| 广河县| 蒙山县| 禹州市| 阿拉善右旗| 清水县| 百色市| 阿勒泰市| 潍坊市| 昌吉市| 明水县| 安乡县| 尉犁县| 阿拉善盟| 剑川县| 常州市| 岳阳县| 务川| 成安县| 翼城县| 同江市|