The other night on of my databases started throwing the following error.
RMAN> delete noprompt archivelog all backed up 1 times to 'sbt';
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of delete command at 05/03/2019 08:53:40
RMAN-03014: implicit resync of recovery catalog failed
RMAN-03009: failure of partial resync command on default channel at 05/03/2019 08:53:40
ORA-01422: exact fetch returns more than requested number of rows
From the RMAN trace
DBGMISC: Trimming message: ORA-01422: exact fetch returns more than requested number of rows [09:01:19.157] (krmstrim)
DBGMISC: ORA-06512: at "RMAN_NB_TP0LAWS.DBMS_RCVCAT", line 13092 (krmstrim)
DBGMISC: ORA-06512: at line 3995 (krmstrim)
DBGMISC: (146) (krmstrim)
The solution here is actually quite simple, the rout table, which stores previous rman output from previous runs so that it can displayed in OEM had excessive rows in it. Since we don’t really use OEM to track our rman backups, we can safely purge them.
SQL> truncate table rout ;
SQL> truncate table rsr ;
This resolved our issue. I was able to resync the catalog with out any further errors.
Recent Comments