在搭建测试环境过程中,客户通过克隆的方式将业务系统进行了克隆用于业务上线前测试,但是在克隆完成后起库过程中发现数据库只能启动到mount状态,在open库的时候出现了报错:

Ora-10873:file * needs to be either taken out of backup or media recovered,如下图:

Oracle故障处理:Ora-10873:file * needs to be either taken out of backup or media recovered_数据库

在oralce的trace日志记录如下报错,如下图:

Oracle故障处理:Ora-10873:file * needs to be either taken out of backup or media recovered_ora-10873_02

根据报错提示首先对数据库文件的备份状态进行查看,发现是active状态,如下图:

Oracle故障处理:Ora-10873:file * needs to be either taken out of backup or media recovered_ora-10873_03

停止数据库的备份,alter database end backup,然后再查询文件备份状态,select *  form v$backup,装态都为not active,如下图:

Oracle故障处理:Ora-10873:file * needs to be either taken out of backup or media recovered_recover_04

尝试对数据库进行open,发现数据库可以正常启动,如下图:

Oracle故障处理:Ora-10873:file * needs to be either taken out of backup or media recovered_ora-10873_05

总结:

发现如上情况的原因是客户在进行克隆的时候数据库在进行备份,而克隆完成后会自动处于关机状态,关机的时候备份未完成导致库文件状态不对。