DELETE操作出现:ORA-30036: 无法按 1024 扩展段 (在撤消表空间 'UNDOTBS_1' 中)
在测试过程中需要清空数据库中的几张表,在PL/SQL客户端中使用DELETE语句,然而出现了如下错误:
ORA-30036: 无法按 1024 扩展段 (在撤消表空间 'UNDOTBS_1' 中)
,出现这个错误的原因是DELETE操作会将删除的数据暂存在一个UNDOTBS文件中,便于事务的回滚,然而对于数据量特别大的表,例如百万以上的数据表,DELETE操作产生的临时数据会占满UNDOTBS文件,所以会出现这个错误提示,根据网上的解决方案,一种是增加UNDOTBS文件的大小,而我的这个问题可以更简单一点,不要使用DELETE语句,而是使用TRUNCATE语句,两者的区别是:TRUNCATE操作属于DDL,因此不会产生回滚的临时数据,可以即刻生效,缺点是数据一旦删除就无法恢复了。