海水正藍

          面朝大海,春暖花開
          posts - 145, comments - 29, trackbacks - 0, articles - 1
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          oracle 監聽無法啟動

          Posted on 2013-05-30 14:03 小胡子 閱讀(616) 評論(0)  編輯  收藏 所屬分類: Oracle

          oracle監聽不能啟動的問題及處理過程!

          oracle環境如下:

          SQL> select * from V$version

          2 ;

          BANNER

          ----------------------------------------------------------------

          Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod

          PL/SQL Release 10.2.0.1.0 - Production

          CORE 10.2.0.1.0 Production

          TNS for 32-bit Windows: Version 10.2.0.1.0 - Production

          NLSRTL Version 10.2.0.1.0 - Production

          出錯過程回憶:在此之前用windows優化大師對系統注冊表進行了修復!

          Q:鏈接oracle時報錯:ORA-12541: TNS: 無監聽程序

          A:

          1〉查看監聽有沒有啟動:

          一:運行lsnrctl

          C:\Documents and Settings\Admin>lsnrctl

          LSNRCTL for 32-bit Windows: Version 10.2.0.1.0 - Production on 20-4月 -2007 09:

          1:43

          Copyright (c) 1991, 2005, Oracle. All rights reserved.

          歡迎來到LSNRCTL, 請鍵入"help"以獲得信息。

          二:查看stauts

          LSNRCTL> status

          正在連接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))

          TNS-12541: TNS: 無監聽程序

          TNS-12560: TNS: 協議適配器錯誤

          TNS-00511: 無監聽程序

          32-bit Windows Error: 2: No such file or directory

          正在連接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=zxt)(PORT=1521)))

          TNS-12541: TNS: 無監聽程序

          TNS-12560: TNS: 協議適配器錯誤

          TNS-00511: 無監聽程序

          32-bit Windows Error: 61: Unknown error

          三:發現監聽沒有啟動,現在啟動監聽

          LSNRCTL> start

          啟動tnslsnr: 請稍候...

          Failed to start service, error 3.

          TNS-12560: TNS: 協議適配器錯誤

          TNS-00530: 協議適配器錯誤

          2〉發現監聽啟動不起來,估計是注冊表有點問題,登錄注冊表

          C:\Documents and Settings\Admin>regedit

          進入注冊表到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\OracleOraDb10g_home1TNSListener

          發現ImagePath關鍵值沒有了,增加可擴充字符串值,取名為ImagePathImagePath,編輯字符串的數值數據為:G:\oracle\product\10.2.0\db_2\BIN\TNSLSNR(對應oracle的TNSLSNR的位置) ,退出注冊表。

          3〉啟動監聽

          LSNRCTL> start

          啟動tnslsnr: 請稍候...

          TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Production

          系統參數文件為d:\oracle\product\10.2.0\db_1\network\admin\listener.ora

          寫入d:\oracle\product\10.2.0\db_1\network\log\listener.log的日志信息

          監聽: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1ipc)))

          監聽: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=zxt)(PORT=1521)))

          正在連接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))

          LISTENER 的 STATUS

          ------------------------

          別名 LISTENER

          版本 TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Produ

          ction

          啟動日期 20-4月 -2007 09:41:29

          正常運行時間 0 天 0 小時 0 分 3 秒

          跟蹤級別 off

          安全性 ON: Local OS Authentication

          SNMP OFF

          監聽程序參數文件 d:\oracle\product\10.2.0\db_1\network\admin\listener.o

          ra

          監聽程序日志文件 d:\oracle\product\10.2.0\db_1\network\log\listener.log

          監聽端點概要...

          (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1ipc)))

          (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=zxt)(PORT=1521)))

          服務摘要..

          服務 "PLSExtProc" 包含 1 個例程。

          例程 "PLSExtProc", 狀態 UNKNOWN, 包含此服務的 1 個處理程序...

          命令執行成功

          4>監聽啟動成功后嘗試登錄

          C:\Documents and Settings\Admin>sqlplus zxt@orcl

          SQL*Plus: Release 10.2.0.1.0 - Production on 星期五 4月 20 09:42:33 2007

          Copyright (c) 1982, 2005, Oracle. All rights reserved.

          輸入口令:

          連接到:

          Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production

          With the Partitioning, OLAP and Data Mining options

          登錄成功!

          總結:估計是windows優化大師或者別的工具在修復注冊表時候刪掉了ImagePath字段,補上后就可以了!

          補充:登錄sqlplus時報

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

          處理辦法:

          1〉oracle_home\NETWORK\ADMIN\tnsnames.ora中修改(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))

          為(ADDRESS = (PROTOCOL = TCP)(HOST = 本地計算機名)(PORT = 1521)),保存即可。

          2〉有的人介紹oracle_home\NETWORK\ADMIN\sqlnet.ora中修改SQLNET.AUTHENTICATION_SERVICES = (NTS)為

          SQLNET.AUTHENTICATION_SERVICES = (NONE)

          這2種方法,第一個最佳!

          主站蜘蛛池模板: 游戏| 盐池县| 永寿县| 甘南县| 徐州市| 易门县| 霍邱县| 临夏县| 瑞安市| 万州区| 枞阳县| 防城港市| 高淳县| 临泉县| 瑞安市| 寻乌县| 建瓯市| 常宁市| 阳春市| 大足县| 仁寿县| 兴国县| 永和县| 曲水县| 南宁市| 定陶县| 浦东新区| 高邑县| 牟定县| 长春市| 绥江县| 本溪市| 渝中区| 安新县| 宣汉县| 杂多县| 松江区| 开封县| 呈贡县| 林芝县| 屯门区|