我有一个存储过程,包含一个单独的选择查询,用于根据对过程中的参数执行的一些次要数学插入到另一个表中.我可以通过某种方式引用过程来生成用于此查询的计划,还是必须复制并粘贴查询并为输入参数创建绑定变量?
使用SQL Trace和TKPROF.例如,打开SQL*Plus,然后发出以下代码: -
alter session set tracefile_identifier = 'something-unique' alter session set sql_trace = true; alter session set events '10046 trace name context forever, level 8'; select 'right-before-my-sp' from dual; exec your_stored_procedure alter session set sql_trace = false;
完成此操作后,请在数据库的UDUMP目录中查找文件名中包含"something-unique"的TRC文件.使用TKPROF格式化此TRC文件,然后打开格式化文件并搜索字符串"right-before-my-sp".存储过程发出的SQL命令应该在本节之后不久,并且紧接在该SQL语句下将是SQL语句的计划.
编辑:对于充分披露的目的,我要感谢所有那些谁给我的答案对这个线程上周,帮助我学习如何做到这一点.