【oracle案例】ORA-19573

2014-11-24 17:04:09 · 作者: · 浏览: 0

1.1.1. ORA-19573

日期:2014-05-21 17:25

环境:测试环境

【情景描述】

数据库实例处于OPEN状态(READ WRITE),这时在RMAN中执行数据库还原、恢复操作遇到报错。

【报错信息】

RMAN> run {

2> allocate channel ch1 type disk;

3> allocate channel ch2 type disk;

4> set until scn 1520939;

5> restore database;

6> recover database;

7> release channel ch1;

8> release channel ch2;

9> }

......

released channel: ch1

released channel: ch2

RMAN-00571:===========================================================

RMAN-00569: =============== ERROR MESSAGESTACK FOLLOWS ===============

RMAN-00571:===========================================================

RMAN-03002: failure of restore command at05/21/2014 17:04:43

ORA-19870: error while restoring backuppiece/U01/app/test/rman/fra/TESTDB/backupset/2014_05_21/o1_mf_nnndf_TAG20140521T164225_9qrsqkyw_.bkp

ORA-19573: cannot obtain exclusive enqueuefor datafile 1

RMAN>

【报错详解】

[oracle@oracle ~]$ oerr ora 19870

19870, 00000, "error while restoringbackup piece %s"

// *Cause: This error should be followed byother errors indicating

// the cause of the problem.

// *Action: See other errors actions.

[oracle@oracle ~]$ oerr ora 19573

19573, 00000, "cannot obtain %senqueue for datafile %s"

// *Cause: The file access enqueue could not be obtained for a file

// specified in a backup, copy or restore operation.

// If the enqueue type shown is 'shared', then the file is the

// input file for a backup or copy. If the type is 'exclusive', then

// the file is the output file for a datafile copy or restore which

// is attempting to overwrite the currently active version of that

// file - in this case, the file must be offline or the database must

// be closed. If the type is'read-only', then you are attempting

// to back up or copy this file while the database is in NOARCHIVELOG

// mode.

// *Action: Wait until the conflictingoperation is complete, then retry

// the copy or backup. If thedatabase is in NOARCHIVELOG mode, then

// all files being backed up must be closed cleanly.

[oracle@oracle ~]$

【报错原因】

数据库处于OPEN状态,所有的表空间和数据文件都是ONLINE的,此时oracle不允许还原恢复。

【解决方法】

在此测试案例中,先关闭数据库实例,然后打开到MOUNT状态,再次登录RMAN执行不完全恢复。