Oracle数据库服务

来源:互联网 发布:微信作图软件 编辑:程序博客网 时间:2024/06/05 10:32

 

1.4.2Oracle数据库服务

Windows平台上的Oracle不同于其他平台,它是以服务的形式呈现的,而在Unix中Oracle是以进程形式运行的。所有Oracle服务器及其后台进程都是在Oracle.exe进程下以线索的方式运行。
当Oracle Database 10g系统安装完成后,在Windows 2000/XP/2003环境下自动增加了许多数据库服务。在“管理工具”→“服务”中,可看到多个以Oracle开头的服务,这些都是与Oracle数据库服务器有关的服务。
Oracle数据库的运行管理都与其服务密切相关,所以,我们应充分理解Oracle服务的作用。 
1. Oracle服务
Oracle服务对数据库的运行和系统管理来说至关重要。在Windows中,Oracle以服务的形式来启动每个实例。服务是一个在Windows注册表中注册并由Windows管理的可执行进程(Process)。注册表自动跟踪并记录每个所创建服务的安全信息。Oracle也使用服务来对其数据库操作提供支持,这类似于Windows服务。Oracle服务是在数据库的创建过程中建立并与Oracle数据库关联。Oracle服务用于创建、连接和使用一个Oracle数据库实例。在注册表中通过“编辑”菜单的“查找”选项,查找“Oracle”就可以查找各个服务的信息。
服务的优点之一是简化了启动数据库的过程。当计算机重新启动时,系统自动启动并配置数据库,不需要用户的参与,这是由服务来完成的。服务的另一个优点是它们必须由拥有指定权限的用户来启动。例如,Oracle<Home_Name>ManagementServer是Oracle中的一个服务,要停止该服务必须由帐户sysman来执行,其默认口令为:oem_temp。
服务启动的是后台进程,这类似于Unix中的守护进程。当Oracle数据库服务启动时,系统中没有典型的Oracle进程运行。相反,该服务进程等待来自SQL*Plus的最初连接,这引起一个前台进程启动并创建该系统全局区域SGA的后台进程。当Oracle数据库关闭时,所有创建的进程被终止。但是该进程自身仍在继续运行,等待下一个连接请求和启动命令。这就是当我们通过Windows中的Oracle Service<SID>启动了数据库实例,但在SQL*Plus或Oracle企业管理器中关闭了数据库实例后,然而Windows中的OracleService<SID>服务仍处于“已启动”状态的原因。只有停止Windows中的Oracle Service<SID>服务(即进程),才能保证不启动数据库。当然,当Oracle Service<SID>服务停止后,还可通过其他方式启动数据库实例。有多种方式可实现对Windows中有关Oracle服务的管理,具体内容可详见后面相关章节。
Oracle网络监听器(Net Listener)是另一个重要的服务。该服务必须在用户能连接到Oracle数据库之前启动运行。该进程关闭与否并不影响已经在客户端与数据库之间建立起的连接和用户对数据库的使用。以SQL*Plus为例,当Oracle网络监听器的服务Oracle<Home_Name>TNSListener启动之前,启动SQL*Plus并连接至数据库,系统出现错误信息“ORA-12541:TNS:no listener”。原因是没有启动监听服务或者监听器损坏;当Oracle网络监听器的服务启动SQL*Plus并连接至数据库后,若停止Oracle<Home_Name>TNSListener服务,则对SQL*Plus没有任何影响,只要没有断开连接,SQL*Plus仍可与数据库进行数据交互。其中,TNS(Transparent Network Substrate)代表透明网络层。
2.可用的Oracle服务
根据安装的产品不同,在Windows中产生的Oracle服务也不同,其实也正是这一点说明了数据库服务器与其所使用的操作系统是紧密相关的。
Oracle Database 10g安装后生成多个服务,这些都是Oracle Database 10g运行中所必需的。如图1-6所示。

图1-6 Oracle Database 10g安装后的服务表1-2为 Oracle Database 10g安装后的系统服务及其含义。

注意:这里<SID>代表数据库实例,如TEST;Home_Name代表OraDB 10g_home1。而且不能手动修改这些服务。

通常当创建数据库并完成安装后,以下两个主要服务会自动启动:
  •Oracle Service<SID> (Oracle数据库服务)
  •Oracle<Home_Name>TNSListener (Oracle数据库监听服务)
如果安装了Oracle Enterprise Manager Database Control,则OracleDBConsole<SID>服务自动启动。若配置了Automatic Storage Management,则OracleCSService和OracleASMService+ASM服务也会出现在服务列表中。
与Oracle 10g不同,Oracle9i安装完成后产生12个与其有关的服务,为便于比较,下面是几个与Oracle9i数据库相关的服务:
(1)Oracle Service<SID>
数据库服务。该服务为数据库实例系统标识符SID而创建,SID是Oracle安装期间输入的数据库服务名字(如OracleServiceTEST)。该服务是强制性的,它担负着启动数据库实例的任务。
如果没有启动该服务,则当使用任何Oracle工具如SQL*Plus时,将出现ORA-12560的错误信息提示。该信息内容是“ORA-12560 TNS: protocol adapter error”,这也意味着数据库管理系统的管理对象没有启动,即数据库没有工作。当系统中安装了多个数据库时,会有多个Oracle Service<SID>,SID会因数据库不同而不同。一般将服务的启动类型设置为“自动”,这样,当计算机系统启动后该服务自动启动。
(2)Oracle<HOME_NAME>TNSListener
监听器服务。例如,Oracle OraHome92TNSListener承担着监听并接受来自客户端应用程序的连接请求的任务。当Windows计算机重新启动后,该服务将自动启动。如果该服务没有启动,那么当你使用Oracle企业管理器控制台或一些图形化的工具进行连接时,将出现错误信息“ORA-12541 TNS: no listener”。但对一般的连接并无影响。例如,在MS-DOS提示符中用sqlplus<username>/<password>@net_service_name形式启动SQL*Plus并进行连接时,则不会出现错误信息提示。一般将该服务的启动类型设置为“自动”,这样,当计算机系统启动后该服务自动启动。也可通过手动方式启动服务:C:/>net start Oracle<Home_Name>TNSListener。
注意 在连接上出现的问题,多数都与监听器有关。
(3)Oracle<Home_Name>Agent
代理服务。该服务是Oracle企业管理器产品的一部分。执行作业和监视Oracle服务性能及监听器、数据库、Oracle HTTP Server和Oracle应用程序等目标需要使用智能代理(Intelligent Agent)。智能代理还为Capacity Planner和Performance Manager等收集静态数据。Capacity Planner和Performance Manager是用于Oracle诊断包的数据收集应用程序。一般将该服务的启动类型设置为“自动”,这样,当计算机系统启动后该服务自动启动。
如果该代理服务没有启动,则在启动OEM Console时,系统无法通过Oracle<Home_Name>Agent找到数据库所在的节点。因此,在使用Enterprise Manager Console打开控制台时,因无法找到数据库所在的节点而不能显示该数据库。Oracle<Home_Name>Agent是否启动也影响着数据库的远程连接。
在网络中,Oracle Intelligent Agent是一个在远程节点上的自治进程。代理作为服务与Oracle数据库服务器驻留在同一个节点上,并提供和完成下列功能:
  •提供本地服务或调用依赖于操作系统的服务,以便与本地管理的目标节点交互。
  •检查事件,向OEM报告排队的结果事件。
•运行Oracle Enterprise Manager作业,搜集其结果和输出,并为结果排队。
  •处理数据集合。
  •取消那些由控制台或其他应用程序控制的作业或事件等。
(4)Oracle<Home_Name>HTTPServer
该服务使用端口号3339,为基于浏览器的企业管理器及资料档案库启动Oracle HTTP Server。它对应于Apache Server,即Web Server。它也是运行iSQL*Plus所必需的中间层。可根据实际情况将该服务的启动类型设置为“自动”或“手动”。当设置为“自动”后,Oracle HTTP Server将随着计算机的启动而自动启动;否则,可通过菜单组中的“Start HTTP Server powered by Apache”来启动Oracle HTTP Server。
(5)Oracle<Home_Name>ManagementServer
OMS(Oracle Management Server)服务在客户端与所管理目标之间起着集中管理和分布式的控制作用,与代理协同工作,处理监视信息和作业信息并使用管理资料档案库存储其管理数据。
当系统安装完成后,Oracle<Home_Name>ManagementServer并没有出现在Windows的“服务”窗口中,只有当使用程序组“Configuration and Migration Tools”中的“Enterprise Manager Configuration Assistant”创建了资料档案库后,系统才随之创建并启动该服务。若要停止该服务,也就是停止Oracle Management Server必须提供超级管理员身份证明。即管理员的帐户和口令,默认的帐户和口令为:sysman/oem_temp。Oracle企业管理器只有在创建了资料档案库后才能以sysman帐户登录,否则只能以独立形式直接使用和管理本地数据库。
如果要启动、关闭或设置服务的状态,也可在DOS命令行中使用omsntsrv.exe命令完成。具体命令的使用格式可通过如下命令查看:omsntsrv -h。
只有安装了Oracle企业管理器,以下服务才会被创建并自动启动:
  •Oracle<Home_Name>Agent
  •Oracle<Home_Name>HTTPServer
  •Oracle<Home_Name>ManagementServer
以上是Oracle9i的五个主要服务。Oracle9i的其他服务如下。
(6)OracleMTSRecoveryService
针对分布式环境下的COM/COM+对象和事务,Microsoft Transaction Server作为应用服务器用于中间层。OracleMTSRecoveryService允许Oracle9i数据库在Microsoft Transaction Server-coordinated事务中用于资源管理器,并为Oracle解决方案与Microsoft Transaction Server之间提供强大的集成手段。
(7)OracleServiceOEMREP
OEMREP是系统为Oracle企业管理器而创建的资料档案库,OracleServiceOEMREP为对应的资料档案库服务。它与OracleService SID的作用等同。OEMREP实际上是一个数据库,用在多节点的数据库管理中,为三层的Oracle体系结构存储管理信息。在Oracle9i之前,Oracle的资料档案库是在某个具体数据库中创建的,不是单独创建的。
(8)Oracle<Home_Name>ClientCache
用于客户端高速缓冲存储器服务。
(9)Oracle<Home_Name>PagingServer
寻呼服务器服务。Oracle企业管理器的寻呼服务器(Paging Server)允许管理员接受关于注册的事件和预定作业的寻呼通知。
(10)OracleSNMPPeerMasterAgent 
简单网络管理协议(Simple Network Management Protocol,SNMP),它是一个标准的互联网协议。它能使网络中的节点针对网络设备和应用程序访问其状态和活动。所有发给网络节点的请求都由同一个主代理(Master Agent)来处理。
(11)OracleSNMPPeerEncapsulator
该服务只有在系统中配置并安装了一个以上的SNMP副代理时,才需要封装器(Encapsulator)。
事实上,除了在“管理工具”→“服务”中启动或停止以上数据库服务外,也可在DOS提示符中通过使用NET命令来启动或停止。格式如下所示:
   •启动服务:net start<Service_name>
   •停止服务:net stop<Service_name>
   •查找帮助:net-h
3.Oracle Database 10g服务的启动与停止
启动Oracle服务有三种方式。 
(1)通过“控制面板”启动Oracle服务,步骤如下: 
1)选择“开始”→“控制面板”→“管理工具”→“服务”。
2)找到要启动的Oracle服务,单击“启动”。
(2)通过MS-DOS命令启动Oracle服务,步骤如下:
1)在“附件”中打开MS-DOS命令提示符窗口。
2)在窗口中输入:net start Oracle<Service_Name>。
(3)通过Oracle Administration Assistant for Windows启动Oracle服务 ,步骤如下:
1)选择“开始”→“程序”→“Oracle-OraDb10g_home1”→“配置和移植工具”→“Oracle Administration Assistant for Windows”。
2)在主机名中找到要启动的数据库SID并用右键单击“Oracle<SID>”。
3)选择“启动服务”即可。
Oracle服务的停止与启动的操作步骤类似。
4.基于Oracle性能的Windows配置
合理地配置Windows操作系统与硬件和Oracle数据库服务器是同等重要的。Windows中不同的服务或进程对Oracle数据库服务器的影响是不同的。过多地安装软件会对数据库服务器的性能产生负面影响。
(1)不可以在数据库服务器上运行
为保持最佳的运行速度,下列各项不能在数据库服务器上运行:
•DNS服务器:出于维护的目的必须停止该服务器,域命名不再工作。
•域控制器:与上面的DNS服务器原因相同,数据库服务器不应该作为一个主域控制器或辅助域控制器。
•路由器:数据库服务器不应当作为一个网络路由器。
•文件/打印服务器:由于这些功能消耗CPU和内存资源以及带宽,所以数据库服务器不能作为文件服务器和打印服务器。
•终端服务:这些类型的服务需要大量的内存,并依赖于用户的装载。
 下列这些服务对数据库服务器和利用宝贵的系统资源是多余的,应该关闭:
•License Logging Service
•Plug and Play
•Remote Access Autodial Manager
•Remote Access Connection Manager
•Remote Access Server
•Telephony Service
 删除所有不使用的网络协议,只保留Oracle所使用的协议。
(2)可以在数据库服务器上运行
下列各项可以在数据库服务器上运行:
•任何获取性能信息的监视软件。Oracle提供了企业管理器和性能监视功能。
•在操作系统级上的安全和审计软件。
•下列在数据库服务器上的服务对正常操作是必需的,不应该关闭:
•Alerter
•Computer Browser
•EventLog
•Messenger
•OracleServiceSID
•OracleHOME_NAMETNSListener
•Remote Procedure Call (RPC) Service
•Server
•Spooler
•TCP/IP NetBIOS Helper
•Workstation
关闭以上任何一项服务都会引起系统问题。由于Windows的版本不同,上述各项服务可能会有所变化。另外,一般不应选择普通PC机作为服务器,而应该选择磁盘阵列组(RAID);否则,会极大影响系统性能。

----------------------

(1)OracleServiceSID 
数据库 服务,这个服务会自动地启动和停止数据库 。如果安装了一个数据库 ,它的缺省启动类型为自动。服务进程为 ORACLE.EXE,参数文件initSID.ora,日志文件SIDALRT.log,控制台SVRMGRL.EXE、SQLPLUS.EXE。

(2)OracleHOME_NAMETNSListener
监 听器服务,服务只有在数据库 需要远程访问 时才需要(无论是通过另外一台主机还是在本地通过 SQLNet 网络协议都属于远程访问),不用这个服务就可以访问本地数据库 ,它的缺省启动类型为自动。服务进程为 TNSLSNR.EXE,参数文件Listener.ora,日志文件listener.log,控制台LSNRCTL.EXE,默认端口1521、 1526。

(3)OracleHOME_NAMEAgent
OEM代理服务,接收和响应来自OEM控制台的任务和事件请求,只有 使用OEM管理数据库 时才需要,它的缺省 启动类型为自动。服务进程为DBSNMP.EXE,参数文件snmp_rw.ora,日志文件nmi.log,控制台LSNRCTL.EXE,默认端口 1748。

(4)OracleHOME_NAMEClientCache 
名字缓存服务,服务缓存用于连接远程数据库 的Oracle Names 数据。它的缺省启动类型是手动。然而,除非有一台Oracle Names 服务器,否则没有必要运行这个服务。服务进程为ONRSD.EXE,参数文件NAMES.ORA,日志文件ONRSD.LOG,控制台 NAMESCTL.EXE。

(5)OracleHOME_NAMECMAdmin 
连接管理服务,是构建Connection Manager服务器所用,只有服务器作为Connection Manager才需要,它的缺省启动类型是手动。服务进程为CMADMIN.EXE,参数文件CMAN.ORA,日志文件CMADM_PID.TRC,控 制台CMCTL.EXE,默认端口1830。

(6)OracleHOME_NAMECMan 
连接网关服务,是构建 Connection Manager服务器所用,只有服务器作为Connection Manager才需要,它的缺省启动类型是手动。服务进程为CMGW.EXE,参数文件CMAN.ORA,日志文件CMAN_PID.TRC,控制台 CMCTL.EXE,默认端口1630。

(7)OracleHOME_NAMEDataGatherer
性能包数据采集服务,除 非使用Oracle Capacity Planner 和 Oracle Performance Manager,否则不需要启动,它的缺省启动类型是手动。服务进程为VPPDC.EXE,日志文件alert_dg.log,控制台 vppcntl.exe。

(8)OracleHOME_NAMEHTTPServer
Oracle提供的WEB服务器,一般情况 下我们只用它来访问Oracle Apache 目录下的Web 页面,比如说JSP 或者modplsql 页面。除非你使用它作为你的HTTP服务,否则不需要启动(若启动它会接管IIS的服务),它的缺省启动类型是手动。服务进程为APACHE.EXE,参 数文件httpd.conf,默认端口80。

(9)OracleHOME_NAMEPagingServer
通过一个使用调制解 调器的数字传呼机或者电子邮件发出警告(没试过),它的缺省启动类型是手动。服务进程PAGNTSRV.EXE,日志文件paging.log。

(10)OracleHOME_NAMENames
Oracle Names服务,只有服务器作为Names Server才需要,它的缺省启动类型是手动。服务进程NAMES.EXE,参数文件NAMES.ORA,日志文件NAMES.LOG,控制台 NAMESCTL.EXE,默认端口1575。

(11)OracleSNMPPeerMasterAgent
SNMP服务代理, 用于支持SNMP的网管软件对服务器的管理,除非你使用网管工具监控数据库 的情况,否则不需要启动,它的缺省启动类型是手动。服务进程为AGNTSVC.EXE,参数文件 MASTER.CFG,默认端口161。

(12)OracleSNMPPeerEncapsulater
SNMP协议封装服务, 用于SNMP协议转换,除非你使用一个不兼容的SNMP代理服务,否则不需要启动,它的缺省启动类型是手动。服务进程为ENCSVC.EXE,参数文件 ENCAPS.CFG,默认端口1161。

(13)OracleHOME_NAMEManagementServer
OEM管理 服务,使用OEM时需要,它的缺省启动类型是手动。服务进程为OMSNTSVR.EXE,日志文件oms.nohup

 

原创粉丝点击