12c新特性 在线操作数据文件

我们都知道,oracle pre-12c之前,若是想要把一个数据文件改名或者迁移,

必须在归档模式下先把这个数据文件offline之后,

然后进行OS上的copy或者rename 操作,

最后在sqlplus里面进行alter database rename file x to Y;

如果不是archivelog模式在offline数据文件的时候就会遇到ORA-01145

SQL> alter database datafile 8 offline;
alter database datafile 8 offline
*
ERROR at line 1:
ORA-01145: offline immediate disallowed unless media recovery enabled

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

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

SQL> archive log list;
Database log mode        No Archive Mode   --<<<<<非归档
Automatic archival        Disabled
Archive destination        USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence     517
Current log sequence        519

SQL> ALTER DATABASE MOVE DATAFILE ‘/refresh/home/app/oracle/oradata/orcl/users01.dbf‘ to ‘/refresh/home/app/oracle/oradata/orcl/users02.dbf‘ ;

Database altered.

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

SQL> ALTER DATABASE MOVE DATAFILE ‘/refresh/home/app/oracle/oradata/orcl/users02.dbf‘ to ‘/refresh/home/app/oracle/oradata/orcl/users01.dbf‘ keep;  --<<keep 原有数据文件

Database altered.

SQL> host ls -l /refresh/home/app/oracle/oradata/orcl/user*
-rw-r----- 1 oracle oracle 352591872 Dec 17 07:19 /refresh/home/app/oracle/oradata/orcl/users01.dbf
-rw-r----- 1 oracle oracle 352591872 Dec 17 07:19 /refresh/home/app/oracle/oradata/orcl/users02.dbf

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

SQL> ALTER DATABASE MOVE DATAFILE ‘/refresh/home/app/oracle/oradata/orcl/users01.dbf‘ to ‘/refresh/home/app/oracle/oradata/orcl/users02.dbf‘  ;
ALTER DATABASE MOVE DATAFILE ‘/refresh/home/app/oracle/oradata/orcl/users01.dbf‘ to ‘/refresh/home/app/oracle/oradata/orcl/users02.dbf‘
*
ERROR at line 1:
ORA-01119: error in creating database file
‘/refresh/home/app/oracle/oradata/orcl/users02.dbf‘
ORA-27038: created file already exists
Additional information: 1

SQL> ALTER DATABASE MOVE DATAFILE ‘/refresh/home/app/oracle/oradata/orcl/users01.dbf‘ to ‘/refresh/home/app/oracle/oradata/orcl/users02.dbf‘ reuse  ;

Database altered.

SQL> host ls -l /refresh/home/app/oracle/oradata/orcl/user*
-rw-r----- 1 oracle oracle 352591872 Dec 17 07:23 /refresh/home/app/oracle/oradata/orcl/users02.dbf
没有使用keep ,user01.dbf已经删除了。

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

ALTER DATABASE MOVE DATAFILE ‘/u01/oracle/rbdb1/user1.dbf‘  TO ‘+DG1/data/orcl/datafile/user1.dbf‘;
ALTER DATABASE MOVE DATAFILE ‘+DG1/data/orcl/datafile/user1.dbf‘ TO ‘+DG2/data/orcl/datafile/user1.dbf‘;

原文地址:https://www.cnblogs.com/zylong-sys/p/12015940.html

时间: 2024-11-09 06:25:46

12c新特性 在线操作数据文件的相关文章

Oracle DB 12c新特性:raw device 裸设备不再受支持

Oracle DB 12c新特性:raw device 不再受支持. 参考自: Announcement of De-Support of using RAW devices in Oracle Database Version 12.1 (Doc ID 578455.1) 细节: De-Support of Raw 本文的目录是通知在oracle database 12.1版本中对raw device不再支持. 这意味着,若是使用oracle database 12.1版本,将不能把数据文件,

11g新特性与12c新特性

1. 11g新特性概图 管理新特性> 开发新特性> 2. 12c 新特性概图

Oracle WebLogic Server 12c 新特性

美国时间2011年 12月9日,Oracle公司正式发布WebLogic 12c版本,c是cloud的缩写.截止当前(2013年8月)最新版本为Oracle WebLogic Server 12c (12.1.2).12c 最大的功能改进是完全支持Java EE 6标准,此版本主要基于 JDK 6,但支持JDK 7.开发人员可以下载163MB的ZIP版本 Oracle WebLogic Server 12c 提供了对客户和合作伙伴的重大增强来降低其总体拥有成本并向现有应用架构提供更多价值,于此同

Oracle 12.2新特性----在线move表

Oracle12.2版本之前,对表做move操作时会对表加exclusive锁,表上无法执行DML操作.虽然move操作有ONLINE子句,但只适用于IOT表,不适用于堆表.这就意味着在对表做move操作时,无法执行任何DML操作,如果对关键表做move操作时只能停业务来完成.到了Oracle12.2版本,推出了一个新特性----在线move表,对于普通堆表可以在move过程中执行DML操作. 下面以11.2.0.4和12.2.0.1这两个版本为对比,观察这一新特性. 1.11.2.0.4版本的

Oracle 12C 新特性之扩展数据类型(extended data type)

Oracle 12C 新特性-扩展数据类型,在12c中,与早期版本相比,诸如VARCHAR2, NAVARCHAR2以及 RAW这些数据类型的大小会从4K以及2K字节扩展至32K字节.只要可能,扩展字符的大小会降低对LOB数据类型的使用.为了启用扩展字符大小,你必须将MAX_STRING_SIZE的初始数据库参数设置为EXTENDED. 实验流程:1.查看参数max_string_size默认值SQL> show parameter max_string_sizeNAME     TYPE VA

Oracle 12C 新特性之在线重命名、迁移活跃的数据文件

Oracle 数据库 12c 版本中对数据文件的迁移或重命名不再需要太多繁琐的步骤,可以使用 ALTER DATABASE MOVE DATAFILE 这样的 SQL 语句对数据文件进行在线重命名和移动.而当此数据文件正在传输时,终端用户可以执行查询,DML以及 DDL 方面的任务.另外,数据文件可以在存储设备间迁移,如从非 ASM 迁移至 ASM,反之亦然. 一. 重命名数据文件: -- 注意,我这里是在名为 PDB01 的 pdb 容器内演示的. SQL> show con_nameCON_

12C新特性 -- 共享asm口令文件

12C中,ASM口令文件,可以提供本地.远程登录asm的验证.当然,要想使用asm口令文件验证,必须为每个asm创建一个口令文件. 如果是使用asm存储,asmca在配置asm磁盘组的会后,会自动为asm创建口令文件,包含初始的用户sys和asmsnmp.要想增加其他用户,需要使用create user和授权. 如果不是使用asmca配置asm实例,必须手动创建一个口令文件,并授予sys用户sysasm特权. 集群中,可以共享口令文件.存放口令的asm磁盘,compatible.asm的值至少要

Oracle 12c新特性对于业务上的一些影响总结

1.不可见字段 在Oracle 11g R1中,Oracle以不可见索引和虚拟字段的形式引入了一些不错的增强特性.继承前者并发扬光大,Oracle 12c R1中引入了不可见字段思想.在之前的版本中,为了隐藏重要的数据字段以避免在通用查询中显示,我们往往会创建一个视图来隐藏所需信息或应用某些安全条件. 在12c R1中,你可以在表中创建不可见字段.当一个字段定义为不可见时,这一字段就不会出现在通用查询中,除非在SQL语句或条件中有显式的提及这一字段,或是在表定义中有DESCRIBED.要添加或是

Oracle Database 12c 新特性总结(一)

本系列文章是Oracle ACE总监Syed Jaffer Hussain对Oracle数据库12c的一些新特性总结,包括数据库管理.RMAN.高可用性以及性能调优等内容. 1. 在线重命名和重新定位活跃数据文件 不同于以往的版本,在Oracle数据库12c R1版本中对数据文件的迁移或重命名不再需要太多繁琐的步骤,即把表空间置为只读模式,接下来是对数据文件进行离线操作.在12c R1中,可以使用ALTER DATABASE MOVE DATAFILE这样的SQL语句对数据文件进行在线重命名和移