RMAN : Running an Incremental Backup and the error ORA-19764

RMAN : Running an Incremental Backup and the error ORA-19764

So the other day I was running an incremental backup in a Database that had been recently cloned, when I was running the backup, the following error showed up:

DBGRPC:        EXITED krmqgns with status 1
DBGRPC: krmxpoq - returning rpc_number: 77 with status: FINISHED16 for channel CH10
DBGRPC: krmxr - channel CH10 calling peicnt
DBGRPC: krmxrpc - channel CH10 kpurpc2 err=19583 db=target proc=SYS.DBMS_BACKUP_RESTORE.BACKUPPIECECREATE excl: 187
DBGRPC: krmxrpc - caloing krmxtrim: with message of length 187: @@@ORA-19583: conversation terminated due to error
DBGRPC: ORA-19764: database id 8573487567 does not match database id 3024984012 in control file
DBGRPC: ORA-06512: at "SYS.DBMS_BACKUP_RESTORE", line 1381

As you might remember if you clone a Database without RMAN, you have to use the new DBID utility to change the Database ID, so just to be on the safe side the first thing I did was try and verify that DBID for the cloned Database didn’t match the source Database, which was the case.

TESTDB21 >select dbid,name from v$database;

DBID NAME
---------- --------
3024984012 TESTDB2

What really had me going was exactly this, that the information in the data dictionary was showing me that the the DBID (3024984012) was the correct one, in the trace file nothing was pointing me besides the error shown at the beginning of the post, that the DBID was incorrect.

So digging a little bit more, I came to find out that the erroneous DBID was coming from the block change tracking file (BCT)

TESTDB21 >select FHDBI,FHDBN from X$KRCFH
2 /

FHDBI FHDBN
---------- --------
8573487567 TESTDB2

Once I noticed that it was this file that it was causing the error, the only thing I needed to do was recreate the BCT file and voilà, problem solved 🙂

TESTDB21 >alter database disable block change tracking;

Database altered.

TESTDB21 >select FHDBI,FHDBN from X$KRCFH;

no rows selected

TESTDB21 >alter database enable block change tracking using FILE '/copy01/TESTDB2/oracle/TESTDB2/ctf/TESTDB2.ctf';

Database altered.

TESTDB21 >select FHDBI,FHDBN from X$KRCFH;

FHDBI FHDBN
---------- --------
3024984012 TESTDB2

I hope this tip helps you along if you ever face it, also I want to annex to this post a great article that helped me to sort this issue out by Alex Gorbachev from the Pythian group, it can really help out when trying to understand the BCT file

Oracle 10G Block Change Tracking Inside Out

Rene Antunez
[email protected]
No Comments

Sorry, the comment form is closed at this time.