Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Mailing Lists -> Oracle-L -> Re: Restoring 64 bit database to 32 bit Server

Re: Restoring 64 bit database to 32 bit Server

From: goran bogdanovic <goran00_at_gmail.com>
Date: Sat, 9 Sep 2006 23:07:23 +0200
Message-ID: <6d0a3ba80609091407w68cde23ra28cbf398639bc81@mail.gmail.com>


Hi Jared,

I think Dimitre made a good point in his post. I would just add that in your case including the trace backup of control file together with rman controlfile autobackup backup could help.

Cheers,

Goran

On 9/8/06, Jared Still <jkstill_at_gmail.com> wrote:
>
>
> Servers:
> Source server: 64 bit RedHat ES 4
> Target server : 32 bit RedHat ES4
>
> Oracle: 9.2.0.7 - 64 bit on the 64 bit server - 32 bit on the 32 bit
> server.
>
> What I am trying to do is restore an Oracle database from 64 bit server to
> a 32 bit server.
>
> The assumption is that the source database is 64 bit, it has died, and
> took its storage with it.
>
> The database has been backed up with RMAN, there is no RMAN repository,
> and autobackup of controlfiles is turned on.
>
> The only server available to do a restore is a 32 bit RH server.
>
> The database files for 32 bit and 64 bit Oracle are the same.
> The PL/SQL must be recompiled, but that has nothing to do with restoring
> the database.
>
> The control files are however, different - they must be recreated when
> migrating from 32-bit -> 64 bit.
> ( see
> http://download-west.oracle.com/docs/cd/B19306_01/relnotes.102/b15666/toc.htm#CHDGAJDG
> )
>
> This is making it somewhat difficult to restore the database.
>
> The controlfile can easily be restored to the 64 bit server, but not the
> 32 bit server.
> Following are the results of attempting to do so:
>
> SQL> get restore_0905_ctlfile.sql
> 1 -- This procedure will restore the control file as text
> 2 declare
> 3 devtype varchar2(256);
> 4 done boolean;
> 5 begin
> 6 devtype := dbms_backup_restore.deviceallocate(type=>'sbt_tape');
> 7 dbms_backup_restore.restoresetdatafile;
> 8
> dbms_backup_restore.restorespfileto('/u01/app/oracle/product/9.2.0/9ir2dev/dbs/spfilets01.ora');
>
> 9 dbms_backup_restore.restorebackuppiece('c-2182868868-20060905-01',
> DONE=>done);
> 10 dbms_backup_restore.devicedeallocate;
> 11* end;
> 12 /
> -- This procedure will restore the control file as text
> *
> ERROR at line 1:
> ORA-19624: operation failed, retry possible
> ORA-19507: failed to retrieve sequential file,
> handle="c-2182868868-20060905-01", parms=""
> ORA-27029: skgfrtrv: sbtrestore returned error
> ORA-19511: Error received from media manager layer, error text:
> Backup file <c-2182868868-20060905-01> not found in NetBackup catalog
> ORA-07202: sltln: invalid parameter to sltln.
> ORA-06512: at "SYS.X$DBMS_BACKUP_RESTORE ", line 1371
> ORA-06512: at line 9
>
> The file does exist, as I restored it to a 64 bit server.
>
> The problem is that the datafiles cannot be restored without the
> controlfile.
> A new controlfile cannot be created without the datafiles.
>
> An interesting catch-22, no?
>
> At this point, I am ready to try building a database with the identical
> datafiles, and then attempt the restore over the new files.
> ( I know what the datafiles are due to job that runs periodically that
> backs up the controfile
> to trace - I restored the file manually from backups via NetBackup)
>
> Any thoughts on another way to do this restore?
>
> Thanks,
>
> Jared Still
> Certifiable Oracle DBA and Part Time Perl Evangelist
>

--
http://www.freelists.org/webpage/oracle-l
Received on Sat Sep 09 2006 - 16:07:23 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US