|
|
发表于 2012/9/3 17:33:32
|
显示全部楼层
alexandre 发表于 2012/6/13 17:20 
资料很好,不过SID可以通过ebs前台 help/about Oracle application 下直接获得;
后面的sql也可以结 ...
根据你提供的查找sid的方法写了如下一段sql段用来查找lov的查询sql感觉方便多了
declare
cursor cur_lov_sql(p_pre_sql_addr varchar2) is
select t.SQL_TEXT
from v$sqltext_with_newlines t
where t.ADDRESS = p_pre_sql_addr
order by t.PIECE;
--
l_lov_sql varchar2(2400);
l_prev_sql_addr varchar2(200);
begin
begin
select v.PREV_SQL_ADDR
into l_prev_sql_addr
from v$session v
where v.SID = &sid;
exception
when others then
dbms_output.put_line('get prev sql addr error,'||sqlcode||':'||sqlerrm);
end;
--
for rec in cur_lov_sql(l_prev_sql_addr) loop
l_lov_sql := nvl(l_lov_sql,'')||rec.sql_text;
end loop;
--
dbms_output.put_line('lov查询sql为:');
dbms_output.put_line(l_lov_sql);
end;
顺便提醒下,如果在上面的这个界面没有看到sid的值,去检查下你的FND:诊断这个配置文件的值是否为是,否的话设置为是 |
|