Re: unregistering old dbid's from rman catalog

From: <rogergorden_at_....gmail.com>
Date: Thu, 19 Jun 2008 12:09:04 -0700 (PDT)
Message-ID: <9751e160-3968-4ad6-8e99-3bd48cc199cb@p25g2000pri.googlegroups.com>


On Jun 19, 11:34 am, Chuck <skilover_nos..._at_bluebottle.com> wrote:
> Looking for assistance in unregistering old dbid's from the rman
> catalog. The db in question is a test db that is duplicated from a
> production db every so often and each time it gets duplicated, it
> creates a new dbid for the test db, effectively abandoning the old dbid
> and all it's associated backups. These backups have already been removed
> externally from the backup media. I want to get rid of all references to
> it from the rman catalog now.
>
> The current version of the db is 10.2.0.3 though some of the old backups
> were taken in 9.2.0.5 and 9.2.0.8. I've tried following the example from
> the rman documentation for the UNREGISTER DATABASE command
> (http://tinyurl.com/4rpe8u) but it yields the error below. Note that the
> db name and catalog name are correct in the actual script but were
> replaced in text below. What am I doing wrong? TIA
>
> $ rman catalog rmanuser_at_rmancatname
>
> Recovery Manager: Release 10.2.0.3.0 - Production on Thu Jun 19 11:27:20
> 2008
>
> Copyright (c) 1982, 2005, Oracle.  All rights reserved.
>
> recovery catalog database Password: <password entered here>
> connected to recovery catalog database
>
> RMAN> run
> 2> {
> 3> set dbid 4134200886;
> 4> UNREGISTER DATABASE dbname NOPROMPT;
>
> RMAN-00571: ===========================================================
> RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
> RMAN-00571: ===========================================================
> RMAN-00558: error encountered while parsing input commands
> RMAN-01009: syntax error: found "unregister": expecting one of:
> "allocate, alter, backup, beginline, blockrecover, catalog, change,
> copy, convert, crosscheck, configure, duplicate, debug, delete, execute,
> endinline, flashback, host, mount, open, plsql, recover, release,
> replicate, report, restore, resync, }, set, setlimit, sql, switch,
> startup, shutdown, send, show, transport, validate"
> RMAN-01007: at line 4 column 1 file: standard input

Since you're using a catalog, login to the database as the schema owner of the catalog and issue this query:

SELECT db_key, db_id
FROM db
WHERE db_id = 4134200886;

    DB_KEY DB_ID
---------- ----------

   nnnnnnn 4134200886

Then execute the following package:

SQL> execute dbms_rcvcat.unregisterdatabase(nnnnnnn, 4134200886);

That should do it for you.

Roger Gorden
Senior Database Administrator John Wiley and Sons Inc. Received on Thu Jun 19 2008 - 14:09:04 CDT

Original text of this message