日期:2014-05-16  浏览次数:20716 次

Windows下命令行下启动ORACLE服务
  • 检查监听器状态:
    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