如何一键开关Oracle服务
如果你正在学习Oracle,那么你可能需要经常启动和关闭Oracle服务。但是,Oracle服务会占用大量内存,如果你不是在学习Oracle的话,那么这将浪费你的电脑资源。因此,为了方便管理Oracle服务,我编写了一个bat批处理文件。
功能介绍
这个bat文件可以帮助大家快速启动或关闭Oracle服务。它会列出所有的Oracle服务并提示用户输入操作选项。用户只需要输入1或0即可启动或关闭所有的Oracle服务。(要看oracle相关的服务有哪些可以Win+R 输入 services.msc 找到oracle的相关服务 修改为手动)
Oracle19c win系统相关服务介绍
- OracleJobSchedulerORCL 描述:Oracle作业调度(定时器)服务,ORCL是Oracle实例标识。
- OracleOraDB19Home1MTSRecoveryService 描述:服务端控制。该服务允许数据库充当一个微软事务服务器MTS、COM/COM+对象和分布式环境下的事务的资源管理器。
- OracleOraDB19Home1TNSListener 描述:该服务为Oracle客户端提供监听程序的服务,只有启动该服务,本地的客户端程序才能通过监听连接到数据库,和数据库进行交互。
- OracleRemExecServiceV2 安装时通过它来调DBCA和GUI
- OracleServiceORCL 该服务是Oracle数据库的基础,只有启动该服务才能正常使用Oracle数据库。
- OracleVssWriterORCL Oracle卷映射拷贝写入服务,VSS(Volume Shadow Copy Service)能够让存储基础设备(比如磁盘,阵列等)创建高保真的时间点映像,即映射拷贝(shadowcopy)。它可以在多卷或者单个卷上创建映射拷贝,同时不会影响到系统的性能。
使用方法
- 打开记事本,将以下代码复制并粘贴到记事本中。
:: 获取管理员权限
:Main
:: 设置编码为utf-8
chcp 65001
@echo off
cd /d "%~dp0"
cacls.exe "%SystemDrive%\System Volume Information" >nul 2>nul
if %errorlevel%==0 goto Admin
if exist "%temp%\getadmin.vbs" del /f /q "%temp%\getadmin.vbs"
echo Set RequestUAC = CreateObject^("Shell.Application"^)>"%temp%\getadmin.vbs"
echo RequestUAC.ShellExecute "%~s0","","","runas",1 >>"%temp%\getadmin.vbs"
echo WScript.Quit >>"%temp%\getadmin.vbs"
"%temp%\getadmin.vbs" /f
if exist "%temp%\getadmin.vbs" del /f /q "%temp%\getadmin.vbs"
exit
:Admin
:: 设置控制台颜色和标题 颜色属性由两个十六进制数字指定
:: 第一个为背景,第二个则为文字颜色。
:: 0 = 黑色 8 = 灰色
:: 1 = 蓝色 9 = 淡蓝色
:: 2 = 绿色 A = 淡绿色
:: 3 = 湖蓝色 B = 淡浅绿色
:: 4 = 红色 C = 淡红色
:: 5 = 紫色 D = 淡紫色
:: 6 = 黄色 E = 淡黄色
:: 7 = 白色 F = 亮白色
color 0A
title 管理ORACLE服务
:: 检查服务状态
echo 检查Oracle服务状态...
for %%s in (
"OracleServiceORCL"
"OracleOraDB19Home1TNSListener"
"OracleOraDB19Home1MTSRecoveryService"
"OracleRemExecServiceV2"
"OracleVssWriterORCL"
) do (
echo.
echo 服务: %%s
sc query %%s | findstr /C:"STATE"
)
:: 提示用户输入操作选项
echo.
echo 请输入操作选项:
echo 1 - 启动Oracle服务
echo 0 - 关闭Oracle服务
echo.
set /p choice="请输入1或0: "
:: 开启或关闭服务
if %choice%==1 (
echo 开启Oracle服务...
for %%s in (
"OracleServiceORCL"
"OracleOraDB19Home1TNSListener"
"OracleOraDB19Home1MTSRecoveryService"
"OracleRemExecServiceV2"
"OracleVssWriterORCL"
) do (
echo.
echo 启动服务: %%s
net start %%s
)
) else if %choice%==0 (
echo 关闭Oracle服务...
for %%s in (
"OracleServiceORCL"
"OracleOraDB19Home1TNSListener"
"OracleOraDB19Home1MTSRecoveryService"
"OracleRemExecServiceV2"
"OracleVssWriterORCL"
) do (
echo.
echo 停止服务: %%s
net stop %%s
)
) else (
echo 无效的输入,请输入1或0。
)
:: 暂停以便查看结果
pause
- 将文件另存为.bat文件,例如"start_oracle_service.bat"。
-
双击.bat文件以运行它。
- 按照提示输入1或0以启动或关闭Oracle服务。
- 查看oracle服务启动状况
- 关闭服务
结论
这个bat文件可以帮助我们快速启动或关闭所有的Oracle服务,从而节省电脑资源。如果你正在学习Oracle并经常需要启动和关闭Oracle服务,那么这个bat文件将非常有用。