ITPub博客

首页 > 应用开发 > IT综合 > frm-40654问题解决汇总

frm-40654问题解决汇总

原创 IT综合 作者:kiswind 时间:2010-01-20 16:42:54 0 删除 编辑
frm-40654问题解决汇总

发现这样的问题有两种可能性:



1.表被锁定。
查看是否有被锁定请参考下文查询,并利用帖子中的SQL进行解锁。

如何解锁一个表-有SQL(可以用于解决错误:ORA-04021)

在erp中我们常常会遇到表锁定的问题,那么我们如何去查那些表被锁定了呢?一下是fifali提供的一个查找解锁表的SQL语句,在执行该SQL后你可以杀掉该表对应的DB_PID
进程。
杀进程的语句为:
alter system kill session 'session_id,serial#';
一下是SQL
  1. SELECT dob.OBJECT_NAME Table_Name,
  2. lo.LOCKED_MODE,
  3. lo.SESSION_ID,
  4. vss.SERIAL#,
  5. vps.spid,
  6. vss.action Action,
  7. vss.osuser OSUSER,
  8. vss.process AP_PID,
  9. VPS.SPID DB_PID,
  10. 'alter system kill session ' || '''' || lo.SESSION_ID || ',' ||vss.SERIAL# || ''';' kill_command
  11. from v$locked_object lo, dba_objects dob, v$session vss, V$PROCESS VPS
  12. where lo.OBJECT_ID = dob.OBJECT_ID
  13. and lo.SESSION_ID = vss.SID
  14. AND VSS.paddr = VPS.addr
  15. order by 2, 3, DOB.object_name;
复制代码
这是查找被锁包的SQL
  1. select B.SID,
  2. b.USERNAME,
  3. b.MACHINE,
  4. a.OBJECT,
  5. 'alter system kill session ' || '''' || b.SID || ',' || b.SERIAL# ||
  6. ''';' kill_command
  7. FROM V$ACCESS A, V$SESSION B
  8. WHERE A.SID = B.SID
  9. and upper(a.OBJECT) like '%CUX%'
  10. and a.TYPE = 'PACKAGE'

2.该表中有一个看不见的字符(空格结尾)
遇到该问题,请用数据库后台将空格去掉(首先尝试前台诊断是否可以修改)。
FA模块出现问题是fa_mass_additions t表内描述有多余字符
[@more@]

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/394664/viewspace-1030763/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-05-06

  • 博文量
    43
  • 访问量
    313128