- 确认要迁移的文件位置
该文件在1节点(flexmeswipdb1)上,具体路径为:
/opt/oracle/products/11.2.0/dbs/FLEXWIPPD_DATA
select f.tablespace_name,
f.file_id,
f.file_name,
f.bytes / 1024 / 1024 / 1024 as cgb,
f.maxbytes / 1024 / 1024 / 1024 as mgb
from dba_data_files f where tablespace_name=‘JDEMESTBS’

select f.tablespace_name,
f.file_id,
f.file_name,
f.bytes / 1024 / 1024 / 1024 as cgb,
f.maxbytes / 1024 / 1024 / 1024 as mgb
from dba_data_files f where file_id=574;

- 将该文件下线
alter database datafile ‘/opt/oracle/products/11.2.0/dbs/FLEXWIPPD_DATA’ offline;
注:这里如果报错的话需要将db重启到mount状态。 - 使用rman将本地的数据文件复制到ASM中
rman target /
copy datafile ‘/opt/oracle/products/11.2.0/dbs/FLEXWIPPD_DATA’ to ‘+FLEXWIPPD_DATA’;
这里rman会给出在asm中的信息 - 确认转移到ASM中新文件名
su - grid
asmcmd
ls +FLEXWIPPD_DATA/FLXWIPPD/DATAFILE/JDEMESTBS*
根据第一个SQL查询出的FILE_NAME信息,对比ls出的数据文件,找到新增的ASM数据文件名 - 根据对比出来的ASM中的数据文件名,做rename
sqlplus / as sysdba
alter database rename file ‘/opt/oracle/products/11.2.0/dbs/FLEXWIPPD_DATA’ to ‘+FLEXWIPPD_DATA/FLXWIPPD/DATAFILE/JDEMESTBS.364.964346781’;
注:这里的文件名需要修改 - 尝试online数据文件
alter database datafile ‘+FLEXWIPPD_DATA/FLXWIPPD/DATAFILE/JDEMESTBS.364.964346781’ online;
应该会报错,需要recovery。 - 使用rman命令进行media recovery
rman target /
recover datafile 574;
exit;
这里rman会给出在asm中的信息
再次上线数据文件
sqlplus / as sysdba
alter database datafile ‘+FLEXWIPPD_DATA/FLXWIPPD/DATAFILE/JDEMESTBS.364.964346781’ online;
注:这里的文件名需要修改 - 收尾
mv -v /opt/oracle/products/11.2.0/dbs/FLEXWIPPD_DATA /tmp/
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




