您的位置:首页 > 数据库 > Oracle

自己写个启动和关闭oracle服务的bat文件

2013-04-10 14:52 597 查看
先贴上我自己用的:

启动oracle服务bat文件内容:

@echo off

echo 确定要启动Oracle 11g服务吗?

pause

net start "OracleOraDb11g_home1TNSListener"

net start "OracleServiceORCL"

echo 启动Oracle 11g服务完成,请确认有没有错误发生。

Pause

关闭oracle服务bat文件内容:

@echo off

echo 确定要停止Oracle 11g 服务吗?

pause

net stop "OracleServiceORCL"

net stop "OracleOraDb11g_home1TNSListener"

echo 停止Oracle 11g服务完成,请确认有没有错误发生。

Pause

下面内容讲的更详细转自:/article/3901834.html

由于开机自动启动oracle那些服务会导致很慢,如果改为手动等要用的时候自己到服务项去启动又太麻烦,于是就自己写了个bat文件。放到桌面上,要用的时候双击一下就ok了。

启动oracle服务bat文件内容:

@ECHO OFF

ECHO Starting OracleService, please wait ...

net start OracleDBConsoleierp

net start OracleOraDb10g_home1TNSListener

net start OracleServiceIERP

关闭oracle服务bat文件内容:

@ECHO OFF

ECHO Stoping OracleService, please wait ...

net stop OracleServiceIERP

net stop OracleOraDb10g_home1TNSListener

net stop OracleDBConsoleierp

注:启动和关闭的顺序是相反的,OracleServiceIERP这个服务名是自己取的,启动最慢,占用内存最大,在你自己的服务里面就可以看见了。net start为启动服务命令,net stop为关闭服务命令。自己直接开始-->运行里面输入命令也可以的。

下面内容讲解的更详细,转自:http://blog.csdn.net/alex197963/article/details/1809659


--总结启动命令如下:


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:/>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: