Windows下快速启动/关闭orcl服务

  大家都知道windows下绝大部分都是图形操作化,很少用命令来执行,例如启动、关闭orcl数据库服务时,一般情况都是在任务管理器(taskmgr、ctrl+shift+esc)或服务(services.msc)等方式找到orcl相关服务手动挨个挨个启动、关闭服务,这样个人感觉效率低,也很繁琐,今天教大家一个快速启动、关闭orcl服务的方法,方便你我他她.......

在cmd下有两种命令方法启动服务,分别为net和sc命令,区别是sc可以启动被禁用的服务

net语法是: 
net start 服务名 
net stop 服务名

sc语法是: 

sc config 服务名 start= demand    #手动 
sc condig 服务名 start= auto         #自动 
sc config 服务名 start= disabled    #禁用 
sc start 服务名 
sc stop 服务名

下面我们用net语法写一个快速启动批处理文件

一、新建一个start.txt文本文件,把以下代码复制进去,然后保存为.cmd格式即可(温馨提醒:需要把扩展名显示出来)

@echo.----------------------------------------------------------
@echo.       一   Author: aゞ锦衣卫
@echo.       键   Reminder:请以管理员身份运行                                                                 
@echo.       ★  Description:一键启动Oracle相关服务                                                      
@echo.       服   Blog:www.cnblogs.com/su-root                                               
@echo.       务   Email:1147076062@qq.com VX:zikun868686
@echo.--------------------------------------------------------------------------
@echo off

lsnrctl start
@echo off
%var%
if %ERRORLEVEL% == 0 (echo %var%OracleOraDb11g_home1TNSListener服务启动成功) ELSE echo %var%执行失败了,请查看是否用管理员身份运行或该服务已经在运行运行

net start oracleserviceorcl
@echo off
if %ERRORLEVEL% == 0 (echo %var%OracleServiceORCL服务启动成功) ELSE echo %var%执行失败了,请查看是否用管理员身份运行或该服务已经在运行
echo.请按任意键退出一键服务        %date:~0,4%年%date:~5,2%月%date:~8,2%日 %time:~0,2%点%time:~3,2%分%time:~6,2%秒
echo.  
pause

执行效果如下:

如果不放心服务是否启动正常运行,我们在任务管理器里查看一下:

ok,已正常启动服务!

注:以上代码为常用启动服务,若须增加非必启动服务,直接在代码中增加即可。

二、新建一个stop.txt文本文件,把以下代码复制进去,然后保存为.cmd格式即可(温馨提醒:需要把扩展名显示出来)

@echo.----------------------------------------------------------
@echo.       一   Author: aゞ锦衣卫
@echo.       键   Reminder:请以管理员身份运行                                                                 
@echo.       ★  Description:一键关闭Oracle相关服务                                                      
@echo.       服   Blog:www.cnblogs.com/su-root                                               
@echo.       务   Email:1147076062@qq.com VX:zikun868686
@echo.--------------------------------------------------------------------------
@echo off

lsnrctl stop
@echo off
%var%
if %ERRORLEVEL% == 0 (echo %var%OracleOraDb11g_home1TNSListener服务关闭成功) ELSE echo %var%执行失败了,请查看是否用管理员身份运行或该服务已经关闭
net stop oracleserviceorcl @echo off if %ERRORLEVEL% == 0 (echo %var%OracleServiceORCL服务关闭成功) ELSE echo %var%执行失败了,请查看是否用管理员身份运行或该服务已经关闭 echo.请按任意键退出一键服务 %date:~0,4%年%date:~5,2%月%date:~8,2%日 %time:~0,2%点%time:~3,2%分%time:~6,2%秒 echo.
pause

执行效果如下:

 

如果不放心服务是否正常关闭服务,我们在任务管理器里查看一下:

ok,已正常关闭服务! 

注:以上代码为常用启动服务,若须增加非必启动服务,直接在代码中增加即可。

-----------------------------------------------------------------------------------------------------------------------------------

下面我们可以写一个传参交互式方式一键启动或关闭orcl服务批处理文件

@echo off
@echo.----------------------------------------------------------
@echo.       一   Author: aゞ锦衣卫
@echo.       键   Reminder:请以管理员身份运行                                                                 
@echo.       ★  Description:一键启动Oracle相关服务                                                      
@echo.       服   Blog:www.cnblogs.com/su-root                                               
@echo.       务   Email:1147076062@qq.com VX:zikun868686
@echo.----------------------------------------------------------
@echo.       温馨提醒:“1”代表启动服务;“2代表”关闭服务
@echo.----------------------------------------------------------
set /p "num=请输入“1”或“2”到这里,然后按下回车键:"
if "%num%"=="1" cls & goto 1
if "%num%"=="2" cls & goto 2
echo. & echo 不能输入除了“1”和“2”之外的其他字符! & pause>nul & cls & goto input
:1
@echo.----------------------------------------------------------
@echo.       一   Author: aゞ锦衣卫
@echo.       键   Reminder:请以管理员身份运行                                                                 
@echo.       ★  Description:一键启动Oracle相关服务                                                      
@echo.       服   Blog:www.cnblogs.com/su-root                                               
@echo.       务   Email:1147076062@qq.com VX:zikun868686
@echo.--------------------------------------------------------------------------
@echo off

lsnrctl start
@echo off
%var%
if %ERRORLEVEL% == 0 (echo %var%OracleOraDb11g_home1TNSListener服务启动成功) ELSE echo %var%执行失败了,请查看是否用管理员身份运行或该服务已经在运行运行
net start oracleserviceorcl
@echo off
if %ERRORLEVEL% == 0 (echo %var%OracleServiceORCL服务启动成功) ELSE echo %var%执行失败了,请查看是否用管理员身份运行或该服务已经在运行
echo.请按任意键退出一键服务        %date:~0,4%年%date:~5,2%月%date:~8,2%日 %time:~0,2%点%time:~3,2%分%time:~6,2%秒
echo.                          
pause
exit
:2
@echo.----------------------------------------------------------
@echo.       一   Author: aゞ锦衣卫
@echo.       键   Reminder:请以管理员身份运行                                                                 
@echo.       ★  Description:一键关闭Oracle相关服务                                                      
@echo.       服   Blog:www.cnblogs.com/su-root                                               
@echo.       务   Email:1147076062@qq.com VX:zikun868686
@echo.--------------------------------------------------------------------------
@echo off

lsnrctl stop
@echo off
%var%
if %ERRORLEVEL% == 0 (echo %var%OracleOraDb11g_home1TNSListener服务关闭成功) ELSE echo %var%执行失败了,请查看是否用管理员身份运行或该服务已经关闭
net stop oracleserviceorcl
@echo off
if %ERRORLEVEL% == 0 (echo %var%OracleServiceORCL服务关闭成功) ELSE echo %var%执行失败了,请查看是否用管理员身份运行或该服务已经关闭
echo.请按任意键退出一键服务        %date:~0,4%年%date:~5,2%月%date:~8,2%日 %time:~0,2%点%time:~3,2%分%time:~6,2%秒
echo.                          
pause
exit

 执行效果如下:

ok,测试成功!

----------------------------------------------------------------------------------------------------------------------------------

优化一下脚本:

@echo Oracle服务  
@echo off
@echo.----------------------------------------------------------------
@echo.       一   Author: aゞ锦衣卫
@echo.       键   Reminder:请以管理员身份运行                                                                 
@echo.       ★   Description:一键启动/关闭Oracle相关服务                                                      
@echo.       服   Blog:www.cnblogs.com/su-root                                               
@echo.       务   Email:1147076062@qq.com VX:zikun868686
@echo.----------------------------------------------------------------
@echo.   温馨提醒:1 启动服务  2 关闭服务  3 退出程序
@echo.----------------------------------------------------------------
@echo.
set /p s=:请输入1或2或3到这里,然后按下回车键:  
if "%s%"=="1" goto:start  
if "%s%"=="2" goto:stop  
if "%s%"=="3" goto:exit  
:start  
net start OracleOraDb11g_home1TNSListener  
net start OracleServiceORCL  
@echo 服务已启动,即将退出脚本服务!
goto exit  
:stop  
net stop OracleOraDb11g_home1TNSListener  
net stop OracleServiceORCL  
@echo 服务已关闭,即将退出脚本服务!
goto exit  
:exit  
@echo 即将退出脚本服务!
echo.
echo. echo.请按任意键退出一键服务 %date:~0,4%年%date:~5,2%月%date:~8,2%日 %time:~0,2%点%time:~3,2%分%time:~6,2%秒 pause exit

 执行结果如下:

再次优化:

@echo Oracle服务  
@echo off
@echo.----------------------------------------------------------------
@echo.       一   Author: aゞ锦衣卫
@echo.       键   Reminder:请以管理员身份运行                                                                 
@echo.       ★   Description:一键启动/关闭Oracle相关服务                                                      
@echo.       服   Blog:www.cnblogs.com/su-root                                               
@echo.       务   Email:1147076062@qq.com VX:zikun868686
@echo.----------------------------------------------------------------
@echo.   温馨提醒:1 启动服务  2 关闭服务  3 退出程序
@echo.----------------------------------------------------------------
@echo.
:loop
set /p s=:请输入1或2或3到这里,然后按下回车键:  
if "%s%"=="1" net start OracleOraDb11g_home1TNSListener  
if "%s%"=="1" net start OracleServiceORCL
if "%s%"=="1" echo 服务已启动,即将转入初始化界面!
@echo.----------------------------------------------------------------
if "%s%"=="2" net stop OracleOraDb11g_home1TNSListener
if "%s%"=="2" net stop OracleServiceORCL
if "%s%"=="2" echo 服务已关闭,即将转入初始化界面!
@echo.----------------------------------------------------------------
if "%s%"=="3" exit  
goto loop

ok,优化测试成功!

------------------------------------------------------------------------------------------------------------------------- 

成功安装Oracle 11g后,共有7个服务,
一、这七个服务的含义分别为:
1. Oracle ORCL VSS Writer Service:
Oracle卷映射拷贝写入服务,VSS(Volume Shadow Copy Service)能够让存储基础设备(比如磁盘,阵列等)创建高保真的时间点映像,即映射拷贝(shadow copy)。它可以在多卷或者单个卷上创建映射拷贝,同时不会影响到系统的系统能。(非必须启动)
2. OracleDBConsoleorcl:Oracle数据库控制台服务,orcl是Oracle的实例标识,默认的实例为orcl。在运行Enterprise Manager(企业管理器OEM)的时候,需要启动这个服务。(非必须启动)
3. OracleJobSchedulerORCL:
Oracle作业调度(定时器)服务,ORCL是Oracle实例标识。(非必须启动)
4. OracleMTSRecoveryService:
服务端控制。该服务允许数据库充当一个微软事务服务器MTS、COM/COM+对象和分布式环境下的事务的资源管理器。(非必须启动)
5. OracleOraDb11g_home1ClrAgent:
Oracle数据库
.NET扩展服务的一部分。 (非必须启动)
6. OracleOraDb11g_home1TNSListener:
监听器服务,服务只有在数据库需要远程访问的时候才需要。(非必须启动,下面会有详细详解)。
7. OracleServiceORCL:
数据库服务(数据库实例),是Oracle核心服务该服务,是数据库启动的基础, 只有该服务启动,Oracle数据库才能正常启动。(必须启动)

对新手来说,要是只用Oracle自带的sql*plus的话,只要启动OracleServiceORCL即可,要是使用PL/SQL Developer等第三方工具的话,OracleOraDb11g_home1TNSListener服务也要开启。OracleDBConsoleorcl是进入基于web的EM必须开启的,其余服务很少用。

ORCL是数据库实例名,默认的数据库是ORCL,你可以创建其他的,即OracleService+数据库名。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值