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)  編輯  收藏

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


          網站導航:
           
          主站蜘蛛池模板: 辉县市| 吉首市| 神农架林区| 诸暨市| 稷山县| 铜梁县| 临安市| 安龙县| 呼图壁县| 龙门县| 临高县| 长兴县| 武冈市| 云浮市| 万州区| 武汉市| 霍林郭勒市| 鄂托克旗| 固阳县| 乌兰县| 德昌县| 诸暨市| 临沧市| 宁国市| 岐山县| 黑河市| 乐山市| 通辽市| 丹江口市| 渭源县| 溧水县| 贵溪市| 洛隆县| 沿河| 砀山县| 泸溪县| 阳春市| 探索| 屏边| 周至县| 洛浦县|