背景:

作为一个程序员,在日常的工作中,我们电脑经常需要同时运行很多程序,如:Eclipse、浏览器、即时通讯软件等,甚至经常需要打开几个Office文档或者pdf文档。这时候你的内存估计已经爆表了吧,尤其是现在想Chrome和FireFox这类的浏览器,随便安装几个插件,内存占用就大得惊人。而我们为了满足需要又不得不安装各种各样的插件,因为这两款浏览器在不安装任何插件的情况下跟IE没什么分别。

如上图所示,FireFox、Java的两个进程还有Eclipse稳稳地占据了内存使用的前四,而这时候如果你电脑还开着Oracle的服务,那么你的电脑会卡到令人发指。

把电脑升级到8G内存,刚开始觉得很爽,没过多长时间,又变得很慢了。还真是给它多少内存,它就敢给你用多少内存呀。无限制的升级硬件显然是不实际的方法,所以我们需要从软件上动脑筋,这句需要我们把平时不常用的服务以及后台进程关掉。

浏览器我们每天都离不开,而且关掉主程序也不会有后台进程,所以我们的目标不是它;Java进程和Eclipse每天开放也离不开它们,所以也不能对它们下黑手;嘿嘿,Oracle不好意思啦,只能将你干掉了,因为有了Hibernate之类的框架,让我们在写代码的时候不需要知道我们将要面向什么数据库。所以我们完全没有必要在自己的机器上每天开着Oracle的那些笨重的后台服务。一个小小的MySQL完全可以应付,所以我们只需要将它的服务全部关掉,用的时候再打开即可。

但是新的问题又来了,每次需要开启服务的时候,还需要打开系统的服务管理,找到Oracle的相关服务,然后挨个右击点击启动,我想有过类似操作经验的朋友,都会觉得这是一个非常令人烦躁的工作。

但是身为程序员的我们,应该很自然的想到,这些繁杂的工作肯定可以通过程序来自动帮我们解决。没错,而且非常简单,只需要几行代码就可以搞定!

解决方案:

首先,到服务(按“Win”键,输入“服务”,回车)里找到Oracle的相关服务,我安的是11g,相关服务如下:

我们并不需要将所有服务全部开启,基本的功能只需要开启如下两个服务即可:

OracleServiceORCL
OracleOraDb11g_home1TNSListener

将以下代码保存成”.bat“文件或”.cmd“文件即可。

具体代码:

@echo off
net start OracleServiceORCL
net start OracleOraDb11g_home1TNSListener
pause

运行效果:

运行完成以后,可以看到两个服务的状态已经变成了“已启动“:

停止服务代码只需将“start”改成“stop”:

@echo off
net stop OracleServiceORCL
net stop OracleOraDb11g_home1TNSListener
pause

运行效果:

好了,有了这两段代码Oracle的服务就对我们唯命是从了,招之则来,挥之则去。想想都觉得爽歪歪了。下面为大家附上Oracle各个服务的详细说明:

1. Oracle ORCL VSS Writer Service:Oracle卷映射拷贝写入服务,VSS(Volume Shadow Copy Service)能够让存储基础设备(比如磁盘,阵列等)创建高保真的时间点映像,即映射拷贝(shadow copy)。它可以在多卷或者单个卷上创建映射拷贝,同时不会影响到系统的系统能。(非必须启动)

2. OracleDBConsoleorcl:Oracle数据库控制台服务,orcl是Oracle的实例标识,默认的实例为orcl。在运行Enterprise Manager(企业管理器OEM)的时候,需要启动这个服务。(非必须启动)

3. OracleJobSchedulerORCL:Oracle作业调度(定时器)服务,ORCL是Oracle实例标识。(非必须启动)

4. OracleMTSRecoveryService:服务端控制。该服务允许数据库充当一个微软事务服务器MTS、COM/COM+对象和分布式环境下的事务的资源管理器。(非必须启动)

5. OracleOraDb11g_home1ClrAgent:Oracle数据库.NET扩展服务的一部分。 (非必须启动)

6. OracleOraDb11g_home1TNSListener:监听器服务,服务只有在数据库需要远程访问的时候才需要。(非必须启动,下面会有详细详解)。

7. OracleServiceORCL:数据库服务(数据库实例),是Oracle核心服务该服务,是数据库启动的基础, 只有该服务启动,Oracle数据库才能正常启动。(必须启动)那么在开发的时候到底需要启动哪些服务呢?

对新手来说,要是只用Oracle自带的sql*plus的话,只要启动OracleServiceORCL即可,要是使用PL/SQL Developer等第三方工具的话,OracleOraDb11g_home1TNSListener服务也要开启。OracleDBConsoleorcl是进入基于WEB的EM必须开启的,其余服务很少用。

注:ORCL是数据库实例名,默认的数据库是ORCL,你可以创建其他的,即OracleService+数据库名。

菜鸟学数据库(六)——方便快捷的开启、关闭Oracle服务的更多相关文章

  1. windows bat命令 开启关闭Oracle服务

    0.吐槽 单位发的ThinkPad T61.太弱小了. 问题是我去百度下T61,发现它好贵好贵.真心无力吐槽.还不如给我发台外星人,廉价点的. . Oracle一开就内存就不够了.所以绝对不能让它开机 ...

  2. 菜鸟学数据库(五)——MySQL必备命令

    今天跟大家分享一下MySQL从连接到具体操作的一系列常用命令.可能有的人觉得现在有很多可视化的工具,没必要再学习那些具体的命令了,但是我不这么认为,不可否认那些工具的确让我们的工作更加方便快捷,但是如 ...

  3. 手动开启/关闭Oracle数据库

    @echo off@echo 启动/关闭数据库set /p flag=您是否要启动数据库?(是按Y启动,否按N关闭) goto answer%flag% goto end :answery echo ...

  4. 创建一个简单的WCF程序2——手动开启/关闭WCF服务与动态调用WCF地址

    一.创建WCF服务器 1.创建WCF服务器的窗体应用程序 打开VS2010,选择文件→新建→项目菜单项,在打开的新建项目对话框中,依次选择Visual C#→Windows→Windows窗体应用程序 ...

  5. ubuntu 开启关闭mysql服务

    etc/init.d/mysql restart //重启 etc/init.d/mysql start //开启 etc/init.d/mysql stop //停止

  6. 开启关闭mysql服务

    1.Windows下 启动服务 mysqld --console 或 net start mysql 关闭服务 mysqladmin -uroot shudown 或 net stop mysql   ...

  7. window下开启关闭mysql服务

    cmd:管理员模式 net start mysql net stop mysql

  8. 转载“启动\关闭Oracle数据库的多种方法”--来自百度#Oracle

    启动\关闭Oracle数据库的多种方法 启动和关闭oracle有很多种方法. 这里只给出3种方法: l         Sql*plus l         OEM控制台 l         Wind ...

  9. 菜鸟学IT之四则运算升级版

     菜鸟学IT之四则运算升级版 本次作业要求来自:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE1/homework/2213 团队代码github远程仓库的 ...

随机推荐

  1. CentOS7 修改主机名

    命令: hostnamectl set-hostname [yourhostname] 不过这种方法,大写会自动变成小写. 还有一种方法,直接修改 /etc/hostname文件,这个可以保证大写不变 ...

  2. 今天才明白VC++.net的含义: VS系列的c++编译器可以支持托管C++(类似于C#,具体请看MS在线文档),当然包括winform界面开发。

    因此我决定用winform做界面,用C++写逻辑.当然尽量不用托管代码写逻辑.

  3. onActivityResult 传递数据

    onActivityResult 传递数据 http://www.cnblogs.com/sipher/articles/2435078.html 如下图所示.当菜单项变多时,出现了垂直的滚动条,选项 ...

  4. iOS block分析

    block是代码块,其本质和变量类似.不同的是代码块存储的数据是一个函数体.使用Block,就可以像其他标准函数一样,传入参数,并得到返回值. 可以把Block当做Objective-C的匿名函数,B ...

  5. 构建高性能数据库缓存之Redis(一)

    一.Redis概述 1.1 什么是redis Redis是一个开源的用ANSI C编写.支持网络.基于内存.亦可持久化的日志型.Key-Value数据库,根据DB-Engines.com站点月度排行的 ...

  6. java的几个format

    public static String formatDateToString(long date) { SimpleDateFormat formatter = new SimpleDateForm ...

  7. uploadify.js参数说明(转)

    一.属性 属性名称 默认值 说明 auto true 设置为true当选择文件后就直接上传了,为false需要点击上传按钮才上传 . buttonClass ” 按钮样式 buttonCursor ‘ ...

  8. TensorFlow 中的 tf.train.exponential_decay() 指数衰减法

    exponential_decay(learning_rate, global_step, decay_steps, decay_rate, staircase=False, name=None) 使 ...

  9. numpy 数组创建例程

    1 numpy.empty empty(shape[, dtype=float, order='C']) 创建指定 shape 和dtype 的未初始化数组 返回:ndarray. 说明:order ...

  10. Python学习笔记001——Linux

    Linux文件系统采用树形目录结构,系统中一切皆文件.文件名字母区分大小写 Linux命令使用格式(终端窗口) 命令名 [选项] [参数] 命令名:在命令行输入命令. 备注:命令名字母区分大小写, 1 ...