Database 通过DB链接访问时,使用一些标记填充v$会话中的程序、模块和客户端信息字段
我们正在使用database1中Schema1的数据库链接访问数据库2中Schema2中的一些对象。 此特定数据库链接将仅由一个应用程序(ApplicationTest)使用。 当前,当我们从database2(目标数据库)查询V$会话时,PROGRAM、MODULE和CLIENT_INFO列要么为null,要么具有一些默认值 需要澄清: 我们希望监视所有正在访问数据库的应用程序2。 当通过DB链接访问时,是否可以在v$会话中的程序、模块和客户端信息字段中填充一些标记 提前感谢您的帮助! 当做Database 通过DB链接访问时,使用一些标记填充v$会话中的程序、模块和客户端信息字段,database,oracle,dblink,Database,Oracle,Dblink,我们正在使用database1中Schema1的数据库链接访问数据库2中Schema2中的一些对象。 此特定数据库链接将仅由一个应用程序(ApplicationTest)使用。 当前,当我们从database2(目标数据库)查询V$会话时,PROGRAM、MODULE和CLIENT_INFO列要么为null,要么具有一些默认值 需要澄清: 我们希望监视所有正在访问数据库的应用程序2。 当通过DB链接访问时,是否可以在v$会话中的程序、模块和客户端信息字段中填充一些标记 提前感谢您的帮助! 当做
Ganesh您需要在远程计算机(此处为数据库2)上调用
dbms\u application\u info
,以填充这些列。通常,最简单的方法是确保您仅通过存储过程访问数据库链接,然后在运行查询之前在数据库2的v$session
中设置模块
和操作
declare
l_cnt integer;
begin
dbms_application_info.set_module@dblink_to_2(
module_name => 'DB Link',
action_name => 'Reading over link'
);
select count(*)
into l_cnt
from table@dblink_to_2;
...
end;
您需要在远程计算机(此处为数据库2)上调用
dbms\u application\u info
,以填充这些列。通常,最简单的方法是确保您仅通过存储过程访问数据库链接,然后在运行查询之前在数据库2的v$session
中设置模块
和操作
declare
l_cnt integer;
begin
dbms_application_info.set_module@dblink_to_2(
module_name => 'DB Link',
action_name => 'Reading over link'
);
select count(*)
into l_cnt
from table@dblink_to_2;
...
end;