在文件 tnsnames.ora 下增加GFS =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.2.4.95)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = pay)
)
)
此文件在%oracle_home%\product\10.1.0\Db_1\NETWORK\ADMIN
服务启动的是后台进程,这类似 于Unix中的守护进程。当Oracle数据库服务启动时,系统中没有典型的Oracle进程运行。相反,该服务进程等待来自SQL*Plus的最初连 接,这引起一个前台进程启动并创建该系统全局区域SGA的后台进程。当Oracle数据库关闭时,所有创建的进程被终止。但是该进程自身仍在继续运行,等 待下一个连接请求和启动命令。这就是当我们通过Windows中的Oracle Service启动了数据库实 例,但在SQL*Plus或Oracle企业管理器中关闭了数据库实例后,然而Windows中的OracleService服务仍处于“已启动”状态的 原因。只有停止Windows中的Oracle Service服务(即进程),才能保证不启动数据库。当然,当OracleService服务停止后,还可通过其他方式启动数据库实例。有多种方式可实 现对Windows中有关Oracle服务的管理,具体内容可详见后面相关章节。
Oracle 网络监听器(Net Listener)是另一个重要的服务。该服务必须在用户能连接到Oracle数据库之前启动运行。该进程关闭与否并不影响已经在客户端与数据库之间建立 起的连接和用户对数据库的使用。以SQL*Plus为例,当Oracle网络监听器的服务OracleTNSListener启动之前,启动 SQL*Plus并连接至数据库,系统出现错误信息“ORA-12541:TNS:nolistener”。原因是没有启动监听服务或者监听器损坏;当 Oracle网络监听器的服务启动SQL*Plus并连接至数据库后,若停止OracleTNSListener服务,则对SQL*Plus没有任何影 响,只要没有断开连接,SQL*Plus仍可与数据库进行数据交互。其中,TNS(Transparent Network Substrate)代表透明网络层。
2.可用的Oracle服务
根据安装的产品不同,在Windows中产生的Oracle服务也不同,其实也正是这一点说明了数据库服务器与其所使用的操作系统是紧密相关的。
Oracle Database 10g安装后生成多个服务,这些都是Oracle Database 10g运行中所必需的。
通常当创建数据库并完成安装后,以下两个主要服务会自动启动:
·Oracle Service (Oracle数据库服务)
·OracleTNSListener (Oracle数据库监听服务)
如果安装了Oracle Enterprise Manager Database
Control,则OracleDBConsole服务自动启动。若配置了Automatic Storage
Management,则OracleCSService和OracleASMService+ASM服务也会出现在服务列表中。
与Oracle 10g不同,Oracle9i安装完成后产生12个与其有关的服务,为便于比较,下面是几个与Oracle9i数据库相关的服务:
(1)Oracle Service
数据库服务。该服务为数据库实例系统标识符SID而创建,SID是Oracle安装期间输入的数据库服务名字(如OracleServiceTEST)。该服务是强制性的,它担负着启动数据库实例的任务。
如果没有启动该服务,则当使用任何Oracle工具如SQL*Plus时,将出现ORA-12560的错误信息提示。该信息内容是“ORA-12560 TNS:
protocol adapter error”,这也意味着数据库管理系统的管理对象没有启动,即数据库没有工作。当系统中安装了多个数据库时,会有多个Oracle Service,SID会因数据库不同而不同。一般将服务的启动类型设置为“自动”,这样,当计算机系统启动后该服务自动启动。
(2)OracleTNSListener
监听器服务。例如,Oracle
OraHome92TNSListener 承担着监听并接受来自客户端应用程序的连接请求的任务。当Windows计算机重新启动后,该服务将自动启动。如果该服务没有启动,那么当你使用 Oracle企业管理器控制台或一些图形化的工具进行连接时,将出现错误信息“ORA-12541 TNS: no listener”。但对一般的连接并无影响。例如,在MS-DOS提示符中用sqlplus/ @net_service_name形式启动SQL*Plus并进行连接时,则不会出现错误信息提示。一般将该服务的启动类型设置为“自动”,这样,当计 算机系统启动后该服务自动启动。也可通过手动方式启动服务:C:\>net start OracleTNSListener。
注意 在连接上出现的问题,多数都与监听器有关。
(3)OracleAgent
代理服务。该服务是Oracle企业管理器产品的一部分。执行作业和监视Oracle服务性能及监听器、数据库、Oracle HTTP
Server和Oracle应用程序等目标需要使用智能代理(Intelligent Agent)。智能代理还为Capacity
Planner和Performance Manager等收集静态数据。Capacity Planner和Performance
Manager是用于Oracle诊断包的数据收集应用程序。一般将该服务的启动类型设置为“自动”,这样,当计算机系统启动后该服务自动启动。
如 果该代理服务没有启动,则在启动OEM Console时,系统无法通过OracleAgent找到数据库所在的节点。因此,在使用Enterprise Manager Console打开控制台时,因无法找到数据库所在的节点而不能显示该数据库。OracleAgent是否启动也影响着数据库的远程连接。
在网络中,Oracle Intelligent
Agent是一个在远程节点上的自治进程。代理作为服务与Oracle数据库服务器驻留在同一个节点上,并提供和完成下列功能:
·提供本地服务或调用依赖于操作系统的服务,以便与本地管理的目标节点交互。
·检查事件,向OEM报告排队的结果事件。
·运行Oracle Enterprise Manager作业,搜集其结果和输出,并为结果排队。
·处理数据集合。
·取消那些由控制台或其他应用程序控制的作业或事件等。
(4)OracleHTTPServer
该服务使用端口号3339,为基于浏览器的企业管理器及资料档案库启动Oracle HTTP Server。它对应于Apache Server,即Web
Server。 它也是运行iSQL*Plus所必需的中间层。可根据实际情况将该服务的启动类型设置为“自动”或“手动”。当设置为“自动”后,Oracle HTTPServer将随着计算机的启动而自动启动;否则,可通过菜单组中的“Start HTTP Server powered by Apache”来启动Oracle HTTP Server。
(5)OracleManagementServer OMS(Oracle Management Server)服务在客户端与所管理目标之间起着集中管理和分布式的控制作用,与代理协同工作,处理监视信息和作业信息并使用管理资料档案库存储其管理数据。