今天在修改表,往表里面添加了几个字段,一时疏忽将字段类型搞错了。
于是,试了以下几种方法
1、尝试用最传统的sql修改字段类型:
alter table table_name modify column_name column_type;
由于数据仓库中该表的数据特别大(一年的数据,每天有上千万条记录),sql语句执行了好几分钟,都没有出结果。网上搜索了一下modify column大数据会记录redo和undo。为了不对数据仓库造成影响,所以只好停掉该sql。
2、尝试删除字段,再重建,结果出现ORA-39726错误
最后网上找了一下,使用
语句将字段设置成unused,最后再重新创建需要修改的表字段。
由于该方法只是将字段设置成unused,看不到字段,但是在数据字典中,该字段还是存在的。没有深入研究怎么删除oracle数据字典,如有朋友对这方面有研究,请指教。