Oracle 12C 新特性之在线重命名、迁移活跃的数据文件
Oracle 数据库 12c 版本中对数据文件的迁移或重命名不再需要太多繁琐的步骤,可以使用 ALTER DATABASE MOVE DATAFILE 这样的 SQL 语句对数据文件进行在线重命名和移动。而当此数据文件正在传输时,终端用户可以执行查询,DML以及 DDL 方面的任务。另外,数据文件可以在存储设备间迁移,如从非 ASM 迁移至 ASM,反之亦然。
一、 重命名数据文件:
-- 注意,我这里是在名为 PDB01 的 pdb 容器内演示的。
SQL> show con_name
CON_NAME
------------------------------
PDB01
-- 查看原数据文件名
SQL> select name from v$datafile;
NAME
--------------------------------------------------------------------------------
/home/oracle/app/oracle/oradata/andycdb/pdb01/system01.dbf
/home/oracle/app/oracle/oradata/andycdb/pdb01/sysaux01.dbf
/home/oracle/app/oracle/oradata/andycdb/pdb01/undotbs01.dbf
/home/oracle/app/oracle/oradata/andycdb/pdb01/users01.dbf
/home/oracle/app/oracle/oradata/andycdb/pdb01/bbb.dbf
/home/oracle/app/oracle/oradata/andycdb/pdb01/bbb02.dbf
6 rows selected.
-- 重命名
SQL> ALTER DATABASE MOVE DATAFILE '/home/oracle/app/oracle/oradata/andycdb/pdb01/bbb.dbf' TO
'/home/oracle/app/oracle/oradata/andycdb/pdb01/bbb01.dbf';
Database altered.
-- 检查重命名结果
SQL> select name from v$datafile;
NAME
--------------------------------------------------------------------------------
/home/oracle/app/oracle/oradata/andycdb/pdb01/system01.dbf
/home/oracle/app/oracle/oradata/andycdb/pdb01/sysaux01.dbf
/home/oracle/app/oracle/oradata/andycdb/pdb01/undotbs01.dbf
/home/oracle/app/oracle/oradata/andycdb/pdb01/users01.dbf
/home/oracle/app/oracle/oradata/andycdb/pdb01/bbb01.dbf
/home/oracle/app/oracle/oradata/andycdb/pdb01/bbb02.dbf
6 rows selected.
二、迁移数据文件到其他路径
-- 注意,我这里是在名为 PDB01 的 pdb 容器内演示的。
SQL> show con_name
CON_NAME
------------------------------
PDB01
-- 查看数据文件原路径
SQL> select name from v$datafile;
NAME
--------------------------------------------------------------------------------
/home/oracle/app/oracle/oradata/andycdb/pdb01/system01.dbf
/home/oracle/app/oracle/oradata/andycdb/pdb01/sysaux01.dbf
/home/oracle/app/oracle/oradata/andycdb/pdb01/undotbs01.dbf
/home/oracle/app/oracle/oradata/andycdb/pdb01/users01.dbf
/home/oracle/app/oracle/oradata/andycdb/pdb01/bbb01.dbf
/home/oracle/app/oracle/oradata/andycdb/pdb01/bbb02.dbf
6 rows selected.
-- 检查数据文件的确存在原路径下
[oracle@12c ~]$ cd /home/oracle/app/oracle/oradata/andycdb/pdb01/
[oracle@12c pdb01]$ ll bbb*
total 769412
-rw-r-----. 1 oracle oinstall 2105344 May 13 04:22 bbb01.dbf
-rw-r-----. 1 oracle oinstall 2105344 May 13 04:22 bbb02.dbf
-- 迁移数据文件到新路径
SQL>ALTER DATABASE MOVE DATAFILE '/home/oracle/app/oracle/oradata/andycdb/pdb01/bbb02.dbf' TO '/home/oracle/app/oracle/oradata/andycdb/pdb01/new/bbb02.dbf';
Database altered.
-- 核实数据文件是否存在迁移路径下
[oracle@12c pdb01]$ ll
total 769412
-rw-r-----. 1 oracle oinstall 2105344 May 13 04:22 bbb01.dbf
drwxr-x---. 2 oracle oinstall 4096 May 13 04:31 new
-rw-r-----. 1 oracle oinstall 387981312 May 13 04:15 sysaux01.dbf
-rw-r-----. 1 oracle oinstall 272637952 May 13 04:30 system01.dbf
-rw-r-----. 1 oracle oinstall 67117056 May 12 07:02 temp01.dbf
-rw-r-----. 1 oracle oinstall 104865792 May 13 04:30 undotbs01.dbf
-rw-r-----. 1 oracle oinstall 14426112 May 13 04:10 users01.dbf
-rw-r-----. 1 oracle oinstall 5251072 May 12 06:42 users01.dbf.bak
[oracle@12c pdb01]$ cd /home/oracle/app/oracle/oradata/andycdb/pdb01/new
[oracle@12c new]$ ll
total 2056
-rw-r-----. 1 oracle oinstall 2105344 May 13 04:31 bbb02.dbf
说明:迁移数据文件到新路径,自动完成了操作系统层面数据文件的移动。
补充(其他几种迁移类型):
1. 从非 ASM 迁移数据文件至 ASM:
SQL>ALTER DATABASE MOVE DATAFILE '/u00/data/users_01.dbf' TO '+DG_DATA';
2. 将数据文件从一个 ASM 磁盘群组迁移至另一个 ASM 磁盘群组:
SQL>ALTER DATABASE MOVE DATAFILE '+DG_DATA/DBNAME/DATAFILE/users_01.dbf ' TO '+DG_DATA_02';
3. 在数据文件已存在于新路径的情况下,以相同的命名将其覆盖:
SQL>ALTER DATABASE MOVE DATAFILE '/u00/data/users_01.dbf' TO '/u00/data_new/users_01.dbf' REUSE;
4. 复制文件到一个新路径,同时在原路径下保留其拷贝:
SQL>ALTER DATABASE MOVE DATAFILE '/u00/data/users_01.dbf' TO '/u00/data_new/users_01.dbf' KEEP;
当通过查询 v$session_longops 动态视图来移动文件时,你可以监控这一过程。另外,
你也可以引用 alert.log,Oracle 会在其中记录具体的行为。
Oracle 12C 新特性之在线重命名、迁移活跃的数据文件的更多相关文章
- Oracle 12c新特性
转载自:Oracle 12c新特性(For DBA) 一: Multitenant Architecture (12.1.0.1) 多租户架构是Oracle 12c(12.1)的新增重磅特性 ...
- Oracle 12C 新特性之扩展数据类型(extended data type)
Oracle 12C 新特性-扩展数据类型,在12c中,与早期版本相比,诸如VARCHAR2, NAVARCHAR2以及 RAW这些数据类型的大小会从4K以及2K字节扩展至32K字节.只要可能,扩展字 ...
- Oracle 12C 新特性之表分区或子分区的在线迁移
Oracle 12c 中迁移表分区或子分区到不同的表空间不再需要复杂的过程.与之前版本中未分区表进行在线迁移类似,表分区或子分区可以在线或是离线迁移至一个不同的表空间.当指定了 ONLINE 语句,所 ...
- Oracle 12c新特性(For DBA)
一: Multitenant Architecture (12.1.0.1) 多租户架构是Oracle 12c(12.1)的新增重磅特性,内建的多分租(Multi-tenancy),一个容器 ...
- ORACLE 12C新特性——CDB与PDB
Oracle 12C引入了CDB与PDB的新特性,在ORACLE 12C数据库引入的多租用户环境(Multitenant Environment)中,允许一个数据库容器(CDB)承载多个可插拔数据库( ...
- Oracle 12C 新特性之非分区表转分区表online clause(不停业务+索引有效)
12c以前非分区表需要转换为分区, 如果不停业务的话可以使用在线重定义,只有在表进行切换的时候会有短暂的锁表. 12c 中alter table online clause 实现了表上现有的索引有效, ...
- Oracle 12C 新特性之 PDB热克隆(本地克隆、远端异机克隆)
说明:版本12.2.0.1 12c r1版本中 clone 一份PDB源库需要打开在read only只读模式 , 在12c r2版本中引入了local undo mode, 源PDB在read/wr ...
- Oracle 12c新特性之——TABLE ACCESS BY INDEX ROWID BATCHED
Oracle12c开始,我们在获取SQL语句的执行计划时,也会经常看到"TABLE ACCESS BY INDEX ROWID BATCHED"操作,那么,这个操作到底是什么意思呢 ...
- Oracle 12C 新特性之 db默认字符集AL32UTF8、PDB支持不同字符集
一. db默认字符集AL32UTF8Specify the database character set when you create the database. Starting from Ora ...
随机推荐
- poj 3714 Raid【(暴力+剪枝) || (分治法+剪枝)】
题目: http://poj.org/problem?id=3714 http://acm.hust.edu.cn/vjudge/contest/view.action?cid=27048#prob ...
- Netty聊天室(2):从0开始实战100w级流量应用
目录 客户端 Client 登录和响应处理 写在前面 客户端的会话管理 客户端的逻辑构成 连接服务器与Session 的创建 Session和 channel 相互绑定 AttributeMap接口的 ...
- JVM性能优化, Part 3 垃圾回收
ImportNew注:本文是JVM性能优化 系列-第3篇-<JVM性能优化, Part 3 —— 垃圾回收> 第一篇 <JVM性能优化, Part 1 ―― JVM简介 > 第 ...
- 读取ByteBuffer有效的数据
转:https://zhidao.baidu.com/question/427134449349230532.html说道 ByteBuffer的缓冲区,就需要知道缓冲区的的三个状态1)capacit ...
- LeetCode:字符串的排列【567】
LeetCode:字符串的排列[567] 题目描述 给定两个字符串 s1 和 s2,写一个函数来判断 s2 是否包含 s1 的排列. 换句话说,第一个字符串的排列之一是第二个字符串的子串. 示例1: ...
- iOS 展示 gif
gif 图 是多张依次有连续动作的图 顺时间展示的一种动态效果图 . 有的是均匀时间更换下一张 有的 则不是均匀时间变化 1. 那么 对于均匀 时间变化的gif图 比较适合 使用 iOS 系统自 ...
- leetcode 900. RLE Iterator
Write an iterator that iterates through a run-length encoded sequence. The iterator is initialized b ...
- P3506 [POI2010]MOT-Monotonicity 2
题目 P3506 [POI2010]MOT-Monotonicity 2 第一次切掉没题解的题\(qwq\) 做法 首先确定\(a_i\)的位置后显然就能确定\(a_{i+1}\)的位置,建一棵权值线 ...
- 多图切换jQuery图片滑块插件
在线演示 本地下载
- Android蓝牙开发浅析【转】
本文转载自:http://blog.csdn.net/geekdonie/article/details/7487761 由于近期正在开发一个通过蓝牙进行数据传递的模块,在参考了有关资料,并详细阅读了 ...