--總結啟動命令如下:
lsnrctl [start|stop|status] --啟動監聽器,停止監聽器,查看監聽器的狀態;
net [start|stop] oracleserviceorcl
一、獨立啟動:
Microsoft Windows 2000 [Version 5.00.2195]
(C) 著作權 1985-2000 Microsoft Corp.
#########################################################
檢查監聽器狀態:
#########################################################
E:/>lsnrctl status
LSNRCTL for 32-bit Windows: Version 9.2.0.1.0 - Production on 28-6月 -2005 11:01:01
Copyright (c) 1991, 2002, Oracle Corporation. All rights reserved.
正在串連到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=oyez)(PORT=1521)))
TNS-12541: TNS:無監聽器
TNS-12560: TNS: 協議適配器錯誤
TNS-00511: 無監聽器
32-bit Windows Error: 61: Unknown error
正在串連到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC0)))
TNS-12541: TNS:無監聽器
TNS-12560: TNS: 協議適配器錯誤
TNS-00511: 無監聽器
32-bit Windows Error: 2: No such file or directory
#########################################################
嘗試登陸本機資料庫:
#########################################################
E:/>sqlplus /nolog
SQL*Plus: Release 9.2.0.1.0 - Production on 星期二 6月 28 11:01:09 2005
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
SQL> conn system/qqqqqq@oradb as sysdba
ERROR:
ORA-12541: TNS: 沒有監聽器
--如果沒有啟動ORACLE服務的話,將出現下面的錯誤而不是上面:
ERROR:
ORA-12560: TNS: 協議適配器錯誤
#########################################################
原因:監聽器沒有啟動,無法解析“oradb”服務名,所以無法登陸資料庫。
#########################################################
SQL> exit
#########################################################
啟動監聽器
#########################################################
E:/>lsnrctl start
LSNRCTL for 32-bit Windows: Version 9.2.0.1.0 - Production on 28-6月 -2005 11:01:36
Copyright (c) 1991, 2002, Oracle Corporation. All rights reserved.
啟動tnslsnr:請稍候...
TNSLSNR for 32-bit Windows: Version 9.2.0.1.0 - Production
系統參數檔案為F:/oracle/ora92/network/admin/listener.ora
寫入F:/oracle/ora92/network/log/listener.log的日誌資訊
監聽:(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oyez)(PORT=1521)))
監聽:(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=//./pipe/EXTPROC0ipc)))
正在串連到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=oyez)(PORT=1521)))
LISTENER 的 STATUS
------------------------
別名 LISTENER
版本 TNSLSNR for 32-bit Windows: Version 9.2.0.1.0 - Production
啟動日期 28-6月 -2005 11:01:38
正常已耗用時間 0 天 0 小時 0 分 2 秒
追蹤層級 off
安全性 OFF
SNMP OFF
監聽器參數檔案 F:/oracle/ora92/network/admin/listener.ora
監聽器記錄檔 F:/oracle/ora92/network/log/listener.log
監聽端點概要...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oyez)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=//./pipe/EXTPROC0ipc)))
服務摘要..
服務 "OEMREP" 包含 1 個常式。
常式 "OEMREP", 狀態 UNKNOWN, 包含此服務的 1 個處理常式...
服務 "PLSExtProc" 包含 1 個常式。
常式 "PLSExtProc", 狀態 UNKNOWN, 包含此服務的 1 個處理常式...
服務 "oradb.eleaf.org" 包含 1 個常式。
常式 "oradb", 狀態 UNKNOWN, 包含此服務的 1 個處理常式...
命令執行成功
#########################################################
如果啟動監聽器時報“錯誤3 找不到可執行檔的路徑”。
查看[控制台]=[服務]=OracleOraHome92TNSListener的屬性,發現“可執行檔的路徑項”是空的。開啟登錄編輯程式,搜尋監聽服務對應的索引值,終於在HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet(ControlSet001、ControlSet002)/Services下找到了OracleOraHome92TNSListener服務。右擊它選擇“建立字串值”,取名ImagePath,並雙擊它在數值中輸入監聽程式的路徑,此處為"F:/oracle/ora92/bin/TNSLSNR.EXE"。再執行就正常了。
原因:“超級兔子”和“windows最佳化大師”等系統維護軟體會誤刪除註冊表中的該項索引值。
#########################################################
E:/>sqlplus /nolog
SQL*Plus: Release 9.2.0.1.0 - Production on 星期二 6月 28 11:05:27 2005
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
SQL> conn system/qqqqqq@oradb as sysdba
ERROR:
ORA-12500: TNS: 監聽程式無法啟動專用伺服器處理序
#########################################################
原因:本機資料庫對應的服務沒有開啟
#########################################################
SQL> exit
#########################################################
開啟本機資料庫對應的服務,也可通過[控制面版]=[服務],選中相應服務,按工具列上的[啟動]按鈕來啟動。
#########################################################
E:/>net start OracleServiceORADB
OracleServiceORADB 服務正在啟動 .....................................
OracleServiceORADB 服務已經啟動成功。
E:/>sqlplus /nolog
SQL*Plus: Release 9.2.0.1.0 - Production on 星期二 6月 28 11:17:53 2005
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
SQL> conn system/qqqqqq@oradb as sysdba
已串連。
SQL>
SQL> desc user_views
名稱 是否為空白? 類型
----------------------------------------- -------- ----------------------------
VIEW_NAME NOT NULL VARCHAR2(30)
TEXT_LENGTH NUMBER
TEXT LONG
TYPE_TEXT_LENGTH NUMBER
TYPE_TEXT VARCHAR2(4000)
OID_TEXT_LENGTH NUMBER
OID_TEXT VARCHAR2(4000)
VIEW_TYPE_OWNER VARCHAR2(30)
VIEW_TYPE VARCHAR2(30)
SUPERVIEW_NAME VARCHAR2(30)
SQL> exit
從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中斷開
E:/>oemapp console
E:/>
二、登陸到ManagerServer:
E:/>net stop OracleServiceOEMREP
OracleServiceOEMREP 服務正在停止........
OracleServiceOEMREP 服務無法停止。
#########################################################
開啟資料檔案庫服務,也可通過[控制面版]=[服務],選中相應服務,按工具列上的[啟動]按鈕來啟動。
#########################################################
E:/>net start OracleServiceOEMREP
OracleServiceOEMREP 服務正在啟動 ..............................................
OracleServiceOEMREP 服務已經啟動成功。
在Windows上,使用net命令能否啟動資料庫,還受到一個註冊表參數的影響,這個參數是:ORA_<SID>_AUTOSTART
對於我的Oracle10g資料庫,這個索引值位於HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE/KEY_Ora10g,我的資料庫SID為eygle,這個參數就是:ORA_EYGLE_AUTOSTART
當這個參數設定為True時,當我們啟動服務時,Oracle資料庫就會隨之啟動;反之,資料庫就不會啟動。
測試1,ORA_EYGLE_AUTOSTART=true時:
C:/>net start oracleserviceeygle OracleServiceEYGLE 服務正在啟動 ..................... OracleServiceEYGLE 服務已經啟動成功。 C:/>sqlplus "/ as sysdba" SQL*Plus: Release 10.2.0.1.0 - Production on 星期二 8月 22 09:27:35 2006 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 SQL> select instance_name from v$instance; INSTANCE_NAME ---------------- eygle |
測試2,ORA_EYGLE_AUTOSTART=FALSE時:
C:/>net start oracleserviceeygle OracleServiceEYGLE 服務正在啟動 . OracleServiceEYGLE 服務已經啟動成功。 C:/>sqlplus "/ as sysdba" SQL*Plus: Release 10.2.0.1.0 - Production on 星期二 8月 22 09:30:03 2006 Copyright (c) 1982, 2005, Oracle. All rights reserved. 已串連到空閑常式。 SQL> |
#########################################################
嘗試用sqlplus直接連接資料檔案庫。
#########################################################
E:/>sqlplus /nolog
SQL*Plus: Release 9.2.0.1.0 - Production on 星期二 6月 28 11:58:26 2005
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
SQL> conn /as sysdba
已串連。
SQL> conn system/qqqqqq@oemrep
已串連。
SQL> exit
從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中斷開
#########################################################
啟動Agent
#########################################################
E:/>agentctl start
DBSNMP for 32-bit Windows: Version 9.2.0.1.0 - Production on 28-6月 -2005 11:59:51
Copyright (c) 2002 Oracle Corporation. All rights reserved.
正在啟動 Oracle Intelligent Agent.......
代理已啟動
#########################################################
如果Agent不能成功啟動,則:
轉到%oracle_home%/network/agent/下,刪除所有尾碼名為“.q”的檔案。
如果還是不行,把services.ora也刪除。
#########################################################
E:/>oemctl start oms
OracleOraHome92ManagementServer 服務正在啟動 .............
OracleOraHome92ManagementServer 服務已經啟動成功。
#########################################################
Management Server啟動過程中會要求輸入使用者名稱/密碼,初始為sysman/oem_temp
#########################################################
E:/>oemapp console
E:/>