waysun一路陽光

          不輕易服輸,不輕言放棄.--心是夢的舞臺,心有多大,舞臺有多大。踏踏實實做事,認認真真做人。

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 ::  :: 管理 ::
            167 隨筆 :: 1 文章 :: 64 評論 :: 0 Trackbacks
          http://jenjoy.javaeye.com/blog/552622
          近日在配置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中配置的數據庫服務。
          posted on 2010-06-17 11:37 weesun一米陽光 閱讀(305) 評論(0)  編輯  收藏

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


          網站導航:
           
          主站蜘蛛池模板: 阆中市| 马关县| 阿瓦提县| 报价| 格尔木市| 安庆市| 靖安县| 清新县| 保山市| 监利县| 卫辉市| 赣州市| 方正县| 囊谦县| 广元市| 乌拉特中旗| 司法| 秭归县| 苗栗县| 菏泽市| 保亭| 威海市| 六盘水市| 桐庐县| 苗栗县| 宁德市| 贵州省| 吐鲁番市| 张家口市| 双江| 安平县| 黎城县| 句容市| 金山区| 安福县| 霍山县| 门头沟区| 收藏| 德钦县| 海南省| 林甸县|