手动启动 Oracle 服务

为了学习,我们常常会在个人PC上安装 Oracle 数据库,这大大影响了计算机的运行速度,尤其是计算机开机速度,如果 Oracle 使用频率并不是非常高,我们可以禁止 Oracle 服务的自动启动,真正用到的时候再手动启动 Oracle 服务。 此文用到的 Oracle 版本: oracle 11g R2

步骤一:修改 oracle 服务为手动启动

打开服务窗口:使用 win + r 快捷键打开运行窗口,输入命令 services.msc 按回车。 

手动启动 oracle 服务-风君雪科技博客

在标准视图下找到 oracle 的 7个服务。

手动启动 oracle 服务-风君雪科技博客

1.Oracle 11g R2 7个服务简介:
  Oracle ORCL VSS Writer Service:Oracle卷映射拷贝写入服务,(非必须启动)
  OracleDBConsoleorcl:Oracle数据库控制台服务,(非必须启动)
  OracleJobSchedulerORCL:Oracle作业调度(定时器)服务,(非必须启动)
  OracleMTSRecoveryService:服务端控制(非必须启动)
  OracleOraDb11g_home1ClrAgent:Oracle数据库.NET扩展服务的一部分。 (非必须启动)
  OracleOraDb11g_home1TNSListener:监听器服务,远程访问的时候需要, (必须启动)
  OracleServiceORCL:数据库服务(数据库实例), (必须启动)
2.因个人安装环境不同,这三个服务的命名可能会不一样:
  OracleOraDb11g_home1ClrAgent
  OracleOraDb11g_home1TNSListener
  OracleServiceORCL

 3.可以看到 7 个服务中有四个服务的启动方式是自动运行的(绿线标注的)。把这几个服务的启动方式改成手动。 

手动启动 oracle 服务-风君雪科技博客

1.以OracleDBConsoleorcl 服务为例:右击服务–> 属性 

手动启动 oracle 服务-风君雪科技博客

手动启动 oracle 服务-风君雪科技博客

4.修改完成之后的效果,除 OracleJobSchedulerORCL 是禁用外,其他的都是手动启动。 

步骤二:手动启动oracle 服务

执行完步骤一,每次重新开启计算机,如果需要使用 oracle 数据库的话,都要手动启动 oracle 服务

执行完步骤一,每次重新开启计算机,如果需要使用 oracle 数据库的话,都要手动启动 oracle 服务。

按照先后顺序依次启动服务”OracleServiceORCL“,”OracleOraDb11g_home1TNSListener“,这两个服务是必须启动的。启动方式:右击服务 –> 启动,如下图所示

手动启动 oracle 服务-风君雪科技博客

如果需要用控制台服务的话(就是下面这个管理数据库Web页面),需要再启动下服务”OracleDBConsoleorcl“,不过一般是不用这个的。 
手动启动 oracle 服务-风君雪科技博客

步骤三:创建服务启动脚本

每次需要使用 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

手动启动 oracle 服务-风君雪科技博客