客户反应一个库上的import操作很慢,生成了当时时间段的awr报告,发现top事件中出现:statement suspended, wait error to be cleared
这个等待事件倒是第一次看到,单从语句方面进行理解:语句站厅,等待错误被处理。
于是让客户查看alert日志,查看是否有报错信息,
果然alert日志里面出现如下信息:
ORA-01652: unable to extend temp segment by 128
in tablespace SYSTEM
原来是SYSTEM表空间空间不足了,当时就产生了一个疑问,因为这个导入操作只是导入一张业务表,应该感觉用不到system表空间。
然后想起上次一个故障排查,记得oracle在做export/import的时候,会在执行export/import操作的用户下创建一张类似这样的表SYS_EXPORT_TABLE_02,并朝表中记录信息,大概会有十几兆的大小。
这样就比较清楚了,客户的import操作采用的是system用户,该此时system表空间很小,再在其中生成一个SYS_IMPORT_TABLE_02这样的表,导致alert里面报system表空间扩展失败的错误,这时候便使得import操作处于hang状态,直到system表空间空间问题被解决方能继续执行。
解决方法很简单,给system表空间增加空间即可。
本文介绍了一次Oracle数据库导入操作因SYSTEM表空间空间不足而挂起的问题。通过查看AWR报告和alert日志,发现系统报ORA-01652错误。进一步分析得知,在使用system用户执行import操作时,会尝试在SYSTEM表空间创建临时表,从而引发空间不足问题。
279

被折叠的 条评论
为什么被折叠?



