表空间数据文件迁移到另外的位置(backup as copy tablespace)
Posted hxlasky
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了表空间数据文件迁移到另外的位置(backup as copy tablespace)相关的知识,希望对你有一定的参考价值。
环境:
OS: Centos 7
DB:12.2.0.1 数据库必须在归档模式
1.创建表空间
12c pdb下创建表空间
create tablespace tps_data
logging
datafile ‘/u01/app/oracle/oradata/ora12c/ora12cpdb1/tps_data01.dbf‘
size 100m
autoextend on
next 10m maxsize 24G
extent management local;
表空间添加数据文件
alter tablespace tps_data add datafile ‘/u01/app/oracle/oradata/ora12c/ora12cpdb1/tps_data02.dbf‘ size 100m;
2.备份表空间tps_data
提前创建目录
mkdir -p /u01/app/oracle/oradata_temp/ora12cpdb1
rman target /
backup as copy tablespace ORA12CPDB1:tps_data format ‘/u01/app/oracle/oradata_temp/ora12cpdb1/%N%f.dbf‘;
(%N为表空间名、%f为数据文件绝对文件号)
3.目录转移
将表空间进行offline
进入pdb
SQL> alter session set container=ORA12CPDB1;
SQL> alter tablespace tps_data offline;
rman模式执行
RMAN> switch tablespace ORA12CPDB1:tps_data to copy;
datafile 13 switched to datafile copy "/u01/app/oracle/oradata_temp/ora12cpdb1/TPS_DATA13.dbf"
datafile 14 switched to datafile copy "/u01/app/oracle/oradata_temp/ora12cpdb1/TPS_DATA14.dbf"
RMAN> recover tablespace ORA12CPDB1:tps_data;
Starting recover at 06-DEC-19
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=71 device type=DISK
starting media recovery
media recovery complete, elapsed time: 00:00:00
Finished recover at 06-DEC-1
进入pdb
SQL> alter session set container=ORA12CPDB1;
SQL> alter tablespace tps_data online;
Tablespace altered
4.验证
SQL> Select Name From v$datafile;
NAME
--------------------------------------------------------------------------------
/u01/app/oracle/oradata/ora12c/ora12cpdb1/system01.dbf
/u01/app/oracle/oradata/ora12c/ora12cpdb1/sysaux01.dbf
/u01/app/oracle/oradata/ora12c/ora12cpdb1/undotbs01.dbf
/u01/app/oracle/oradata/ora12c/ora12cpdb1/users01.dbf
/u01/app/oracle/oradata_temp/ora12cpdb1/TPS_DATA13.dbf
/u01/app/oracle/oradata_temp/ora12cpdb1/TPS_DATA14.dbf
6 rows selected.
但是原来的文件还是存在的,可以手工删除掉
[oracle@localhost ora12cpdb1]$ ls -1 /u01/app/oracle/oradata/ora12c/ora12cpdb1
sysaux01.dbf
system01.dbf
temp01.dbf
tps_data01.dbf
tps_data02.dbf
undotbs01.dbf
users01.dbf
--The End --
以上是关于表空间数据文件迁移到另外的位置(backup as copy tablespace)的主要内容,如果未能解决你的问题,请参考以下文章
[20171121]rman backup as copy 2.txt
MySQL迁移数据目录(迁移数据库表InnoDB系统表空间状态文件/日志文件)