重庆思庄Oracle、Redhat认证学习论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3525|回复: 0
打印 上一主题 下一主题

[Oracle] oracle将本地存储中的数据文件文件迁移到RAC环境下ASM中

[复制链接]
跳转到指定楼层
楼主
发表于 2021-3-7 16:46:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
RAC环境下,新增一数据文件,结果直接创建到了其中一个节点的本地存储上,现在因需进一步规范,要将本地存储中的数据文件迁移到ASM中。该如何操作呢?网上去搜的话发现这种问题还真不少,对应解决方案也各式各样。

若数据库是归档模式,那么我们实际可以利用rman的backup as copy datafile xxx format ''以及 switch datafile xxx to copy来操作,这样来解决是最简单且最不容易误操作的。

以下做一个实验来说明,整个过程如下:
环境:Oracle 11.2.0.4 RAC

1.模拟误操作添加一个数据文件到本地存储目录下

SQL> alter tablespace users add datafile '/u01/app/oradata/user02.dbf' size 200M;

Tablespace altered.

SQL> select file_id, file_name from dba_data_files;

   FILE_ID FILE_NAME
---------- ------------------------------------------------------------------
         1 +DATA/ORCL/DATAFILE/system.257.412351234
         3 +DATA/ORCL/DATAFILE/sysaux.258.969768741
         4 +DATA/ORCL/DATAFILE/undotbs1.259.643536435
         7 +DATA/ORCL/DATAFILE/users.260.732435132
        13 /u01/app/oradata/user02.dbf
         9 +DATA/ORCL/DATAFILE/undotbs2.263.421358841

6 rows selected.
查到这个误操作新增的数据文件号是13.

2.利用RMAN把13号文件备份副本(backup as copy)

RMAN> backup as copy datafile 13 format '+data';

Starting backup at 05-JAN-21
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=47 instance=ORCL1 device type=DISK
channel ORA_DISK_1: starting datafile copy
input datafile file number=00013 name=/u01/app/oradata/user02.dbf
output file name=+DATA/ORCL/DATAFILE/users.273.613715801 tag=TAG20171205T122439 RECID=4 STAMP=961935880
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:01
Finished backup at 05-JAN-21

Starting Control File and SPFILE Autobackup at 05-JAN-21
piece handle=+FRA/ORCL/AUTOBACKUP/2021-01_05/s_961935881.262.961935883 comment=NONE
Finished Control File and SPFILE Autobackup at 05-JAN-21

3.将13号数据文件离线
可以只将错误的13号数据文件离线,减小影响;

RMAN> alter database datafile 13 offline;

Statement processed

4.切换13号数据文件到copy副本

RMAN> switch datafile 13 to copy;

datafile 13 switched to datafile copy "+DATA/ORCL/DATAFILE/users.273.613715801"

5.恢复13号数据文件

RMAN> recover datafile 13;

Starting recover at 05-JAN-21
using channel ORA_DISK_1

starting media recovery
media recovery complete, elapsed time: 00:00:00

Finished recover at 05-JAN-21

6.将13号数据文件上线

RMAN> alter database datafile 13 online;

Statement processed

   FILE_ID FILE_NAME
---------- ------------------------------------------------------------------
         1 +DATA/ORCL/DATAFILE/system.257.412351234
         3 +DATA/ORCL/DATAFILE/sysaux.258.969768741
         4 +DATA/ORCL/DATAFILE/undotbs1.259.643536435
         7 +DATA/ORCL/DATAFILE/users.260.732435132
        13 +DATA/ORCL/DATAFILE/users.273.613715801
         9 +DATA/ORCL/DATAFILE/undotbs2.263.421358841

6 rows selected.
注:如果有特殊要求,backup as copy时直接将数据文件名改成规范的,比如在步骤2中可以这样指定具体的名字:

RMAN> backup as copy datafile 13 format '+data/ORCL/DATAFILE/users02.DBF';

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 支持支持 反对反对
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|重庆思庄Oracle、Redhat认证学习论坛 ( 渝ICP备12004239号-4 )

GMT+8, 2024-11-26 13:54 , Processed in 0.091439 second(s), 21 queries .

重庆思庄学习中心论坛-重庆思庄科技有限公司论坛

© 2001-2020

快速回复 返回顶部 返回列表