02 February 2021

Cloning a database where source Oracle Home has a higher DST patch than a destination Oracle home 

Example: Source database has a DST patch version 23, and database was cloned into an Oracle home with DST version 22.

Symptoms

rman target /
Recovery Manager: Release 12.1.0.2.0 - Production on Tue Feb 2 13:39:27 2021
Copyright (c) 1982, 2014, Oracle and/or its affiliates.  All rights reserved.
ORACLE error from target database:
ORA-04045: errors during recompilation/revalidation of SYS.DBMS_RCVMAN
ORA-01804: failure to initialize timezone information
ORA-06508: PL/SQL: could not find program unit being called: "SYS.DBMS_RCVMAN"
error executing package DBMS_RCVMAN in TARGET database
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-00554: initialization of internal recovery manager package failed
RMAN-06429: TARGET database is not compatible with this version of RMAN

No rows in
select * from V_$TIMEZONE_FILE;

If, on the NEW database, select from DATABASE_PROPERTIES:

SELECT PROPERTY_NAME, SUBSTR(property_value, 1, 10) value
FROM DATABASE_PROPERTIES 
WHERE PROPERTY_NAME = 'DST_PRIMARY_TT_VERSION'; 
PROPERTY_NAME                VALUE
---------------------------------------- ----------
DST_PRIMARY_TT_VERSION          23

Solution

update sys.props$ set VALUE$=22 where NAME='DST_PRIMARY_TT_VERSION';
Restart the database.
Solution is not elegant at all, but it worked for us.

Labels:


Comments: Post a Comment



<< Home

This page is powered by Blogger. Isn't yours?