oracle - ora_database_name 和 sys_context('userenv','service_name') 有什么区别
问题描述
ora_database_name 和 sys_context('userenv','service_name') 有什么区别。下面的两个查询都给出了不同的结果。
select ora_database_name from dual;
select sys_context('userenv','service_name') from dual;
如何以及在哪里找到实际的数据库名称?
解决方案
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
推荐阅读
- r - 用于逻辑回归的亚组分析的森林图类似于 r 中的 NEJM 图
- html - 如果任何单元格值在角度中为空,如何隐藏整行
- oracle - 在远程 Windows 主机上通过 SQLcl 启动 oracle .sql 脚本
- vue.js - 在 v-bind:href 中传递参数
- node.js - Docker NodeJS 应用程序连接问题到托管 monero-wallet-rpc
- json - 帐户链接错误:“无法解析响应。响应需要是 JSON 格式。”
- angular - 在jspdf中添加汉字
- angular - Jasmine Karma 因“ReferenceError:未定义进程”而失败
- python - NameError:未定义名称“日期时间”[运行“ChangeDataType DistrictAllocationAndListStore-ptransform-570”时]
- amazon-web-services - 启用网络负载平衡和代理协议的 Synapse TTCPBlockSocket