Aaron Digulla Asked: 2009-08-20 01:55:28 +0800 CST2009-08-20 01:55:28 +0800 CST 2009-08-20 01:55:28 +0800 CST Oracle:TRUNCATE 有时需要很长时间 772 通常,截断表格需要 5-10 秒。但是当几个人在同一个数据库实例(但不同的表)上工作时,操作可能需要一个多小时。我该如何调试? performance oracle 2 个回答 Voted Best Answer ConcernedOfTunbridgeWells 2009-08-20T05:17:30+08:002009-08-20T05:17:30+08:00 'truncate table' 命令使用的表或数据字典资源上的锁定可能会导致此问题。在执行截断之前,系统可能正在等待资源被释放。 检查会话是否被阻塞等待释放锁。 查看orafaq.com/node/854或dba-oracle.com/t_locked_rows_user_locks.htm中描述的查询,找出可能阻塞的锁。 Evan G. 2016-06-03T06:35:47+08:002016-06-03T06:35:47+08:00 使用 SAN 存储时,filesystemio_options应检查参数设置。将参数设置为SETALL或ASYNCH缓解截断执行期间的日志文件同步等待。 在繁忙的系统上,还建议运行额外的数据库写入器。
'truncate table' 命令使用的表或数据字典资源上的锁定可能会导致此问题。在执行截断之前,系统可能正在等待资源被释放。
检查会话是否被阻塞等待释放锁。
查看orafaq.com/node/854或dba-oracle.com/t_locked_rows_user_locks.htm中描述的查询,找出可能阻塞的锁。
使用 SAN 存储时,
filesystemio_options
应检查参数设置。将参数设置为SETALL
或ASYNCH
缓解截断执行期间的日志文件同步等待。在繁忙的系统上,还建议运行额外的数据库写入器。