ora_database_name和sys_context('userenv','service_name')有什么区别

时间:2018-06-26 22:38:17

标签: oracle

ora_database_name和sys_context('userenv','service_name')之间有什么区别。 下面的两个查询给出不同的结果。

for(x in object) {
  console.log(x);
  $('#item').do(arg1, function() {
    console.log(x);
  });
}

如何以及在何处查找实际的数据库名称?

1 个答案:

答案 0 :(得分:1)

ora_database_name是包函数dbms_standard.database_name的同义词。我怀疑它与

相同
select sys_context('userenv','db_name') from dual; 

但是,sys_context('userenv','service_name')是您当前正在使用的服务名称。

一个数据库可以支持多个服务名称。要查看列表:

SELECT name FROM all_services;
orclpdb1

您可以添加其他服务...

EXEC DBMS_SERVICE.CREATE_SERVICE('myservice', 'myservice');
EXEC DBMS_SERVICE.START_SERVICE('myservice', NULL);

SELECT name FROM all_services;
orclpdb1
myservice

...然后可以用来连接数据库...

sqlplus user/pass@myhost:1521/myservice