ORACLE12C新特性之在线迁移活跃的数据文件
2015-12-04 10:21
465 查看
ORACLE12C新特性之在线迁移活跃的数据文件
前几天把oracle11g升级到12c时,没有选择移动数据库文件,导致数据库文件控制文件日志文件都还在oracle11g的目录,为了系统文件管理方便,需要移动到12c数据库的目录,刚好可以测试一下oracle12C的新特性-在线迁移活跃的数据文件!
相关文件检查:
在线移动数据文件:操作前请备份:
目标目录:
以前版本做数据文件移动的步骤:offline数据文件-移动-online
12C的新特性直接使用ALTER DATABASE MOVE DATAFILE命令,不需要做任何offline或者数据库只能启动到mount的设置,直接移动,移动的同时数据库可以执行任何DDL\DML以及查询操作!
数据库告警日志:
继续移动其他,为了方便,可以把移动的语句写成脚本,,这里为了测试,就一个个测试了,需要的可以测试一下脚本的情况!
数据文件已经全部移动到行的位置,告警日志就不帖了.上面移动的命令仔细看是有区别的.下面具体说说他们的区别:
使用12C的ALTER DATABASE MOVE DATAFILE新特性,可以随时移动数据文件位置.不管是从ASM磁盘组移动到非ASM磁盘,还是从非ASM磁盘移动到ASM磁盘组.个人感觉这个功能非常实用,再也不会因为移动数据文件导致数据文件损坏或者数据库启动不了的情况了!至于ASM磁盘组的移动,这里没有ASM环境,就不测试了,有兴趣的可以测试测试!
转载--http://www.oracle600.com/movedatafile.html
前几天把oracle11g升级到12c时,没有选择移动数据库文件,导致数据库文件控制文件日志文件都还在oracle11g的目录,为了系统文件管理方便,需要移动到12c数据库的目录,刚好可以测试一下oracle12C的新特性-在线迁移活跃的数据文件!
相关文件检查:
SQL> select * from v$version; BANNER CON_ID ------------------------------------------------------------ ---------- Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - 0 64bit Production PL/SQL Release 12.1.0.1.0 - Production 0 CORE 12.1.0.1.0 Production 0 TNS for Linux: Version 12.1.0.1.0 - Production 0 NLSRTL Version 12.1.0.1.0 - Production 0 SQL> select name from v$datafile; NAME -------------------------------------------------------------------------------- /u01/app/oracle/oradata/orcl/system01.dbf /u01/app/oracle/oradata/orcl/sysaux01.dbf /u01/app/oracle/oradata/orcl/undotbs01.dbf /u01/app/oracle/oradata/orcl/users01.dbf SQL> select member from v$logfile; MEMBER -------------------------------------------------------------------------------- /u01/app/oracle/oradata/orcl/redo03.log /u01/app/oracle/oradata/orcl/redo02.log /u01/app/oracle/oradata/orcl/redo01.log SQL> select name from v$controlfile; NAME -------------------------------------------------------------------------------- /u01/app/oracle/oradata/orcl/control01.ctl /u01/app/oracle/fast_recovery_area/orcl/control02.ctl SQL> select name from v$tempfile; NAME --------------------------------------------- /u01/app/oracle/oradata/orcl/temp01.dbf
在线移动数据文件:操作前请备份:
目标目录:
/u02/app/oradata/orcl
以前版本做数据文件移动的步骤:offline数据文件-移动-online
12C的新特性直接使用ALTER DATABASE MOVE DATAFILE命令,不需要做任何offline或者数据库只能启动到mount的设置,直接移动,移动的同时数据库可以执行任何DDL\DML以及查询操作!
SQL> select name from v$datafile; NAME --------------------------------------------- /u01/app/oracle/oradata/orcl/system01.dbf /u01/app/oracle/oradata/orcl/sysaux01.dbf /u01/app/oracle/oradata/orcl/undotbs01.dbf /u01/app/oracle/oradata/orcl/users01.dbf SQL> ALTER DATABASE MOVE DATAFILE '/u01/app/oracle/oradata/orcl/system01.dbf' to '/u02/app/oradata/orcl/system01.dbf' KEEP; Database altered. SQL> select name from v$datafile; NAME --------------------------------------------- /u02/app/oradata/orcl/system01.dbf /u01/app/oracle/oradata/orcl/sysaux01.dbf /u01/app/oracle/oradata/orcl/undotbs01.dbf /u01/app/oracle/oradata/orcl/users01.dbf
数据库告警日志:
ALTER DATABASE MOVE DATAFILE '/u01/app/oracle/oradata/orcl/system01.dbf' to '/u02/app/oradata/orcl/system01.dbf' KEEP Mon Sep 30 11:45:48 2013 Moving datafile /u01/app/oracle/oradata/orcl/system01.dbf (1) to /u02/app/oradata/orcl/system01.dbf Mon Sep 30 11:47:16 2013 Move operation committed for file /u02/app/oradata/orcl/system01.dbf Completed: ALTER DATABASE MOVE DATAFILE '/u01/app/oracle/oradata/orcl/system01.dbf' to '/u02/app/oradata/orcl/system01.dbf' KEEP
继续移动其他,为了方便,可以把移动的语句写成脚本,,这里为了测试,就一个个测试了,需要的可以测试一下脚本的情况!
SQL> ALTER DATABASE MOVE DATAFILE '/u01/app/oracle/oradata/orcl/sysaux01.dbf' to '/u02/app/oradata/orcl/sysaux01.dbf'; Database altered. SQL> ALTER DATABASE MOVE DATAFILE '/u01/app/oracle/oradata/orcl/undotbs01.dbf' to '/u02/app/oradata/orcl/undotbs01.dbf'; Database altered. SQL> ALTER DATABASE MOVE DATAFILE '/u01/app/oracle/oradata/orcl/users01.dbf' to '/u02/app/oradata/orcl/users1.dbf'; Database altered. SQL> select name from v$datafile; NAME --------------------------------------------- /u02/app/oradata/orcl/system01.dbf /u02/app/oradata/orcl/sysaux01.dbf /u02/app/oradata/orcl/undotbs01.dbf /u02/app/oradata/orcl/users1.dbf
数据文件已经全部移动到行的位置,告警日志就不帖了.上面移动的命令仔细看是有区别的.下面具体说说他们的区别:
SQL> ALTER DATABASE MOVE DATAFILE '/u01/app/oracle/oradata/orcl/system01.dbf' to '/u02/app/oradata/orcl/system01.dbf' KEEP; 最后以KEEP结尾,该命令除了把指定的数据文件移动到新的位置外. 同时在原路径下保留其源文件拷贝.
SQL> ALTER DATABASE MOVE DATAFILE '/u01/app/oracle/oradata/orcl/sysaux01.dbf' to '/u02/app/oradata/orcl/sysaux01.dbf'; 该命令直接移动指定数据文件到新目录,不保存源数据文件拷贝.
SQL> ALTER DATABASE MOVE DATAFILE '/u01/app/oracle/oradata/orcl/users01.dbf' to '/u02/app/oradata/orcl/users1.dbf'; 该命令移动指定数据文件到新目录,并且改名!如果目录下有同名文件,会直接覆盖!
使用12C的ALTER DATABASE MOVE DATAFILE新特性,可以随时移动数据文件位置.不管是从ASM磁盘组移动到非ASM磁盘,还是从非ASM磁盘移动到ASM磁盘组.个人感觉这个功能非常实用,再也不会因为移动数据文件导致数据文件损坏或者数据库启动不了的情况了!至于ASM磁盘组的移动,这里没有ASM环境,就不测试了,有兴趣的可以测试测试!
转载--http://www.oracle600.com/movedatafile.html
相关文章推荐
- Oracle redo与undo浅析
- 在Oracle中使用rank()over()排名的问题
- oracle中的null处理的简单理解
- oracle中connect by prior用法,实战解决日期分解问题
- oracle客户端NLS_LANG的设置
- ORACLE如何使用DBLINK连接另一个数据库[整理]
- Java开发Oracle数据库连接JDBC Thin Driver 的三种方法
- oracle函数trunc的使用
- oracle表分区详解
- Oracle复杂查询21道题精析
- 发生了一个Oracle错误,但无法从Oracle中检索错误信息的处理
- Oracle 12c 日常维护
- 数据库oracle for update of和for update区别
- Oracle Linux 7.2 安装
- Oracle Listener 动态注册 与 静态注册
- mybatis批量插入
- ORACLE11G中PLSQL中文显示乱码、Linux下sqlplus查询中文乱码
- SUSE11_64位下安装Oracle11gR2
- oracle11g dataguard主库备份恢复到测试环境单库报错:ORA-19502: write error on file
- 从源码安装使用Oracle数据库的Zabbix_server