12C新特性之在线迁移活跃的数据文件验证:
[oracle@rhel6-12c ~]$ sqlplussystem/'Navinfo1!'@zaki1
Connected to:
Oracle Database 12c Enterprise EditionRelease 12.1.0.2.0 - 64bit Production
With the Partitioning, Oracle LabelSecurity, OLAP, Advanced Analytics
and Real Application Testing options
SQL> create tablespace gdb_data datafile'/oracle/db/oradata/orcl/zaki1/gdb_data02.dbf' size 10G autoextend off;
Tablespace created.
SQL> create user ptest1 identified byptest1 default tablespace gdb_data;
User created.
SQL> grant dba to ptest1;
Grant succeeded.
SQL> conn ptest1/ptest1@zaki1
Connected.
SQL> create table test1 as select * fromdba_objects;
Table created.
SQL> select count(*) from test1;
COUNT(*)
----------
90982
SQL> alter database move datafile'/oracle/db/oradata/orcl/zaki1/gdb_data02.dbf' to '/oracle/db/oradata/orcl/test/gdb_data02.dbf';
或者
alter database move datafile'/oracle/db/oradata/orcl/zaki1/gdb_data02.dbf' to '/oracle/db/oradata/orcl/test/gdb_data02.dbf' keep;(最后以KEEP结尾,该命令除了把指定的数据文件移动到新的位置外. 同时在原路径下保留其源文件拷贝.)
Database altered.
另外一个session可以对test1表做任何的操作而不受move的影响
SQL> select name from v$datafile;
NAME
--------------------------------------------------------------------------------
/oracle/db/oradata/orcl/undotbs01.dbf
/oracle/db/oradata/orcl/zaki1/system01.dbf
/oracle/db/oradata/orcl/zaki1/sysaux01.dbf
/oracle/db/oradata/orcl/zaki1/zaki1_users01.dbf
/oracle/db/oradata/orcl/test/gdb_data02.dbf
总结:
1、12C以前版本做数据文件移动的步骤:offline -移动-rename-online;12C的新特性直接使用ALTER DATABASE MOVE DATAFILE命令,不需要做任何offline或者数据库只能启动到mount的设置,直接移动,移动的同时数据库可以执行任何DDL\DML以及查询操作!
2、使用12C的ALTER DATABASE MOVE DATAFILE新特性,可以随时移动数据文件位置.不管是从ASM磁盘组移动到非ASM磁盘,还是从非ASM磁盘移动到ASM磁盘组.个人感觉这个功能