Oracle压缩表修改字段的处理方法

今天在修改表,往表里面添加了几个字段,一时疏忽将字段类型搞错了。

于是,试了以下几种方法

1、尝试用最传统的sql修改字段类型:

alter table table_name modify column_name column_type;

由于数据仓库中该表的数据特别大(一年的数据,每天有上千万条记录),sql语句执行了好几分钟,都没有出结果。网上搜索了一下modify column大数据会记录redo和undo。为了不对数据仓库造成影响,所以只好停掉该sql。

2、尝试删除字段,再重建,结果出现ORA-39726错误

最后网上找了一下,使用

ALTER TABLE test SET UNUSED COLUMN ROUTERADDR;

语句将字段设置成unused,最后再重新创建需要修改的表字段。


由于该方法只是将字段设置成unused,看不到字段,但是在数据字典中,该字段还是存在的。没有深入研究怎么删除oracle数据字典,如有朋友对这方面有研究,请指教。

猜你喜欢

转载自blog.csdn.net/IT_xhf/article/details/37564951