不同于以往的版本,在Oracle数据库12c R1版本中对数据文件的迁移或重命名不再需要太多繁琐的步骤,即把表空间置为只读模式,接下来是对数据文件进行离线操作。
在12c R1中,可以使用ALTER DATABASE MOVE DATAFILE这样的SQL语句对数据文件进行在线重命名和移动。而当此数据文件正在传输时,终端用户可以执行查询,DML以及DDL方面的任务。另外,数据文件可以在存储设备间迁移,如从非ASM迁移至ASM,反之亦然。
重命名数据文件:
SQL> ALTER DATABASE MOVE DATAFILE '/data/ultradb01.dbf' TO '/data/ultradb02.dbf'; |
从非ASM迁移数据文件至ASM:
SQL> ALTER DATABASE MOVE DATAFILE '/data/ultradb01.dbf' TO '+DATA_DG'; |
将数据文件从一个ASM磁盘群组迁移至另一个ASM磁盘群组:
SQL> ALTER DATABASE MOVE DATAFILE '+DG_DATA/DBNAME/DATAFILE/ultradb01.dbf ' TO '+DG_DATA_02'; |