我可以在没有SID的情况下拥有oracle数据库服务名吗?

时间:2013-03-12 12:53:13

标签: database oracle sid

通常,Oracle数据库SID包含在服务名称中。例如:SID:orcl&服务名称:orcl.mycomp.com

因此,可以定义服务名称而不包括SID Ex:mydb.mycomp.com,数据库SID为orcl

2 个答案:

答案 0 :(得分:1)

如果您的SID为orcl,则可以通过在orcl数据库中设置Oracle系统参数SERVICE_NAMES将服务名称设置为mydb.mycomp.com:

ALTER SYSTEM SET service_names = 'mydb.mycomp.com';

或者,如果您还想将orcl保留为服务名称:

ALTER SYSTEM SET service_names = 'orcl,mydb.mycomp.com';

答案 1 :(得分:1)

SID是数据库的标识符,但service_names是它提供的服务的名称,可以是功能性的而不是技术性的。

因此,您可能拥有一个数据库,可以相应地提供发票服务,销售服务,消息服务和设置service_name。这样做的好处是,侦听器可以根据所请求的服务选择要连接的相应数据库,并且可以从多个数据库中获得单个服务(通过复制)。

您还可以将服务从一个数据库移动到另一个数据库,并通过v $ session和v $ sql监控服务活动。

也请看一下:http://www.ardentperf.com/pub/services-schneider07.pdf