日期:2014-05-17  浏览次数:20985 次

Windows下命令行下启动ORACLE服务

--总结启动命令如下:
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