2017-10-11 72 views
2

我有一个关于The Method R Guide to Mastering Oracle Trace Data第60页上的APEX跟踪部分的问题。掌握Oracle跟踪数据 - 页面60:APEX跟踪URL扩展

“目前许多优秀的数据窗口应用程序都是使用Oracle Application Express(APEX)开发的,在APEX中跟踪很容易,最简单的跟踪操作追踪单个页面执行非常简单:简单地追加&p_trace=YES到页面的URL。“

我不太喜欢APEX,但需要时常跟踪APEX应用程序(APEX 4.x)。不幸的是,即使我完成了本书中描述的完全相同的过程,它也从未解决过URL扩展问题。后来我发现,也许必须激活调试模式才能使其运行(幻灯片13:http://www.aioug.org/sangam12/Presentations/20157.pdf)。不过,我总是需要编辑APEX页眉和页脚页面以启用/禁用跟踪。

任何想法我在这里失踪?即使书中没有提到调试模式是否需要?

谢谢。

问候 斯特凡

P.S:除了也许你们也知道分机或巧妙的方式来实现对APEX页面DBMS_PROFILER以获得完整的层次结构(https://www.freelists.org/post/oracle-l/Oracle-APEX-4x-Looking-for-clever-ways-to-implement-DBMS-PROFILER)?

回答

1

附加调试模式信息出现在The Method R Guide to Mastering Oracle Trace Data, 2nd Edition打印中,修订日期为2016年8月4日或更晚。

以下回答来自我们的同事Doug Gault。

为了使&P_TRACE附加到URL,下面的事情必须是真实的:

  1. 跟踪必须在APEX实例级别启用。
  2. 必须在应用程序级别启用调试。

在早期版本的APEX中,启用调试不是跟踪的先决条件。这是在APEX 4生命周期的某个地方添加的,以防止有人编写脚本将其附加到每个呼叫并填充文件系统。

我知道在某些版本的4.X中,有些问题没有按预期工作。这些问题在4.2.5中得到了解决(我相信),并且应该从那一时刻开始提供并开展工作。

参数P_TRACE的一个鲜为人知的事实是,实际上有三个可用设置:YES,TRACEHPROF

前两个基本上做同样的事情 - 打开事件10046跟踪。但是,如果使用HPROF作为参数的值,APEX将使用分层分析器。

还有一个实例级参数HPROF_DIRECTORY,可以由DBA通过调用apex_instance_admin.set_parameter来设置。

+0

p_trace的HPROF值未记录,因此不受支持。据我所知,由于一些未解决的错误或不一致的行为,它不能公开。 – rag

+1

在“初始化PL/SQL代码”和“清除PL/SQL代码”块中的共享组件/安全属性/数据库会话下,可以找到启用/禁用跟踪或分析的APEX中的一个好地方。除此之外,APEX 5.2将带来一个新的API方法:APEX_SESSION.Set_Trace来激活远程用户会话的跟踪。 – rag