Oracle 12C 新特性
Oracle 12C 新特性之一,可以在线重命名数据文件, 在12c版本之前,如果出现数据文件建立放错目录,或本来是放到asm中,由于漏写加号等等,而放到了文件系统中,而不得不申请停机时间来做数据文件的迁移。 到了12c,这个操作就变的非常简单了,而且是在线的,对业务没有任何影响,提高了系统的高可用性。
[oracle@db12c ~]$ sqlplus "/as sysdba"
SQL*Plus: Release 12.1.0.1.0 Production on Fri Dec 6 16:19:18 2013
Copyright (c) 1982, 2013, Oracle. All rights reserved.
Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options
SQL> select name from v$datafile;
NAME
--------------------------------------------------------------------------------
/oradata/orcl/system01.dbf
/oradata/orcl/pdbseed/system01.dbf
/oradata/orcl/sysaux01.dbf
/oradata/orcl/pdbseed/sysaux01.dbf
/oradata/orcl/undotbs01.dbf
/oradata/orcl/users01.dbf
/oradata/ORCL/datafile/pdb1/system01.dbf
/oradata/ORCL/datafile/pdb1/sysaux01.dbf
/oradata/ORCL/datafile/pdb1/users01.dbf
9 rows selected.
SQL>
把/oradata/orcl/users01.dbf重命名到'/oradata/ORCL/datafile/pdb1/users02.dbf';
SQL> alter database move datafile '/oradata/orcl/users01.dbf' to '/oradata/ORCL/datafile/pdb1/users02.dbf';
Database altered.
SQL> select name from v$datafile;
NAME
--------------------------------------------------------------------------------
/oradata/orcl/system01.dbf
/oradata/orcl/pdbseed/system01.dbf
/oradata/orcl/sysaux01.dbf
/oradata/orcl/pdbseed/sysaux01.dbf
/oradata/orcl/undotbs01.dbf
/oradata/ORCL/datafile/pdb1/users02.dbf
/oradata/ORCL/datafile/pdb1/system01.dbf
/oradata/ORCL/datafile/pdb1/sysaux01.dbf
/oradata/ORCL/datafile/pdb1/users01.dbf
9 rows selected.
SQL>
在数据库日志中也会有记录的
Fri Dec 06 16:21:30 2013
alter database move datafile '/oradata/orcl/users01.dbf' to '/oradata/ORCL/datafile/pdb1/users02.dbf'
Fri Dec 06 16:21:30 2013
Moving datafile /oradata/orcl/users01.dbf (6) to /oradata/ORCL/datafile/pdb1/users02.dbf
Move operation committed for file /oradata/ORCL/datafile/pdb1/users02.dbf
Completed: alter database move datafile '/oradata/orcl/users01.dbf' to '/oradata/ORCL/datafile/pdb1/users02.dbf'。
在oracle 11g中 这个命令是失效的
C:\Users\Administrator>sqlplus / as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on 星期五 12月 6 16:37:55 2013
Copyright (c) 1982, 2010, Oracle. All rights reserved.
连接到:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> select name from v$datafile;
NAME
--------------------------------------------------------------------------------
C:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSTEM01.DBF
C:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSAUX01.DBF
C:\APP\ADMINISTRATOR\ORADATA\ORCL\UNDOTBS01.DBF
C:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS01.DBF
C:\APP\ADMINISTRATOR\ORADATA\ORCL\MACLEAN01.DBF
SQL> alter database move datafile 'C:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS01.DBF
' to 'C:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS02.DBF';
alter database move datafile 'C:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS01.DBF' to
'C:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS02.DBF'
*
第 1 行出现错误:
ORA-00905: 缺失关键字
SQL>