表空间数据文件迁移到另外的位置(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.

但是原来的文件还是存在的,可以手工删除掉
[[email protected] 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 --

原文地址:https://www.cnblogs.com/hxlasky/p/11996783.html

时间: 2024-10-13 22:13:38

表空间数据文件迁移到另外的位置(backup as copy tablespace)的相关文章

【oracle11g,14】表空间管理3:临时表空间,表空间的脱机和只读,数据文件迁移,更改表空间数据文件的大小,表空间数据文件的迁移,使用非标准块的表空间,bigfile 表空间

一.临时表空间: 如果临时表空间不足会报ora-1652错误. 二.什么时候使用临时表空间: 排序和分组 索引create或rebuild order by 或group by distinct 操作 union或intersect或minus sort-merge joins analyze 用于排序.分组.索引等操作,在pga中的sort_area中排序,会将排序的中间结果存放到临时表空间中,如果想提高排序的效率可以提高sort_area_size参数值. 临时表空间不能存放持久化对象,推荐

Oracle表空间数据文件移动

Oracle表空间数据文件移动 系统:windows oracle:10g 实现把用户表空间中的数据文件从某一个路径移动到里一个路径 一.针对可offline的非系统表空间 本例移动oracle的案例表空间(EXAMPLE表空间),将其从 D:\ORADATA\ORCL\ 移动到 D:\ORACLE\ORADATA\ 1.查看要改变的表空间的数据文件信息 SQL> select tablespace_name,file_name,online_status from dba_data_files

oracle表空间数据文件的移动

需求:把用户的某一个表空间中的数据文件由于某种原因从一个路径移动到里一个路径原因:(1)当前实例中的表空间文件及系统表空间文件全在一块硬盘上,导致IO增加.装数据库表空间移走.减少IO.(2)磁盘空间有限,这个磁盘空间太小了,随着数据的增长,需要换一块大的磁盘可行性:linux的文件都是通过挂载,到一个目录下,磁盘的移动就只是文件路径的改变. 实现此方法有两种方法1.alter tablespace(1)查看要改变的这个表空间所对应的数据文件信息SQL> select tablespace_na

移动Oracle表空间数据文件方案

方案一:移动常规表空间(非系统表空间)数据文件 /**************数据库服务器某个磁盘空间不足时移动常规表空间数据文件*****************/ 1.使用范围:该操作在数据库正常运行(open状态)的条件下进行,但不能移动系统表空间里面的数据文件 2.使用alter tablespace 命令 1>准备工作: C:\ sqlplus/nolog SQL>connect sys/[email protected]实例名 as sysdba; 2>使表空间脱机: SQL

ORA-01144_表空间数据文件超出最大限制

Oracle11gR2扩展表空间报ORA-01144错误. 数据块大小为8K的数据库,单个数据文件大小限制在32GB内. 解决办法: 1.增加表空间数据文件的方式: 2.创建BIGFILE表空间:

关于Oracle表空间数据文件自增长的一些默认选项

昨天,一个同事请教了一些关于Oracle表空间数据文件自增长的问题,解答过程中顺便整理起来,以后其他同事有同样的疑问时可以直接查阅. 实验内容: 创建MYTEST表空间,默认不开启自增长. 给MYTEST表空间添加一个数据文件,开启自增长,但是不设置自增长的SIZE. 给MYTEST表空间添加一个数据文件,开启自增长,指定自增长的SIZE. 操作过程记录如下:(已经将多余的结果进行过滤) [email protected]>CREATE TABLESPACE MYTEST DATAFILE '/

Oracle表空间文件迁移

set ORACLE_SID = ORCL; sqlplus /nolog connect sys/1234 as sysdba; alter tablespace tablespace_name offline; alter database rename file '......\tablespace_name.dbf' to '......\tablespace_name.dbf'; alter tablespace tablespace_name online; recover data

Linux服务器磁盘扩展和oracle表空间文件迁移操作记录

1.环境介绍 服务器硬件:Dell R710 服务器OS:红帽子Linux   RHEL4.8 数据库:Oracle 10g 2.出现的问题 因为数据表每天有上百万的数据写入表,加上建立索引,导致表空间不停增长,表空间被设置为自动增长,因此dbf文件在不断增大,硬盘空间在每天约400M的速度减少.数据库虽有自清理的脚本,清理3个月前的数据,但实际增加的数据太多,清理释放的空间不能满足需求了. 3.处理过程 解决思路是,该服务器的硬盘有预留空间,未完全划分的约有100G,可以建立新的分区,将已经存

oracle11 表空间dbf文件迁移

当oracle的数据文件所在的磁盘空间不够用了或其他情况需要把dbf文件迁移到另外的位置,下面是操作步骤: 1.sqlplus sys/sys as sysdba 2.shutdown immediate 3.copy dbf文件到新的位置 4.startup mount; 5.alter database rename file 'E:\oracle\oradata\hqbi\EFMWEB03.DBF' to 'G:\oradata\hqbi\EFMWEB03.DBF'; 第一个文件为原来表空