Oracle 检查DB链接是否实际指向正确的服务器

Oracle 检查DB链接是否实际指向正确的服务器,oracle,Oracle,我目前正在尝试验证Oracle db_链接是否实际指向正确的服务器。 当我查询db_链接时,我得到引用TNSName的db_链接的定义: select * from all_db_links; 给我以下结果: 所有者:user1 数据库链接:DBL\u xxx.world 用户名:User2 主持人:tnsEntry1 创建日期:2012年5月3日 当我测试DB_链接时,一切正常: select * from dual@"DBL_xxx.world"; 假人:X 但是,由于我没有访问服务器的

我目前正在尝试验证Oracle db_链接是否实际指向正确的服务器。 当我查询db_链接时,我得到引用TNSName的db_链接的定义:

select * from all_db_links;
给我以下结果:

所有者:user1
数据库链接:DBL\u xxx.world
用户名:User2
主持人:tnsEntry1
创建日期:2012年5月3日

当我测试DB_链接时,一切正常:

select * from dual@"DBL_xxx.world";
假人:X

但是,由于我没有访问服务器的权限,我无法确保tns条目tnsEntry1指向正确的服务器

在本地,我可以运行:

select sys_context ( 'USERENV', 'DB_NAME' ) db_name,
 sys_context ( 'USERENV', 'SESSION_USER' ) user_name,
 sys_context ( 'USERENV', 'SERVER_HOST' ) db_host
 from dual;
我尝试远程运行相同的命令:

select sys_context ( 'USERENV', 'DB_NAME' ) db_name,
 sys_context ( 'USERENV', 'SESSION_USER' ) user_name,
 sys_context ( 'USERENV', 'SERVER_HOST' ) db_host
 from dual@DBL_xxx.world;
但它只返回本地数据


有没有办法检查远程信息?或者从sql查询中检查tnsname?

这将为您提供数据库链接另一端的数据库名称:

select property_value 
from database_properties@<database_link> 
where property_name='GLOBAL_DB_NAME'
选择属性值
从数据库_properties@
其中属性\u name='GLOBAL\u DB\u name'

这将为您提供数据库链接另一端的数据库名称:

select property_value 
from database_properties@<database_link> 
where property_name='GLOBAL_DB_NAME'
选择属性值
从数据库_properties@
其中属性\u name='GLOBAL\u DB\u name'

我们还计算出:从v$instance@中选择实例名称、主机名称、启动时间;我们还发现:从v$instance@中选择实例名称、主机名称、启动时间;将返回信息。