您好,欢迎访问一九零五行业门户网

RMAN recover中遇到 RMAN-20505,ORA-0119,ORA-27400

这是一次ramn恢复的工作,生产端是oracle 11.2.0.4 rac,数据文件保存在文件系统上。灾备端是oracle11.2.0.4单实例+asm方式保存数
这是一次ramn恢复的工作,生产端是oracle 11.2.0.4 rac,数据文件保存在文件系统上。灾备端是oracle11.2.0.4单实例+asm方式保存数据文件。检修计划需要将生产库做一次rman全备,然后在灾备端恢复。由于生产端和灾备端的存储方式不一样,文件路径也不一样,所以灾备端rman恢复的时候需要采用set newname的方式将文件路径转换一次。
执行脚本如下:
run{
set newname for datafile 1 to '+data';
set newname for datafile 2 to '+data';
set newname for datafile 3 to '+data’;
… 500多个数据文件
restore database;
switch datafile all;
recover database;
}
在执行到recover database 过程中出现错误,提示第545号数据文件idx_s007.dbf创建失败。
rman-20505: create datafile during recovery
ora-0119: error in creating database file '/sgpmdb/oradata/u07/cmsdb/idx_s007.dbf'
ora-27400: file create error, unable to create file
hpux-ia error: 2: no such file or directory
additional information: 1
rman-11003: failure during parse/execution of sql statement: alter database recover log file '/orabak/arch/2_147320_666569930.arc'
ora-00283: recovery session canceled due to errors
ora-01244: unnamed datafile(s) added to control file by media recovery
ora-01110: data file 545: '/spgmdb/oradata/u07/cmsdb/idx_s007.dbf'
分析原因如下:
生产库做完全备后又做了一些ddl操作,如添加数据文件等。 这些新的操作记录在全备之后的归档日志中(/orabak/arch/2_147320_666569930.arc
)。在重演归档日志中创建数据文件的部分时找不到生产环境的目录,所以报错(hpux-ia error: 2: no such file or directory)
该文件被临时记录在了/app/oracle/product/11.2.0/db_1/dbs,但也只是控制文件中的记录,磁盘上时没有该文件。
第545号数据文件在控制文件中的记录如下,不是我们预期的+data
sql> select name from v$datafile where name like '%545%;
name
——————————————————
/app/oracle/product/11.2.0/db_1/dbs/unamed00545
解决方案
在rman下使用set newname命令先数据文件的目录地址改为+data/cmsdb/datafile。然后重新restore一次该数据文件,最后switch数据文件。
run{
set newname for datafile '/app/oracle/product/11.2.0/db_1/dbs/unnamed00545' to '+data/cmsdb/datafile/idx_s007.dbf';
restore datafile '/app/oracle/product/11.2.0/db_1/dbs/unnamed00545';
switch datafile '/app/oracle/product/11.2.0/db_1/dbs/unnamed00545';
}
也可以写成
run{
set newname for datafile 545 to '+data';
restore datafile 545;
switch datafile 545;
}
输出如下:
executing command: set newname
staring restore at 27-oct-14
using channel ora_disk1
creating datafile file number=545 name=+data/cmsdb/datafile/idx_s007.dbf
restore not done: all files read only, offline, or already restored
finished restore at 27-oct-14
datafile 545 switched to datafile copy
input datafile copy recid=3615 stamp=862057086 file name=+data/cmsdb/datafile/idx_s007.dbf
本次操作使用的客户端主机安全级别很高,,不允许用u盘复制任何文件,包括securecrt的日志等。所有错误信息和屏幕输出都是我手敲的,如果有错误敬请谅解。
--------------------------------------推荐阅读 --------------------------------------
rman 配置归档日志删除策略
oracle基础教程之通过rman复制数据库
rman备份策略制定参考内容
rman备份学习笔记
oracle数据库备份加密 rman加密
--------------------------------------分割线 --------------------------------------
本文永久更新链接地址:
其它类似信息

推荐信息