手动启动 Oracle 服务

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

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

  1. 打开服务窗口:使用 win + r 快捷键打开运行窗口,输入命令·services.msc` 按回车。
  2. 在标准视图下找到 oracle 的 7个服务。
    在这里插入图片描述
  3. Oracle 11g R2 7个服务简介:
    Oracle ORCL VSS Writer Service:Oracle卷映射拷贝写入服务,(非必须启动)
    OracleDBConsoleorcl:Oracle数据库控制台服务,(非必须启动)
    OracleJobSchedulerORCL:Oracle作业调度(定时器)服务,(非必须启动)
    OracleMTSRecoveryService:服务端控制(非必须启动)
    OracleOraDb11g_home1ClrAgent:Oracle数据库.NET扩展服务的一部分。 (非必须启动)
    OracleOraDb11g_home1TNSListener:监听器服务,远程访问的时候需要, (必须启动)
    OracleServiceORCL:数据库服务(数据库实例), (必须启动)
  4. 因个人安装环境不同,这三个服务的命名可能会不一样:
    OracleOraDb11g_home1ClrAgent
    OracleOraDb11g_home1TNSListener
    OracleServiceORCL
  5. 可以看到 7 个服务中有四个服务的启动方式是自动运行的(绿线标注的)。把这几个服务的启动方式改成手动。
    在这里插入图片描述

启动方式

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

在这里插入图片描述
在这里插入图片描述
2.修改完成之后的效果,除 OracleJobSchedulerORCL 是禁用外,其他的都是手动启动。
在这里插入图片描述

步骤二:手动启动oracle 服务

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

  • 按照先后顺序依次启动服务”OracleServiceORCL“,”OracleOraDb11g_home1TNSListener“,这两个服务是必须启动的。启动方式:右击服务 –> 启动,如下图所示
    在这里插入图片描述
  • 如果需要用控制台服务的话(就是下面这个管理数据库Web页面),需要再启动下服务”OracleDBConsoleorcl“,不过一般是不用这个的
    在这里插入图片描述

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

每次需要使用 oracle 时,都需要使用 步骤二开启 oracle 服务,多少有些不方便,我们可以创建一个启动服务的批处理脚本,每次执行这个脚本文件即可启动服务。

  1. 新建一个 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
  1. 如需开启控制台服务,将倒数第二行前面的两个冒号去掉,并将服务名替换成自己的。
  • OracleDBConsoleorcl
  1. 再服务停止的情况下运行脚本,检查脚本是否正常运行。
    在这里插入图片描述

参考自:
https://blog.csdn.net/pengpengpeng85/article/details/78756914

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐