我正在尝试找出oracle表单调用的包/函数。 我有sysdba访问数据库。有没有一种简单的方法来确定这个?我知道一个非常粗略的方法(使用文件编写包将文本文件写入文件系统)但我确信必须有一些更容易监视SQL和被调用的东西?
我正在使用SQL Developer。
任何帮助表示赞赏!
答案 0 :(得分:0)
这是我自己的会话监控查询,请看一下:
SELECT SUBSTR(program, 1, 15), SUBSTR(event, 1, 21), DBMS_LOB.SUBSTR(WRH.sql_text, 100),
( TO_CHAR(FLOOR((SYSDATE - logon_time) * 24), 'FM000')
|| ':'
|| TO_CHAR(FLOOR(MOD((SYSDATE - logon_time) * 1440, 60)), 'FM00')
|| ':'
|| TO_CHAR(MOD((SYSDATE - logon_time) * 86400, 60), 'FM00'))
"Elapsed Time", --WRS.cpu_cost,WRS.operation,WRS.options,WRS.position,WRS.search_columns,WRS.cost,WRS.bytes,WRS.TIME,
schemaname, terminal, plsql_entry_object_id, osuser,
process, username, MODULE, ROW_WAIT_OBJ#, "ROW_WAIT_FILE#", "ROW_WAIT_BLOCK#", sid,
USER#, command, SCHEMA#, logon_time, blocking_session_status, "SEQ#", wait_class,
state, service_name
FROM V$SESSION SS, SYS.WRH$_SQLTEXT WRH --,SYS.WRH$_SQL_PLAN WRS
WHERE WRH.sql_id = SS.sql_id
--AND program LIKE 'f90runm@node%'
--AND username NOT IN ('SYS', 'SYSMAN')
ORDER BY program
使用DBMS_LOB.SUBSTR(WRH.sql_text,100)在当前活动中获得更好的结果。 我认为你最好使用Sql navigator或Toad,因为它们有很好的会话浏览器。