我们都知道,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';

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

  1. Oracle 12c新特性

    转载自:Oracle 12c新特性(For DBA) 一: Multitenant Architecture (12.1.0.1)      多租户架构是Oracle 12c(12.1)的新增重磅特性 ...

  2. Maclean Liu对Oracle Database 12c新特性研究汇总

    Maclean Liu关于DB 12c新特性的研究文章如下: [Oracle Database 12c新特性] In-Database Archiving数据库内归档 [Oracle Database ...

  3. 11g新特性与12c新特性

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

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

    Oracle 12C 新特性-扩展数据类型,在12c中,与早期版本相比,诸如VARCHAR2, NAVARCHAR2以及 RAW这些数据类型的大小会从4K以及2K字节扩展至32K字节.只要可能,扩展字 ...

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

    Oracle 数据库 12c 版本中对数据文件的迁移或重命名不再需要太多繁琐的步骤,可以使用 ALTER DATABASE MOVE DATAFILE 这样的 SQL 语句对数据文件进行在线重命名和移 ...

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

    12C中,ASM口令文件,可以提供本地.远程登录asm的验证.当然,要想使用asm口令文件验证,必须为每个asm创建一个口令文件. 如果是使用asm存储,asmca在配置asm磁盘组的会后,会自动为a ...

  7. Oracle Database 12c 新特性 - Pluggable Database

    在Oracle Database 12c中,可组装式数据库 - Pluggable Database为云计算而生.在12c以前,Oracle数据库是通过Schema来进行用户模式隔离的,现在,可组装式 ...

  8. [翻译] Oracle Database 12c 新特性Multitenant

    译自官方白皮书http://www.oracle.com/technetwork/database/plug-into-cloud-wp-12c-1896100.pdf,包含新的云计算相关技术的介绍. ...

  9. GoldenGate 12c 新特性 Credential Store and USERIDALIAS

    GoldenGate 12C的Credential Store and USERIDALIAS新特性有点类似存储钱夹,提高了配置的易用性和安全性. --生成credentialstore文件 GGSC ...

随机推荐

  1. HTML5基础 实例

    <!DOCTYPE html><html> <head> <title>李清照简介</title> </head> <bo ...

  2. I/O中断原理

    目录 I/O中断原理 前言 什么是中断 中断类型 硬件中断 软件中断 I/O中断流程 无中断 有中断 中断处理 相关文献 I/O中断原理 前言 在Windows内核原理-同步IO与异步IO和<高 ...

  3. ELK filebeat的安装

    安装参考官方文档: https://www.elastic.co/guide/en/beats/filebeat/current/filebeat-installation.html 注意事项: Fr ...

  4. HDU1944 S-NIM(多个NIM博弈)

    Arthur and his sister Caroll have been playing a game called Nim for some time now. Nim is played as ...

  5. 几个非常适合练手的python爬虫项目,总有一个能搞定!

    前言本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理.作者:Python玩家 注意:如果你平时学Python有问题找不到人解答,可以 ...

  6. 经典常用SQL语句大全

    创建表 --删除表 --DROP TABLE [dbo].[Test] --创建表 CREATE TABLE [dbo].[Test] ( ,) PRIMARY KEY, ----自增主键 ) NUL ...

  7. redis(4)--redis集群之主从复制

    集群 先来简单了解下redis中提供的集群策略, 虽然redis有持久化功能能够保障redis服务器宕机也能恢复并且只有少量的数据损失,但是由于所有数据在一台服务器上,如果这台服务器出现硬盘故障,那就 ...

  8. 第一个boot项目

    一.打开网址https://start.spring.io/ 进去springboot官网,根据自己实际情况选择所需组件,点击生成. 二.导入maven项目,但是pom.xml报Line1未知错误,检 ...

  9. JAVA使用SnakeYAML解析与序列化YAML

    1.概述 本文,我们将学习如何使用SnakeYAML库将 YAML文档转换为Java对象,以及JAVA对象如何序列化为YAML文档. 2.项目设置 要在项目中使用SnakeYAML,需要添加Maven ...

  10. CCF-CSP题解 201509-4 高速公路

    有点忧愁.\(CSP\)也考\(Tarjan\)缩点的嘛. 原理咱也不明白,咱也不敢学,找到模板就是抄. #include<bits/stdc++.h> const int maxn = ...