关闭功能顾问的那些诊断模式

Posted on May 28, 2010

相对于SAP而言,Oracle ERP的另一个显著特征或许就是大量的BUG和补丁吧,也或许正因为如此,Oracle ERP中的故障诊断越来越便捷,方式也越来越,有Server级的诊断(如Form Server),有DB级的诊断,也有功能级的诊断(输出程序步骤和关键业务数据)。对于Form/Report Server之类的故障诊断,通常有专门的技术顾问负责,多数情况下,功能顾问在Oracle Support的建议下也会进行各种形式的、针对各个模块和功能的诊断,有的记录在表里,有的形成日志文件,也有的直接显示在页面上。对于不影响用户操作的诊断,事后很容易就忘记了关闭,于是大量的五花八门的被遗弃的debug和trace偷偷占用着宝贵的系统资源。

通常,功能顾问们涉及的诊断功能可直接通过配置文件启用,主要有下面这些:

  • FND:启用调试日志 启用日志。如果为否 (‘N’),则运行时不会进行记录和发出预警。
  • OE:调试 选择“是”以激活 Oracle 订单分录管理系统表单用户退出和并发程序中的调试信息
  • OE:调试跟踪 选择“是”以激活 oracle 订单分录管理系统并发程序的跟踪输出
  • OSO:启用调试消息 用于显示/隐藏调试消息的 Sales Online 配置文件
  • PA:调试模式 指明是否按调试模式运行项目会计管理系统报表和流程;在调试模式下运行时,线索会被打开,附加信息会打印至日志文件
  • PO:将调试工作流设置为“打开” 启用/禁用 PO 工作流调试模式
  • PO:启用对接收处理程序的 SQL 跟踪 启用数据库 SQL 跟踪,以便调试接收事务处理程序。
  • RCV:调试模式 如果将此模式设置为“是”,则将在日志文件中打印消息。
  • 初始化 SQL 语句 – 自定义 初始化会话的自定义 SQL 语句

其中“初始化 SQL 语句 – 自定义”比较特殊,可以自行设置event。它的格式如:

BEGIN fnd_ctl.fnd_sess_ctl('','','','TRUE','','ALTER SESSION SET TRACEFILE_IDENTIFIER=' || '''' ||'4269824.999' || '''' || ' EVENTS =' || '''' ||' 10046 TRACE NAME CONTEXT FOREVER, LEVEL 12 ' || '''');END;

其实就相当于每次开启会话时自动执行了类似如下的命令:

alter session set events='10046 trace name context forever, level 12' ;

用下面的SQL可以查询到各个级别的配置文件设置情况:

SELECT n.user_profile_option_name NAME,
       to_char(v.last_update_date, 'yyyy-mm-dd') "Last Updated",
       decode(v.level_id,
              10001,
              'Site',
              10002,
              'Application',
              10003,
              'Responsibility',
              10004,
              'User',
              10005,
              'Server',
              10007,
              'SERVRESP',
              'UnDef') level_set,
       decode(to_char(v.level_id),
              '10001',
              '',
              '10002',
              app.application_short_name,
              '10003',
              rsp.responsibility_key,
              '10005',
              svr.node_name,
              '10006',
              org.name,
              '10004',
              usr.user_name,
              '10007',
              'Serv/resp',
              'UnDef') "CONTEXT",
       v.profile_option_value VALUE
  FROM fnd_profile_options       p,
       fnd_profile_option_values v,
       fnd_profile_options_vl    n,
       fnd_user                  usr,
       fnd_application           app,
       fnd_responsibility        rsp,
       fnd_nodes                 svr,
       hr_operating_units        org
 WHERE p.profile_option_id = v.profile_option_id(+)
   AND p.profile_option_name = n.profile_option_name
   AND usr.user_id(+) = v.level_value
   AND v.level_id = 10004 -- User
   AND rsp.application_id(+) = v.level_value_application_id
   AND rsp.responsibility_id(+) = v.level_value
   AND app.application_id(+) = v.level_value
   AND svr.node_id(+) = v.level_value
   AND org.organization_id(+) = v.level_value
 ORDER BY n.user_profile_option_name,
          level_set;

对于懒人们,不妨做成自动预警,每周末检查一次就可以了。

Related Posts

  1. 自助个人主页模式已经停止支持

» Filed Under E-Business Suite Print This Post Print This Post

Comments

Leave a Reply