11gRAC本地数据文件向ASM迁移

环境相关:
OS:CentOS release 6.6
RAC:11.2.0.4.0 双节点ASM库

  1. 故障发生原因

今天批量添加四个数据文件,第2到第4个数据文件添加SQL中 add datafile ‘+DATADG’ 漏掉了 ‘+’,发现oracle成功添加了第一个数据文件后,将第二个数据文件添加成了 “$ORACLE_HOME/dbs/DATADG”,然后第三、第四个数据文件添加失败(原因是DATADG文件已经存在)。

  1. 问题修复

好吧,补救操作如下:

sqlplus / as sysdba
col tablespace_name for a20
col file_name for a80
set linesize 150
set pagesize 1000
select f.tablespace_name,
       f.file_name,
       f.bytes / 1024 / 1024 / 1024 as cgb,
       f.maxbytes / 1024 / 1024 / 1024 as mgb
  from dba_data_files f
 order by 1,regexp_substr(file_name, '[^/]+', 1, length(regexp_replace(file_name, '[^/]+')));
-- 查看数据文件相关信息

找到数据文件有问题的表空间,查看并记录相关文件路径和文件名信息

select FILE_NAME,FILE_ID,TABLESPACE_NAME,STATUS,ONLINE_STATUS 
  from dba_data_files where TABLESPACE_NAME='TS_GATEWAY_DATA';
-- 查询出的FILE_NAME需要记录下来,下方比较时需要用到

下线该数据文件

alter database datafile '/u01/app/oracle/product/11.2.0/db_1/dbs/DATADG' offline;
exit

使用rman将本地的数据文件复制到ASM中

rman target /
copy datafile  '/u01/app/oracle/product/11.2.0/db_1/dbs/DATADG' to '+DATADG';
exit;

查看ASM中该表空间的数据文件,对比刚才记录的数据文件名,找到rman的copy生成的数据文件名

su - grid
asmcmd
ls DATADG/newecpss/datafile/TS_GATEWAY_DATA*
exit
# 根据第二个SQL查询出的FILE_NAME信息,对比ls出的数据文件,找到新增的ASM数据文件名

根据对比出来的ASM中的数据文件名,做rename

sqlplus / as sysdba
alter database rename file '/u01/app/oracle/product/11.2.0/db_1/dbs/DATADG' 
to '+DATADG/newecpss/datafile/TS_GATEWAY_DATA.364.964346781';

尝试online数据文件

alter database datafile '+DATADG/newecpss/datafile/TS_GATEWAY_DATA.364.964346781' online;
-- 报错:
-- ORA-01113: file 82 needs media recovery
-- ORA-01110: data file 82: '+DATADG/newecpss/datafile/ts_gateway_data.364.964346781'
exit

使用rman命令进行media recovery

rman target /
recover datafile 82;
exit;

再次上线数据文件

sqlplus / as sysdba
alter database datafile '+DATADG/newecpss/datafile/TS_GATEWAY_DATA.364.964346781' online;
exit;

清理掉尾巴

mv -v /u01/app/oracle/product/11.2.0/db_1/dbs/DATADG /tmp/

[TOC]

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值