问题描述
嗨,团队,
首先,我要感谢您继续从您那里获得的所有巨大帮助,使我们成为一个更好,知识渊博的Oracle开发人员。
我有一个奇怪的问题与内部查询,Oracle触发和查询,我们,用户触发 (从应用程序,或sql开发人员,sql提示符)。
(环境: 甲骨文11g R2)
以下是示例输出:
在这些中,只有用户从sql developer/sql prompt/应用程序中执行select * fine employees/Select * fine v $ sql/(上述查询)。其余全部被甲骨文内部解雇。
我的问题是,我如何才能找到这些查询,从sql developer/application/sql提示符中触发的查询。是否还有其他元数据视图/参数/列,我们可以将这些查询隔离为用户/应用程序触发的查询和Oracle内部触发的查询。
请在这方面提供帮助
首先,我要感谢您继续从您那里获得的所有巨大帮助,使我们成为一个更好,知识渊博的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编写这样的声明:
但是它们很可能是从SQL Developer/SQL * Plus/etc中被解雇的。!
SQL Developer特别是有很多事情你可以做,将运行SQL查询,如:
-查看对象模式浏览器
-生成自动完成表/列名建议
-描述/信息表格
-等等。
例如,如果我运行:
在SQL Dev中,它运行上面的两个语句; 它们are来自应用程序。虽然你可能没有意识到!
这使得它们在v $ sql或类似物中查找时与用户键入的语句实际上无法区分。
所以这里的问题是: 你的目标是什么?你为什么在乎,你想找出什么?
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进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




