背景:
作为一个程序猿,在日常的工作中,我们电脑常常须要同一时候执行非常多程序。如:Eclipse、浏览器、即时通讯软件等,甚至常常须要打开几个Office文档或者pdf文档。这时候你的内存预计已经爆表了吧。尤其是如今想Chrome和FireFox这类的浏览器,随便安装几个插件,内存占用就大得惊人。
而我们为了满足须要又不得不安装各种各样的插件。由于这两款浏览器在不安装不论什么插件的情况下跟IE没什么分别。
如上图所看到的。FireFox、Java的两个进程还有Eclipse稳稳地占领了内存使用的前四,而这时候假设你电脑还开着Oracle的服务,那么你的电脑会卡到令人发指。
把电脑升级到8G内存,刚開始认为非常爽。没过多长时间。又变得非常慢了。还真是给它多少内存。它就敢给你用多少内存呀。无限制的升级硬件显然是不实际的方法,所以我们须要从软件上动脑筋,这句须要我们把平时不常常使用的服务以及后台进程关掉。
浏览器我们每天都离不开,并且关掉主程序也不会有后台进程,所以我们的目标不是它;Java进程和Eclipse每天开放也离不开它们。所以也不能对它们下黑手。嘿嘿,Oracle不好意思啦,仅仅能将你干掉了,由于有了Hibernate之类的框架。让我们在写代码的时候不须要知道我们将要面向什么数据库。
所以我们全然没有必要在自己的机器上每天开着Oracle的那些笨重的后台服务。
一个小小的MySQL全然能够应付,所以我们仅仅须要将它的服务所有关掉,用的时候再打开就可以。
可是新的问题又来了,每次须要开启服务的时候,还须要打开系统的服务管理,找到Oracle的相关服务,然后挨个右击点击启动。我想有过相似操作经验的朋友。都会认为这是一个非常令人烦躁的工作。
可是身为程序猿的我们。应该非常自然的想到,这些繁杂的工作肯定能够通过程序来自己主动帮我们解决。没错。并且非常easy,仅仅须要几行代码就能够搞定!
解决方式:
首先,到服务(按“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:服务端控制。该服务同意数据库充当一个微软事务serverMTS、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+数据库名。