暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

如何在Oracle中区分内部系统查询和应用程序查询

ASKTOM 2020-10-13
318

问题描述

嗨,团队,

首先,我要感谢您继续从您那里获得的所有巨大帮助,使我们成为一个更好,知识渊博的Oracle开发人员。
我有一个奇怪的问题与内部查询,Oracle触发和查询,我们,用户触发 (从应用程序,或sql开发人员,sql提示符)。

(环境: 甲骨文11g R2)

select sql_fulltext,sql_id,executions,service,parsing_schema_name,rows_processed,optimizer_cost from v$sql
where to_date(last_load_time,'yyyy-mm-dd/hh24:mi:ss')>=
to_date(to_char(sysdate,'yyyy-mm-dd'),'yyyy-mm-dd') and service='SYS$USERS' and parsing_schema_name <> 'SYS'
and rows_processed>0


以下是示例输出:

      select count(*) from all_objects where object_name = :NAME and owner = :OWNER gq4p31m39qpms 1 SYS$USERS HR 1 4
      select last_load_time,sql_fulltext,sql_id,loaded_versions,fetches,executions... 2hx8s4mqk6qfc 2 SYS$USERS HR 100 1
      begin  DBMS_UTILITY.NAME_RESOLVE (   name          => :NAME,    context........ ats0vqbmfytk8 1 SYS$USERS HR 1 0
      select * from v$sql                                                         gtzvs9utsg0qs 1 SYS$USERS HR 500 1
      SELECT dbms_transaction.local_transaction_id FROM dual                         gqj5gaygdbfs5 2 SYS$USERS SCOTT 2 2
      select * from employees                                                         f34thrbt8rjt5 3 SYS$USERS HR 150 3
      select owner,object_name from all_objects where object_type in ('TABLE',....... 3yqkryv9c3nhk 1 SYS$USERS HR 2 72


在这些中,只有用户从sql developer/sql prompt/应用程序中执行select * fine employees/Select * fine v $ sql/(上述查询)。其余全部被甲骨文内部解雇。

我的问题是,我如何才能找到这些查询,从sql developer/application/sql提示符中触发的查询。是否还有其他元数据视图/参数/列,我们可以将这些查询隔离为用户/应用程序触发的查询和Oracle内部触发的查询。

请在这方面提供帮助

专家解答

可能没有开发人员/dba编写这样的声明:

select count(*) from all_objects where object_name = :NAME and owner = :OWNER

begin  DBMS_UTILITY.NAME_RESOLVE (   name          => :NAME,    context........


但是它们很可能是从SQL Developer/SQL * Plus/etc中被解雇的。!

SQL Developer特别是有很多事情你可以做,将运行SQL查询,如:

-查看对象模式浏览器
-生成自动完成表/列名建议
-描述/信息表格
-等等。

例如,如果我运行:

desc t


在SQL Dev中,它运行上面的两个语句; 它们are来自应用程序。虽然你可能没有意识到!

这使得它们在v $ sql或类似物中查找时与用户键入的语句实际上无法区分。

所以这里的问题是: 你的目标是什么?你为什么在乎,你想找出什么?
文章转载自ASKTOM,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论