手动启动 Oracle 服务
为了学习,我们常常会在个人PC上安装 Oracle 数据库,这大大影响了计算机的运行速度,尤其是计算机开机速度,如果 Oracle 使用频率并不是非常高,我们可以禁止 Oracle 服务的自动启动,真正用到的时候再手动启动 Oracle 服务。
此文用到的 Oracle 版本: oracle 11g R2
步骤一:修改 oracle 服务为手动启动
- 打开服务窗口:使用 win + r 快捷键打开运行窗口,输入命令·services.msc` 按回车。
- 在标准视图下找到 oracle 的 7个服务。
- Oracle 11g R2 7个服务简介:
Oracle ORCL VSS Writer Service:Oracle卷映射拷贝写入服务,(非必须启动)
OracleDBConsoleorcl:Oracle数据库控制台服务,(非必须启动)
OracleJobSchedulerORCL:Oracle作业调度(定时器)服务,(非必须启动)
OracleMTSRecoveryService:服务端控制(非必须启动)
OracleOraDb11g_home1ClrAgent:Oracle数据库.NET扩展服务的一部分。 (非必须启动)
OracleOraDb11g_home1TNSListener:监听器服务,远程访问的时候需要, (必须启动)
OracleServiceORCL:数据库服务(数据库实例), (必须启动) - 因个人安装环境不同,这三个服务的命名可能会不一样:
OracleOraDb11g_home1ClrAgent
OracleOraDb11g_home1TNSListener
OracleServiceORCL - 可以看到 7 个服务中有四个服务的启动方式是自动运行的(绿线标注的)。把这几个服务的启动方式改成手动。
启动方式
- 以OracleDBConsoleorcl 服务为例:右击服务–> 属性
2.修改完成之后的效果,除 OracleJobSchedulerORCL 是禁用外,其他的都是手动启动。
步骤二:手动启动oracle 服务
执行完步骤一,每次重新开启计算机,如果需要使用 oracle 数据库的话,都要手动启动 oracle 服务。
- 按照先后顺序依次启动服务”OracleServiceORCL“,”OracleOraDb11g_home1TNSListener“,这两个服务是必须启动的。启动方式:右击服务 –> 启动,如下图所示
- 如果需要用控制台服务的话(就是下面这个管理数据库Web页面),需要再启动下服务”OracleDBConsoleorcl“,不过一般是不用这个的
步骤三:创建服务启动脚本
每次需要使用 oracle 时,都需要使用 步骤二开启 oracle 服务,多少有些不方便,我们可以创建一个启动服务的批处理脚本,每次执行这个脚本文件即可启动服务。
- 新建一个 startOracle.bat 的文件,键入以下脚本,文件名随意,但后缀一定是要.bat的。
:: 取得管理员权限
:Main
@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
:: 手动启动 oracle 服务,因安装环境不同,需将下列服务名称替换成自己的
net start "OracleServiceORCL"
net start "OracleOraDb11g_home1TNSListener"
:: 如果需要使用控制台服务,将下面这行前面的 :: 删掉,并将服务名称替换成自己的
:: net start "OracleDBConsoleorcl"
pause
2.因个人安装环境不同,这两个服务的命名可能会不一样,需要将脚本中的服务名替换成自己的。
- OracleOraDb11g_home1TNSListener
- OracleServiceORCL
- 如需开启控制台服务,将倒数第二行前面的两个冒号去掉,并将服务名替换成自己的。
- OracleDBConsoleorcl
- 再服务停止的情况下运行脚本,检查脚本是否正常运行。
参考自:
https://blog.csdn.net/pengpengpeng85/article/details/78756914