Oracle 检查DB链接是否实际指向正确的服务器
我目前正在尝试验证Oracle db_链接是否实际指向正确的服务器。 当我查询db_链接时,我得到引用TNSName的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 但是,由于我没有访问服务器的
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@中选择实例名称、主机名称、启动时间;将返回信息。