ORA-12986错误解决

2014-11-24 17:38:04 · 作者: · 浏览: 0

今天在删除一个大表的列,意外被DBA重启DB后,再执行查询时,就报了ORA-12986这个错误,先来一起了解下这个错误:


ORA-12986: columns in partially dropped state. Submit ALTER TABLE DROP COLUMNS CONTINUE


Cause: An attempt was made to access a table with columns in partially dropped state (i.e., drop column operation was interrupted).


Action: Submit ALTER TABLE DROP COLUMNS CONTINUE to complete the drop column operation before accessing the table.


可以看到导致这个错误的原因是因为你正在删除列,但是删除到一半时,进程被意外终止了,导致表处在部分删除状态,所以报了咋么个错误,你要做的就是继续删除,看下下面的例子:


1.将列置为unused


ALTER TABLE test1 SET UNUSED COLUMN Tablespace_name;


2.删除unused列


ALTER TABLE test1 DROP UNUSED COLUMN CHECKPOINT 5;


在未执行完毕前,用 shutdown abort强制关闭数据库(如果用shutdown immediate就看不到效果,它会等到执行完毕才会关闭数据库


3.重新启动数据库,查看test1表,报错


ORA-12986错误解决


4.继续删除未删完的列


ALTER TABLE test1 DROP COLUMNS continue


5.执行完毕后再次查询test1表,就OK了


相关阅读