Oracle服务 一键开启关闭脚本,转载

Oracle服务 一键开启关闭脚本 - 网络来者 - 博客园

因为oracle 服务器占用资源比较大,所以 最好是需要的时候打开,不用的时候自动不启动

为此参照网上的教程写了下面的脚本

配置服务为手动.bat

sc config OracleRemExecServiceV2 start= DEMAND

sc config OracleOraDB12Home1TNSListener start= DEMAND

sc config OracleServiceORCL start= DEMAND

sc config OracleJobSchedulerORCL start= DEMAND

sc config OracleVssWriterORCL start= DEMAND

sc config OracleOraDB12Home1MTSRecoveryService start= DEMAND

一键启停oracle服务器.bat

chcp 65001
@echo Restore The Service Start State Saved At 14:32:04.85 2022/02/24 周四

@echo off

title Oracle服务管理

cls

color 2f

goto MENU

:MENU

cls

@echo. =-=-=-=-=Oracle服务管理=-=-=-=-=

@echo.

@echo. 1 开启服务

@echo.

@echo. 2 关闭服务

@echo.

@echo. =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

@echo. 请输入选择项目的序号:

set /p ID=

if "%id%"=="1" goto cmd1

if "%id%"=="2" goto cmd2

@echo 请输入正确序号!&ping -n 2 127.1>nul&goto MENU

:cmd1

@echo 开启Oracle服务中...

net Start OracleRemExecServiceV2

net Start OracleOraDB12Home1TNSListener

net Start OracleServiceORCL

net Start OracleJobSchedulerORCL

net Start OracleVssWriterORCL

net Start OracleOraDB12Home1MTSRecoveryService

@echo Oracle服务打开完成,按任意键退出...

@pause

exit

:cmd2

@echo 关闭Oracle服务中...

net stop OracleRemExecServiceV2

net stop OracleOraDB12Home1TNSListener

net stop OracleServiceORCL

net stop OracleJobSchedulerORCL

net stop OracleVssWriterORCL

net stop OracleOraDB12Home1MTSRecoveryService

@echo Oracle服务关闭完成,按任意键退出...

@pause

exit

但是 我因为测试不同的oralce 服务器版本,上面的oracle服务名称 每次会发生变化,然后还经常重装系统,所以每次去修改 上面脚本中的服务名称很麻烦

为此 我又 写了个脚本 来产生上面的脚本,可以适应任何的oralce服务器版本 比如10 ,11 ,10 免费版,oracle 12 ……..

产生oralce服务器一键启停脚本_双击运行.bat

echo.
chcp 65001
 

for /f "tokens=1, 2, 3, 4 delims=-/. " %%j in ('Date /T') do set FILENAME1=oracle服务设置为手动_%%j_%%k_%%l_%%m

for /f "tokens=1, 2 delims=: " %%j in ('TIME /T') do set FILENAME1=%FILENAME1%_%%j_%%k.bat

 

for /f "tokens=1, 2, 3, 4 delims=-/. " %%j in ('Date /T') do set FILENAME2=oracle服务一键启停_%%j_%%k_%%l_%%m

for /f "tokens=1, 2 delims=: " %%j in ('TIME /T') do set FILENAME2=%FILENAME2%_%%j_%%k.bat

 

 

sc query type= service state= all| findstr /r /C:"SERVICE_NAME: Oracle" >tmpsrv.txt

 

echo Save Service Start State In %FILENAME1%

echo @echo Restore The Service Start State Saved At %TIME% %DATE% >"%FILENAME1%"
echo chcp 65001 >>"%FILENAME1%"
echo @echo 请用管理员打开 >>"%FILENAME1%"

 

echo Save Service Start State In %FILENAME2%


echo @echo Restore The Service Start State Saved At %TIME% %DATE% >"%FILENAME2%"
echo chcp 65001 >>"%FILENAME2%"
echo @echo 请用管理员打开 >>"%FILENAME2%"
 

echo @echo off >>"%FILENAME2%"

echo title Oracle服务管理 >>"%FILENAME2%"

echo cls >>"%FILENAME2%"

echo color 2f >>"%FILENAME2%"

echo goto MENU >>"%FILENAME2%"

echo :MENU >>"%FILENAME2%"

echo cls >>"%FILENAME2%"

echo @echo. =-=-=-=-=Oracle服务管理=-=-=-=-= >>"%FILENAME2%"

echo @echo. >>"%FILENAME2%"

echo @echo. 1 开启服务 >>"%FILENAME2%"

echo @echo. >>"%FILENAME2%"

echo @echo. 2 关闭服务 >>"%FILENAME2%"

echo @echo. >>"%FILENAME2%"

echo @echo. =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= >>"%FILENAME2%"

echo @echo. 请输入选择项目的序号: >>"%FILENAME2%"

echo set /p ID= >>"%FILENAME2%"

echo if "%%id%%"=="1" goto cmd1 >>"%FILENAME2%"

echo if "%%id%%"=="2" goto cmd2 >>"%FILENAME2%"

echo @echo 请输入正确序号!^&ping -n 2 127.1^>nul^&goto MENU >>"%FILENAME2%"

 

echo :cmd1 >>"%FILENAME2%"

echo @echo 开启Oracle服务中... >>"%FILENAME2%"

for /f "tokens=2 delims=:" %%j in (tmpsrv.txt) do @( sc qc %%j |findstr START_TYPE >tmpstype.txt && for /f "tokens=4 delims=:_ " %%s in ( tmpstype.txt) do @echo net Start %%j >>"%FILENAME2%")

echo @echo Oracle服务打开完成,按任意键退出... >>"%FILENAME2%"

echo @pause >>"%FILENAME2%"

echo exit >>"%FILENAME2%"

 

echo :cmd2 >>"%FILENAME2%"

echo @echo 关闭Oracle服务中... >>"%FILENAME2%"

 

for /f "tokens=2 delims=:" %%j in (tmpsrv.txt) do @( sc qc %%j |findstr START_TYPE >tmpstype.txt && for /f "tokens=4 delims=:_ " %%s in ( tmpstype.txt) do @echo sc config %%j start= DEMAND >>"%FILENAME1%")

echo @pause >>"%FILENAME1%"

 

for /f "tokens=2 delims=:" %%j in (tmpsrv.txt) do @( sc qc %%j |findstr START_TYPE >tmpstype.txt && for /f "tokens=4 delims=:_ " %%s in ( tmpstype.txt) do @echo net stop %%j >>"%FILENAME2%")

echo @echo Oracle服务关闭完成,按任意键退出... >>"%FILENAME2%"

echo @pause >>"%FILENAME2%"

echo exit >>"%FILENAME2%"

 

del tmpsrv.txt

del tmpstype.txt

产生oralce服务器一键启停脚本_copytocmd.bat

chcp 65001
echo.

 

for /f "tokens=1, 2, 3, 4 delims=-/. " %j in ('Date /T') do set FILENAME1=oracle服务设置为手动_%j_%k_%l_%m

for /f "tokens=1, 2 delims=: " %j in ('TIME /T') do set FILENAME1=%FILENAME1%_%j_%k.bat

 

for /f "tokens=1, 2, 3, 4 delims=-/. " %j in ('Date /T') do set FILENAME2=oracle服务一键启停_%j_%k_%l_%m

for /f "tokens=1, 2 delims=: " %j in ('TIME /T') do set FILENAME2=%FILENAME2%_%j_%k.bat

 

 

sc query type= service state= all| findstr /r /C:"SERVICE_NAME: Oracle" >tmpsrv.txt

 

echo Save Service Start State In %FILENAME1%

echo chcp 65001 >>"%FILENAME1%"
echo 请用管理员打开 >>"%FILENAME1%"
echo @echo Restore The Service Start State Saved At %TIME% %DATE% >"%FILENAME1%"

 


echo Save Service Start State In %FILENAME2%


echo chcp 65001 >>"%FILENAME2%"
echo @echo 请用管理员打开 >>"%FILENAME2%"
echo @echo Restore The Service Start State Saved At %TIME% %DATE% >"%FILENAME2%"

 

echo @echo off >>"%FILENAME2%"


echo title Oracle服务管理 >>"%FILENAME2%"



echo cls >>"%FILENAME2%"

echo color 2f >>"%FILENAME2%"

echo goto MENU >>"%FILENAME2%"

echo :MENU >>"%FILENAME2%"

echo cls >>"%FILENAME2%"

echo @echo. =-=-=-=-=Oracle服务管理=-=-=-=-= >>"%FILENAME2%"

echo @echo. >>"%FILENAME2%"

echo @echo. 1 开启服务 >>"%FILENAME2%"

echo @echo. >>"%FILENAME2%"

echo @echo. 2 关闭服务 >>"%FILENAME2%"

echo @echo. >>"%FILENAME2%"

echo @echo. =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= >>"%FILENAME2%"

echo @echo. 请输入选择项目的序号: >>"%FILENAME2%"

echo set /p ID= >>"%FILENAME2%"

echo if "%id%"=="1" goto cmd1 >>"%FILENAME2%"

echo if "%id%"=="2" goto cmd2 >>"%FILENAME2%"

echo @echo 请输入正确序号!^&ping -n 2 127.1^>nul^&goto MENU >>"%FILENAME2%"


echo :cmd1 >>"%FILENAME2%"

echo @echo 开启Oracle服务中... >>"%FILENAME2%"

for /f "tokens=2 delims=:" %j in (tmpsrv.txt) do @( sc qc %j |findstr START_TYPE >tmpstype.txt && for /f "tokens=4 delims=:_ " %s in ( tmpstype.txt) do @echo net Start %j >>"%FILENAME2%")

echo @echo Oracle服务打开完成,按任意键退出... >>"%FILENAME2%"

echo @pause >>"%FILENAME2%"

echo exit >>"%FILENAME2%"

 

echo :cmd2 >>"%FILENAME2%"

echo @echo 关闭Oracle服务中... >>"%FILENAME2%"

 

for /f "tokens=2 delims=:" %j in (tmpsrv.txt) do @( sc qc %j |findstr START_TYPE >tmpstype.txt && for /f "tokens=4 delims=:_ " %s in ( tmpstype.txt) do @echo sc config %j start= DEMAND >>"%FILENAME1%")

echo @pause >>"%FILENAME1%"

 

for /f "tokens=2 delims=:" %j in (tmpsrv.txt) do @( sc qc %j |findstr START_TYPE >tmpstype.txt && for /f "tokens=4 delims=:_ " %s in ( tmpstype.txt) do @echo net stop %j >>"%FILENAME2%")

echo @echo Oracle服务关闭完成,按任意键退出... >>"%FILENAME2%"

echo @pause >>"%FILENAME2%"

echo exit >>"%FILENAME2%"

 

del tmpsrv.txt

del tmpstype.txt

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值