通常,Oracle数据库SID包含在服务名称中。例如:SID:orcl&服务名称:orcl.mycomp.com
因此,可以定义服务名称而不包括SID Ex:mydb.mycomp.com
,数据库SID为orcl
。
答案 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