Monday, 2 November 2015

RMAN Issue and solutions




Solution

- Ensure that the character set of TARGET database and catalog database are same
- Set the environment variable ORA_NLS10 (ORA_NLS33 for 8i and 9i) at OS level

  If you are using a Oracle8, 8i or 9i version then set the ORA_NLS33 for Oracle10g and higher, set
  environment variable to:
  ORA_NLS10 = $ORACLE_HOME/ocommon/nls/admin/data

- Restart the Listener and Instance after setting the ORA-NLS10.
Note:  The error ORA-19710, can also occur due to incompatibilities in listener versions while connected to target and catalog database. 
Explanation : There are distinct differences between an 8i, 9i and 10g listener process and the functionality that each process will recognise ; this will also be true of  the shadow processes that are spawned by each listener as they will inherit the same runtime environment and attributes of the listener.  Where you are having issues with connections to target database running at a different release to that of the listener, the recommendation is to use a
separate listener process and to connect to each target using its respective listener.








Solution

Option a)
---------
Recreate the controlfile with a higher value for MAXDATAFILES  and
follow
Note 360962.1 (Manual Completion of a Failed RMAN Duplicate)to complete the duplicate process.


Option b)
---------
If RMAN Duplicated failed at end, when the 'resetlogs' are already done,
we need to recreate control file with NORESETLOGS option pointing to redo log files location in auxiliary database.

Steps to resolve the issue:

1. In the control file recreation, use NORESETLOGS & mention auxiliary redo log files location.

    CREATE CONTROLFILE REUSE SET DATABASE 'XXX' NORESETLOGS ARCHIVELOG... etc

2. Recover & open auxiliary database.

    recover database;
    alter database open;





Solution

Recreate the controlfile using an edited version of the create controlfile script generated from the target:  How to Recreate a Controlfile (Doc ID 735106.1)

The auxiliary alert log shows that a resetlogs was done and will identify the online log for sequence# 1:

Thread 1 opened at log sequence 1
Current log# 1 seq# 1 mem# 0: C:\APP\DUP\REDO01.LOG

To  complete the process :

- correct undo_tablespace parameter in auxiliary pfile
- remount auxiliary with the newly created controlfile
- recover and open with resetlogs

SQL> recover database using backup controlfile;
ORA-00279: change 2023230 generated at 10/10/2012 14:27:01 needed for thread 1
ORA-00289: suggestion :
C:\APP\FAST_RECOVERY_AREA\DUP\ARCHIVELOG\2012_10_10\O1_MF_1_1_%U_.ARC
ORA-00280: change 2023230 for thread 1 is in sequence #1

Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
C:\APP\DUP\REDO01.LOG
Log applied.
Media recovery complete.
SQL> alter database open resetlogs;

Database altered.
 
Note: To avoid this error in the future, ensure that you specify the same UNDO_TABLESPACE parameter for the auxiliary as is currently set for the target database.  If duplicating a RAC target database, you can specify any of the target instance's undo_tablespace for the auxiliary.
 
Note:
-----
o The same error ORA-01139 / ORA-16433 is as well reported, if wrong UNDO tablespace is specified
  and then trying to open database resetlogs after an RMAN RESTORE and RECOVER.
 
Thanks
Srini




 

No comments:

Post a Comment


No one has ever become poor by giving