Oracle 12c在线操作数据文件

作者简介:卢鹏,现任职于海天起点,从事国家电网数据库相关维护工作,曾就职于中国移动,从事数据模型数据治理等工作。擅长oracle数据库性能优化,数据治理,数据标准等。

我们都知道,oracle pre-12c之前,若是想要把一个数据文件改名或者迁移,必须在归档模式下先把这个数据文件offline之后,然后进行OS上的copy或者rename 操作,最后在sqlplus里面进行alter database rename file x to Y;如果不是archivelog模式在offline数据文件的时候就会遇到ORA-01145。或者利用逻辑迁移恢复。两种方式均较为麻烦。

12c oracle 增强了这个功能,我们可以在线进行数据文件的改名和迁移,而无需offline 数据文件,甚至都可以不打开归档的情况下进行操作,这无疑oracle在非停机运维的能力上又增强了。

下面是改名的一个操作输出,当然移动路径也可以用这个办法:

上述执行成功后,原有数据文件就直接被清理了,如果你想保留原有的数据文件,可以指定Keep 关键字来实现,注意此参数不适用原数据文件采用OFM的场景。

可以看到原有数据文件并没有删除,若是目标文件已经存在,可以通过reuse 参数来覆盖,下面是没加reuse和使用reuse之后的输出

没有使用keep ,user01.dbf已经删除了。

当然上述操作都是支持ASM的,参考语句如下:

 

 

未经允许不得转载:Oracle一体机用户组 » Oracle 12c在线操作数据文件

相关推荐