运行oracle的时候是很费资源的,也很影响机器的速度,所以一般不用oracle的时候我就会把它的服务停了,但是我们要哪些启动哪些服务,这些服务又是做什么呢?下面简单的介绍一下。
OracleDBConsoleorcl:Oracle数据库控制台服务,orcl是Oracle的实例标识,默认的实例为orcl。在运行Enterprise Manager(企业管理器OEM)的时候,需要启动这个服务。(非必须启动)
OracleJobSchedulerORCL:Oracle作业调度(定时器)服务,ORCL是Oracle实例标识。(非必须启动)
OracleOraDb11g_home1TNSListener:监听器服务,服务只有在数据库需要远程访问的时候才需要。(非必须启动)。
OracleServiceORCL:数据库服务(数据库实例),是Oracle核心服务该服务,是数据库启动的基础, 只有该服务启动,Oracle数据库才能正常启动。(必须启动)
通过上面介绍我们可以看出,如果是只用Oracle自带的sql*plus的话,只要启动OracleServiceORCL即可,要是使用PL/SQL Developer等第三方工具的话,OracleOraDb11g_home1TNSListener服务也要开启。OracleDBConsoleorcl是进入基于web的EM必须开启的,其余服务很少用。
平时我们只需要启动OracleServiceORCL OracleOraDb11g_home1TNSListener这两个服务就可以了。
下面我们再来看一下,命令行中我们如何启动Oracle:
启动OracleOraDb11g_home1TNSListener
C:\Documents and Settings\User>lsnrctl start LSNRCTL for 32-bit Windows: Version 11.1.0.7.0 - Production on 16-APR-2013 16:32 :09 Copyright (c) 1991, 2008, Oracle. All rights reserved. Starting tnslsnr: please wait... TNSLSNR for 32-bit Windows: Version 11.1.0.7.0 - Production 系统参数文件为E:\app\User\product\11.1.0\db_1\network\admin\listener.ora 写入e:\app\user\diag\tnslsnr\HT-1376\listener\alert\log.xml的日志信息 监听: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1521ipc))) 监听: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=172.16.13.20)(PORT=1521))) Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521))) STATUS of the LISTENER ------------------------ Alias LISTENER Version TNSLSNR for 32-bit Windows: Version 11.1.0.7.0 - Produ ction Start Date 16-APR-2013 16:32:10 Uptime 0 days 0 hr. 0 min. 2 sec Trace Level off Security ON: Local OS Authentication SNMP OFF Listener Parameter File E:\app\User\product\11.1.0\db_1\network\admin\listener .ora Listener Log File e:\app\user\diag\tnslsnr\HT-1376\listener\alert\log.xm l Listening Endpoints Summary... (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1521ipc))) (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=172.16.13.20)(PORT=1521))) The listener supports no services The command completed successfully 启动OracleServiceORCL C:\Documents and Settings\User>net start OracleServiceORCL OracleServiceORCL 服务正在启动 .............. OracleServiceORCL 服务已经启动成功。
启动OracleServiceORCL
C:\Documents and Settings\User>net start OracleServiceORCL OracleServiceORCL 服务正在启动 .............. OracleServiceORCL 服务已经启动成功。
至于关闭的话,我们运行lsnrctl stop和net stop OracleServiceORCL就可以停止启动的以上两个服务。
下面我能再来看一下我们经常遇到的一个问题:当我们的ip改变之后,服务为什么无法启动呢?
这是因为当我们安装Oracle成功后系统会在以下三个地方依赖于我们安装Oracle时的IP地址(Oracle_home=E:\app\User\product\11.1.0\db_1)
1).在%Oracle_HOME%下有一个名为“当前IP_orcl”的目录,该目录存储的是oracle实例名为orcl的数据库的配置等信息
2)在%Oracle_HOME%\oc4j\j2ee目录下有一个名为“OC4J_DBConsole_当前IP_orcl”的目录,该目录存放的是OracleDBConsole服务的相关配置等信息
3)在%Oracle_HOME%\NETWORK\ADMIN下的listener.ora文件中listener中的HOST以及tnsnames.ora中的ORCL(数据库实例)中的HOST为当前IP地址
所以当我们的环境IP改变之后,就必须要修改以上三个地方的文件,将以上IP改为当前机器的名称或者当前IP
当我们修改完毕后,重新启动服务会发现OracleServiceORCL OracleOraDb11g_home1TNSListener这两个服务是可以正常启动了。
但是这个时候我们还是无法启动OracleDBConsoleorcl,如果你需要使用EM的话,我们必须按照以下步骤修改配置.
第一步:
C:\Documents and Settings\User>set oracle_sid=orcl C:\Docume