ORA-19563: header validation failed for file

简介:

在测试服务器还原数据库时遇到了ORA-19563错误。如下所示

RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of switch command at 04/08/2015 19:59:06
ORA-19563:  header validation failed for file 

clip_image001

[oracle@getlnx01 ~]$ oerr ora 19563
19563, 00000, "%s header validation failed for file %s"
// *Cause:  When opening the file to be placed in a copy or backup set,
//          to be inspected, or used as the target for
//          an incremental restore, its header was not
//          recognized as a valid file header for a file of the indicated
//          type (data file, archived log, or control file) belonging
//          to the current database.
// *Action: Ensure that the correct files are being specified for the copy
//          or backup operation.

通过分析后发现两个文件名冲突,原数据库有两个同名的文件invsubmat_d18.dbf位于不同分区。我还原时,由于测试服务器的空间不足,我将原路文件的恢复目录做了调整。(由于增加数据文件时粗心大意,自己给自己挖了一个大坑,而且自己跳了进去!)

clip_image002

如下所示,结果在/u04/oradata/epps目录下,出现了两个invsubmat_d19.dbf文件。只需在set命令里面将文件恢复路径修改即可。

run
{
.................................................................
set newname for datafile 105    to "/u04/oradata/epps/invsubmat_d18.dbf";
.................................................................
set newname for datafile 109    to  "/u04/oradata/epps/invsubmat_d18.dbf";
set newname for datafile 121    to  "/u04/oradata/epps/ndotbs03.dbf";
set newname for datafile 122    to  "/u04/oradata/epps/undotbs04.dbf";
restore database ;
switch datafile all;
}

修改为如下所示,restore还原成功!

run
{
.................................................................
set newname for datafile 105    to "/u04/oradata/epps/invsubmat_d18.dbf";
.................................................................
set newname for datafile 109    to  "/u04/oradata/epps/invsubmat_d20.dbf";
set newname for datafile 121    to  "/u04/oradata/epps/ndotbs03.dbf";
set newname for datafile 122    to  "/u04/oradata/epps/undotbs04.dbf";
restore database ;
switch datafile all;
}
相关文章
error C2449: found ‘{‘ at file scope (missing function header?)和error C2059: syntax error : ‘}‘
error C2449: found ‘{‘ at file scope (missing function header?)和error C2059: syntax error : ‘}‘
122 0
成功解决:ERROR StatusLogger No log4j2 configuration file found.
成功解决:ERROR StatusLogger No log4j2 configuration file found.
|
前端开发 数据库
Failed to load response dataNo data found for resource with given identifier
Failed to load response dataNo data found for resource with given identifier
1572 0
|
SQL 关系型数据库 Oracle
ORA-01466: unable to read data - table definition has changed
1. Oracle建议我们等待大约5分钟之后再进行flashback query新创建的表,否则可能会碰到这个错误ORA-01466: unable to read data - table definition has changed.
1791 0
|
SQL 监控
backup log is terminating abnormally because for write on file failed: 112(error not found)
昨天遇到一个案例,YourSQLDba做事务日志备份时失败,检查YourSQLDba输出的错误信息如下:   yMaint.backups backup log [gewem] to disk = 'M:\DB_BACKUP\LOG_BACKUP\xxxx_[2016-11-22_01h11m05_Tue]_logs.
1237 0
|
关系型数据库 数据库管理 Oracle