分类目录归档:EBS日常运维问题

oracle ebs 解锁命令

以下是ebs解锁及相关辅助信息:

select (select ppf.full_name
          from per_people_f ppf, per_assignments_f paf, fnd_user fu
         where 1 = 1
           and ppf.person_id = paf.person_id
           and fu.employee_id = ppf.person_id
           and fu.user_name = vss.client_identifier
           and sysdate between ppf.effective_start_date and
               ppf.effective_end_date
           and sysdate between paf.effective_start_date and
               paf.effective_end_date
           and (fu.end_date is null or fu.end_date > sysdate)) user_name,
       (select fr.responsibility_name
          from fnd_responsibility_vl fr
         where fr.responsibility_key =
               (select substr(vss.action, instr(vss.action, '/') + 1)
                  from dual)) resp_name,
       (select fa.application_name
          from fnd_application_vl fa
         where fa.application_short_name =
               (select substr(vss.action, 1, instr(vss.action, '/')-1)
                  from dual)) prod_name,
       (select ff.user_form_name
          from fnd_form_vl ff
         where ff.form_name =
               (select substr(vss.module, instr(vss.module, ':', 1, 3) + 1)
                  from dual)) form_name,
       (select ff.description
          from fnd_form_vl ff
         where ff.form_name =
               (select substr(vss.module, instr(vss.module, ':', 1, 3) + 1)
                  from dual)) form_desc,
       dob.object_name table_name,
       vss.action action,
       vss.client_identifier user_code,
       vss.module,
       vss.machine,
       'alter system kill session ' || '''' || lo.session_id || ',' ||
       vss.serial# || ''';' kill_command,
       vss.osuser osuser,
       vss.process ap_pid,
       vps.spid db_pid,
       lo.locked_mode,
       lo.session_id,
       vss.serial#,
       vps.spid
  from v$locked_object lo, dba_objects dob, v$session vss, v$process vps
 where lo.object_id = dob.object_id
   and lo.session_id = vss.sid
   and vss.paddr = vps.addr
 order by resp_name asc, dob.object_name;

Oracle EBS如何开启(关闭)关于此页和个性化页

      Oracle EBS系统有时候需要对web界面做个性化开发或者追踪问题,因此需要对系统启用"关于此页"和"个性化页",系统默认不开启此功能,需要我们自己去开启,开启方式如下所示:
    用管理员权限修改的两个配置文件参数
          FND:诊断,将地点层由否改为是
          个性化自助定义,将地点层由否改为是
    参数说明:
         FND:诊断:用于设置是否在登录页面显示“关于此页”;
         个性化自助定义:用户设置在登录后,web页面是否显示“个性化页”; 
    但如果要隐藏隐藏“关于此页”,需同时关闭上面两个配置文件。 
       修改前:
           登录首页左下角有“关于此页”字样,登录后右上角有“个性化页”字样; 
       修改后:
           登录首页左下角无“关于此页”字样,登录后右上角无“个性化页”字样。

EBS web页面Internal Server Error错误

    今天财务人员在系统内做批量付款的时候,点击最终完成应用付款的时候,系统一直处于运行状态,但却一直无法完成付款,过几分钟后,直接跳转至如下图所示的界面:

error

这是第三次出现这样类似的问题,从遇到的情况主要可能有如下两点原因:

1. 表空间不足,特别是临时表空间不足(第一次出现是因为此问题造成)

   解决方法:增加表空间,通过脚本查询出需要增加的表空间,增加即可(一般须有DBA执行增加表空间操作),命令如下所示:

select upper(f.tablespace_name) "表空间名",
       d.tot_grootte_mb "表空间大小(M)",
       d.tot_grootte_mb – f.total_bytes "已使用空间(M)",
       to_char(round((d.tot_grootte_mb – f.total_bytes) / d.tot_grootte_mb * 100,
                     2),
               '990.99') || '%' "使用比",
       f.total_bytes "空闲空间(M)",
       f.max_bytes "最大块(M)"
  from (select tablespace_name,
               round(sum(bytes) / (1024 * 1024), 2) total_bytes,
               round(max(bytes) / (1024 * 1024), 2) max_bytes
          from sys.dba_free_space
         group by tablespace_name) f,
       (select dd.tablespace_name,
               round(sum(dd.bytes) / (1024 * 1024), 2) tot_grootte_mb
          from sys.dba_data_files dd
         group by dd.tablespace_name) d
 where d.tablespace_name = f.tablespace_name
 order by 1;

2. 锁表,与付款相关的表被锁住(其中两次是此问题造成)

   解决方法:通过如下命令查出被锁住的表,最后一个字段即是解锁命令,在COMMAND命令行执行即可,特别是locked_mode为‘6’的在很大程度上是不应该存在的,具体原因请自行网络上搜索。

select dob.object_name table_name,
       lo.locked_mode,
       lo.session_id,
       vss.serial#,
       vps.spid,
       vss.action action,
       vss.osuser osuser,
       vss.process ap_pid,
       vps.spid db_pid,
       'alter system kill session ' || '''' || lo.session_id || ',' ||
       vss.serial# || ''';' kill_command
  from v$locked_object lo, dba_objects dob, v$session vss, v$process vps
 where lo.object_id = dob.object_id
   and lo.session_id = vss.sid
   and vss.paddr = vps.addr
 order by 2, 3, dob.object_name;

lock

最终执行命令如下所示示例:

alter system kill session '38,19020';
alter system kill session '278,3533';
alter system kill session '293,3774';
alter system kill session '1016,64895';
alter system kill session '1054,9699';
alter system kill session '1780,20723';