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一米陽光 閱讀(310) 評論(0)  編輯  收藏

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


          網站導航:
           
          主站蜘蛛池模板: 大城县| 化隆| 句容市| 郴州市| 靖西县| 扶余县| 永济市| 饶河县| 凤庆县| 芮城县| 滨州市| 来凤县| 汨罗市| 凤冈县| 保定市| 霍林郭勒市| 威宁| 青龙| 定边县| 且末县| 钦州市| 通许县| 嵊泗县| 榆林市| 扎鲁特旗| 平安县| 台北市| 通许县| 东乡族自治县| 龙山县| 永清县| 汨罗市| 贵德县| 正定县| 临沧市| 凤翔县| 游戏| 庐江县| 温州市| 忻城县| 民权县|