ORA-19563: header validation failed for file
2015-04-15 22:28 潇湘隐者 阅读(5358) 评论(0) 编辑 收藏 举报在测试服务器还原数据库时遇到了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
[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位于不同分区。我还原时,由于测试服务器的空间不足,我将原路文件的恢复目录做了调整。(由于增加数据文件时粗心大意,自己给自己挖了一个大坑,而且自己跳了进去!)
如下所示,结果在/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;
}

· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
· DeepSeek 解答了困扰我五年的技术问题
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
2014-04-15 ORACLE opatch命令学习实践