在12c之前的版本迁移数据文件,要么要把表空间offline,要么就是把数据库重启到mount层面来处理,还是比较麻烦的。
最近exadata上面的一个数据磁盘组满了,一直在腾挪空间,小一点的表空间就直接导入导出的方式处理了,几个T的表空间处理起来就比较耗时,业务空窗期没那么长。
一直没有试过move datafile online的方式,今天拿了几个小表空间测了下,命令很简单:
alter database move datafile '+DATAC1/AA/abc.dbf' to '+RECO1/AA/abc.dbf';
该数据文件200g,命令耗时36分钟,速度还行,在可接受范围呢。
在MOS上搜了下相关知识:
意思在是表空间可被使用的情况下进行在线move,这个需要在实际环境中测试下,是否会产生锁表类的问题。
但显然易见的,这个新特性是相当不错的。