Windows下命令行下启动ORACLE服务(错误3 找不到可执行文件的路径)

来源:互联网 发布:网络团队招人广告词 编辑:程序博客网 时间:2024/06/08 04:59
 Windows下命令行下启动ORACLE服务发布者:豆豆网  日期: 2010-08-20 00:00:00 浏览次数:0 (共有_条评论)查看评论 | 我要评论 

  检查监听器状态:

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:无监听器
TNS-12560: TNS: 协议适配器错误
TNS-00511: 无监听器
32-bit Windows Error: 2: No such file or directory
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=www-7f628f1510d)(PORT=1521)
))
TNS-12541: TNS:无监听器
TNS-12560: TNS: 协议适配器错误
TNS-00511: 无监听器
32-bit Windows Error: 61: Unknown error

  尝试登陆本地数据库:

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: 没有监听器
SQL> exit;

  --如果没有启动ORACLE服务的话,将出现下面的错误而不是上面: ERROR: ORA-12560:

TNS: 协议适配器错误
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: 协议适配器错误

  启动监听器

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

  系统参数文件为F:\oracle9i\network\admin\listener.ora

  写入F:\oracle9i\network\log\listener.log的日志信息

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

  监听:(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

  监听器参数文件 F:\oracle9i\network\admin\listener.ora

  监听器日志文件 F:\oracle9i\network\log\listener.log

  监听端点概要...

(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1ipc)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=www-7f628f1510d)(PORT=1521)))

  服务摘要..

  服务 "PLSExtProc" 包含 1 个例程。

  例程 "PLSExtProc", 状态 UNKNOWN, 包含此服务的 1 个处理程序...

  服务 "oradb" 包含 1 个例程。

  例程 "oradb", 状态 UNKNOWN, 包含此服务的 1 个处理程序...

  命令执行成功

  注:如果启动监听器时报“错误3 找不到可执行文件的路径”。查看[控制面板]=[服务]=OracleOraHome92TNSListener 的属性,发现“可执行文件的路径项”是空的。打开注册表编辑器,搜索监听服务对应的键值,终于在HKEY_LOCAL_MACHINE/SYSTEM /CurrentControlSet(ControlSet001、 ControlSet002)/Services下找到了OracleOraHome92TNSListener服务。右击它选择“新建字符串值”,取名 ImagePath,并双击它在数值中输入监听程序的路径,此处为"F:/oracle/ora92/bin/TNSLSNR.EXE"。再执行就正常了。 原因:“超级兔子”和“windows优化大师”等系统维护软件会误删除注册表中的该项键值。

  监听打开后试图连接到数据库

  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: 监听程序无法启动专用服务器进程

  原因:本地数据库对应的服务没有打开

  SQL> exit

  打开本地数据库对应的服务

  C:\>net start OracleServiceOradb

  OracleServiceORADB 服务正在启动 ...........

  OracleServiceORADB 服务已经启动成功。

  再次试图连接数据库

  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命令能否启动数据库,还受到一个注册表参数的影响,这个参数是:ORA__AUTOSTART

  对于我的Oracle9i数据库,这个键值位于HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME1,我的数据库SID为oradb,这个参数就是:ORA_ORADB_AUTOSTART

  (Oracle10g数据库,这个键值位于HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_Ora10g) 当这个参数设置为True时,当我们启动服务时,Oracle数据库就会随之启动;反之,数据库就不会启动。

  关闭oradb数据库服务

  C:\>net stop oracleserviceoradb

  OracleServiceORADB 服务正在停止.......

  OracleServiceORADB 服务已成功停止。

  测试1,ORA_ORADB_AUTOSTART=true时:

  C:\>net start oracleserviceoradb

  OracleServiceORADB 服务正在启动 ...........

  OracleServiceORADB 服务已经启动成功。

  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服务正在启动 .

  OracleServiceORADB服务已经启动成功。

  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不能成功启动,则:

  转到%oracle_home%\network\agent\下,删除所有后缀名为“.q”的文件。

  如果还是不行,把services.ora也删除。

  启动OracleOraHome92ManagementServer服务

  C:\>oemctl start oms

  OracleOraHome92ManagementServer 服务正在启动 .............

  OracleOraHome92ManagementServer 服务已经启动成功。

  启动Oracle 界面管理器EMS

  C:\>oemapp console

原创粉丝点击