- 檢查監(jiān)聽器狀態(tài):
C:\>lsnrctl status LSNRCTL for 32-bit Windows: Version 9.2.0.1.0 - Production on 30-6月 -2009 21:08 :04 Copyright (c) 1991, 2002, Oracle Corporation. All rights reserved. 正在連接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1))) TNS-12541: TNS:無監(jiān)聽器 TNS-12560: TNS: 協(xié)議適配器錯誤 TNS-00511: 無監(jiān)聽器 32-bit Windows Error: 2: No such file or directory 正在連接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=www-7f628f1510d)(PORT=1521) )) TNS-12541: TNS:無監(jiān)聽器 TNS-12560: TNS: 協(xié)議適配器錯誤 TNS-00511: 無監(jiān)聽器 32-bit Windows Error: 61: Unknown error
- 嘗試登陸本地數(shù)據(jù)庫:
C:\>sqlplus /nolog SQL*Plus: Release 9.2.0.1.0 - Production on 星期二 6月 30 21:10:24 2009 Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved. SQL> conn scott/tiger@oradb ERROR: ORA-12541: TNS: 沒有監(jiān)聽器 SQL> exit; --如果沒有啟動ORACLE服務(wù)的話,將出現(xiàn)下面的錯誤而不是上面: ERROR: ORA-12560: TNS: 協(xié)議適配器錯誤 C:\>sqlplus "/as sysdba" SQL*Plus: Release 9.2.0.1.0 - Production on 星期二 6月 30 21:14:17 2009 Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved. ERROR: ORA-12560: TNS: 協(xié)議適配器錯誤
- 啟動監(jiān)聽器
C:\>lsnrctl start LSNRCTL for 32-bit Windows: Version 9.2.0.1.0 - Production on 30-6月 -2009 21:17 :21 Copyright (c) 1991, 2002, Oracle Corporation. All rights reserved. 啟動tnslsnr:請稍候... TNSLSNR for 32-bit Windows: Version 9.2.0.1.0 - Production 系統(tǒng)參數(shù)文件為F:\oracle9i\network\admin\listener.ora 寫入F:\oracle9i\network\log\listener.log的日志信息 監(jiān)聽:(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1ipc))) 監(jiān)聽:(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=www-7f628f1510d)(PORT=1521))) 正在連接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1))) LISTENER 的 STATUS ------------------------ 別名 LISTENER 版本 TNSLSNR for 32-bit Windows: Version 9.2.0.1.0 - Produc tion 啟動日期 30-6月 -2009 21:17:23 正常運行時間 0 天 0 小時 0 分 2 秒 跟蹤級別 off 安全性 OFF SNMP OFF 監(jiān)聽器參數(shù)文件 F:\oracle9i\network\admin\listener.ora 監(jiān)聽器日志文件 F:\oracle9i\network\log\listener.log 監(jiān)聽端點概要... (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1ipc))) (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=www-7f628f1510d)(PORT=1521))) 服務(wù)摘要.. 服務(wù) "PLSExtProc" 包含 1 個例程。 例程 "PLSExtProc", 狀態(tài) UNKNOWN, 包含此服務(wù)的 1 個處理程序... 服務(wù) "oradb" 包含 1 個例程。 例程 "oradb", 狀態(tài) UNKNOWN, 包含此服務(wù)的 1 個處理程序... 命令執(zhí)行成功 注:如果啟動監(jiān)聽器時報“錯誤3 找不到可執(zhí)行文件的路徑”。查看[控制面板]=[服務(wù)]=OracleOraHome92TNSListener的屬性,發(fā)現(xiàn)“可執(zhí)行文件的路徑項”是空的。打開注冊表編輯器,搜索監(jiān)聽服務(wù)對應的鍵值,終于在HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet(ControlSet001、 ControlSet002)/Services下找到了OracleOraHome92TNSListener服務(wù)。右擊它選擇“新建字符串值”,取名 ImagePath,并雙擊它在數(shù)值中輸入監(jiān)聽程序的路徑,此處為"F:/oracle/ora92/bin/TNSLSNR.EXE"。再執(zhí)行就正常了。 原因:“超級兔子”和“windows優(yōu)化大師”等系統(tǒng)維護軟件會誤刪除注冊表中的該項鍵值。 - 監(jiān)聽打開后試圖連接到數(shù)據(jù)庫
C:\>sqlplus /nolog SQL*Plus: Release 9.2.0.1.0 - Production on 星期二 6月 30 21:23:45 2009 Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved. SQL> conn system/systemshx@oradb ERROR: ORA-12500: TNS: 監(jiān)聽程序無法啟動專用服務(wù)器進程 原因:本地數(shù)據(jù)庫對應的服務(wù)沒有打開 SQL> exit - 打開本地數(shù)據(jù)庫對應的服務(wù)
C:\>net start OracleServiceOradb OracleServiceORADB 服務(wù)正在啟動 ........... OracleServiceORADB 服務(wù)已經(jīng)啟動成功。
- 再次試圖連接數(shù)據(jù)庫
C:\>sqlplus /nolog SQL*Plus: Release 9.2.0.1.0 - Production on 星期二 6月 30 21:29:13 2009 Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved. SQL> conn system/systemshx@oradb as sysdba 已連接。 SQL> show user USER 為"SYS" SQL> conn system/systemshx@oradb 已連接。 SQL> show user USER 為"SYSTEM" SQL> select instance_name from v$instance;
INSTANCE_NAME ---------------- oradb
- 在Windows上,使用net命令能否啟動數(shù)據(jù)庫,還受到一個注冊表參數(shù)的影響,這個參數(shù)是:ORA__AUTOSTART
對于我的Oracle9i數(shù)據(jù)庫,這個鍵值位于HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME1,我的數(shù)據(jù)庫SID為oradb,這個參數(shù)就是:ORA_ORADB_AUTOSTART (Oracle10g數(shù)據(jù)庫,這個鍵值位于HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_Ora10g) 當這個參數(shù)設(shè)置為True時,當我們啟動服務(wù)時,Oracle數(shù)據(jù)庫就會隨之啟動;反之,數(shù)據(jù)庫就不會啟動。 關(guān)閉oradb數(shù)據(jù)庫服務(wù) C:\>net stop oracleserviceoradb OracleServiceORADB 服務(wù)正在停止....... OracleServiceORADB 服務(wù)已成功停止。 測試1,ORA_ORADB_AUTOSTART=true時: C:\>net start oracleserviceoradb OracleServiceORADB 服務(wù)正在啟動 ........... OracleServiceORADB 服務(wù)已經(jīng)啟動成功。
C:\>sqlplus "/as sysdba"
SQL*Plus: Release 9.2.0.1.0 - Production on 星期二 6月 30 21:47:01 2009
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
連接到: Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production With the Partitioning, OLAP and Oracle Data Mining options JServer Release 9.2.0.1.0 - Production
SQL> select instance_name from v$instance;
INSTANCE_NAME ---------------- oradb
測試2,ORA_ORADB_AUTOSTART=FALSE時: C:\>net start oracleserviceoradb OracleServiceORADB服務(wù)正在啟動 . OracleServiceORADB服務(wù)已經(jīng)啟動成功。
C:\>sqlplus "/ as sysdba" SQL*Plus: Release 10.2.0.1.0 - Production on 星期二 6月 30 21:47:01 2009
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
已連接到空閑例程。
- 啟動Agent
C:\>agentctl start
DBSNMP for 32-bit Windows: Version 9.2.0.1.0 - Production on 30-6月 -2009 21:50: 38
Copyright (c) 2002 Oracle Corporation. All rights reserved.
正在啟動 Oracle Intelligent Agent.... 代理已啟動 注:如果Agent不能成功啟動,則: 轉(zhuǎn)到%oracle_home%\network\agent\下,刪除所有后綴名為“.q”的文件。 如果還是不行,把services.ora也刪除。
- 啟動OracleOraHome92ManagementServer服務(wù)
C:\>oemctl start oms OracleOraHome92ManagementServer 服務(wù)正在啟動 ............. OracleOraHome92ManagementServer 服務(wù)已經(jīng)啟動成功。
- 啟動Oracle 界面管理器EMS
C:\>oemapp console
|