所有由小潘发布的文章

喜欢分享的小潘.

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';
 

 

外部审计数据提取命令

SELECT FFV1.DESCRIPTION 机构名称,
       GCC.SEGMENT3 "科目代码",
       FFV3.DESCRIPTION 科目名称,
       FU.USER_NAME 凭证录入人,
       GJS.USER_JE_SOURCE_NAME 日记账来源,
       GJC.USER_JE_CATEGORY_NAME 日记账类别,
       GJH.PERIOD_NAME 会计期间,
       GJH.POSTED_DATE 过账日期,
       GJH.EXTERNAL_REFERENCE 凭证号码,
       GJL.DESCRIPTION 摘要,
       GJL.ENTERED_DR 借方,
       GJL.ENTERED_CR 贷方,
       '' 方向,
       '' 余额,
       '' 外币代码,
       '' 外币借方,
       '' 外币贷方

  FROM GL_JE_HEADERS        GJH,
       GL_JE_LINES          GJL,
       GL_CODE_COMBINATIONS GCC,
       GL_JE_CATEGORIES     GJC,
       GL_JE_SOURCES        GJS,
       FND_USER             FU,
       FND_FLEX_VALUE_SETS  FFVS1,
       FND_FLEX_VALUES_VL   FFV1,
       FND_FLEX_VALUE_SETS  FFVS3,
       FND_FLEX_VALUES_VL   FFV3
 WHERE GJH.JE_HEADER_ID = GJL.JE_HEADER_ID
   AND GJS.JE_SOURCE_NAME = GJH.JE_SOURCE
   AND GJC.JE_CATEGORY_NAME = GJH.JE_CATEGORY
   AND GJL.CODE_COMBINATION_ID = GCC.CODE_COMBINATION_ID
   AND GJH.CREATED_BY = FU.USER_ID(+)
   AND GCC.SEGMENT1 = FFV1.FLEX_VALUE
   AND FFVS1.FLEX_VALUE_SET_ID = FFV1.FLEX_VALUE_SET_ID
   AND FFVS1.FLEX_VALUE_SET_NAME = 'XXXX_COMPANY' –第一段,根据自己环境确定
   AND GCC.SEGMENT3 = FFV3.FLEX_VALUE
   AND FFVS3.FLEX_VALUE_SET_ID = FFV3.FLEX_VALUE_SET_ID
   AND FFVS3.FLEX_VALUE_SET_NAME = 'XXXX_ACCOUNT' –第三段,根据自己环境确定
   AND GJH.STATUS = 'P'
   AND GJH.ACTUAL_FLAG = 'A'
 ORDER BY GCC.SEGMENT1, GJH.PERIOD_NAME;