Welcome to Scribd, the world's digital library. Read, publish, and share books and documents. See more
Download
Standard view
Full view
of .
Save to My Library
Look up keyword
Like this
24Activity
0 of .
Results for:
No results containing your search query
P. 1
RMAN CONVERT DATABASE cross platform

RMAN CONVERT DATABASE cross platform

Ratings: (0)|Views: 2,822 |Likes:
Published by SHAHID FAROOQ

More info:

Published by: SHAHID FAROOQ on Aug 29, 2009
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as DOC, PDF, TXT or read online from Scribd
See more
See less

12/17/2012

pdf

text

original

 
RMAN CONVERT DATABASE cross PlatformApplies to:
Oracle Server - Enterprise Edition - Version: 10.2.0.1 to 10.2.0.4Information in this document applies to any platform.
Goal
Walk through RMAN CONVERT DATABASE feature in 10g Release 2 to accomplish cross platform databasemigration Note the following restrictions exist with Cross-Platform Transportable Database:1) The principal restriction on cross-platform transportable database is that the source and destination platformmust share the same endian format.2) Redo log files and control files from the source database are not transported. New control files and redo logfiles are created for the new database during the transport process, and an OPEN RESETLOGS is performed oncethe new database is created. Similarly, tempfiles belonging to locally managed temporary tablespaces are nottransported. The temporary tablespace will be re-created on the target platform when the transport script is run.3) BFILEs, External tables and directories, Password files are not transported.
Solution
1) Check that the source and destination platform belong to same ENDIAN format in the viewV$TRANSPORTABLE_PLATFORM. We will try to transport a database from Windows (32-bit) to Linux (32- bit). As seen below both belong to Little endian format:
SQL> select PLATFORM_NAME, ENDIAN_FORMAT from V$TRANSPORTABLE_PLATFORM;PLATFORM_NAME ENDIAN_FORMAT---------------------------------------- --------------Solaris[tm] OE (32-bit) BigSolaris[tm] OE (64-bit) BigMicrosoft Windows IA (32-bit) LittleLinux IA (32-bit) LittleAIX-Based Systems (64-bit) BigHP-UX (64-bit) BigHP Tru64 UNIX LittleHP-UX IA (64-bit) BigLinux IA (64-bit) LittleHP Open VMS LittleMicrosoft Windows IA (64-bit) LittleIBM zSeries Based Linux BigLinux 64-bit for AMD LittleApple Mac OS BigMicrosoft Windows 64-bit for AMD LittleSolaris Operating System (x86) LittleIBM Power Based Linux Big17 rows selected.
 
If the two platforms are not on the same endian format, you will need to use TRANSPORTABLE TABLESPACEinstead of CONVERT DATABASEsee Note 243304.110g : Transportable Tablespaces Across Different Platforms2) Use DBMS_TDB.CHECK_DB to check whether the database can be transported to a desired destination platform, and whether the current state of the database (such as incorrect compatibility settings, in-doubt or activetransactions) permits transport. Make sure your database is open in READ ONLY mode before you callDBMS_TDB.CHECK_DB. Since we need to transport to Linux we will call the procedure with followingarguments:
SQL> set serveroutput onSQL> declare2 db_ready boolean;3 begin4 db_ready := dbms_tdb.check_db('Linux IA (32-bit)');5 end;6 /PL/SQL procedure successfully completed.
If you call DBMS_TDB.CHECK_DB and no messages are displayed indicating conditions preventing transportBEFORE the "PL/SQL procedure successfully completed message", then your database is ready for transport.3) Use DBMS_TDB.CHECK_EXTERNAL to identify any external tables, directories or BFILEs. RMAN cannotautomate the transport of such files as mentioned above.
SQL> set serveroutput onSQL> declare2 external boolean;3 begin4 external := dbms_tdb.check_external;5 end;6 /The following directories exist in the database:SYS.DATA_PUMP_DIRPL/SQL procedure successfully completed.
If there are no external objects, then this procedure completes with no output. If there are external objects,however, the output will be somewhat similar to above.4) When the database is ready for transport, the RMAN CONVERT DATABASE command is run (when thesource database is READ ONLY), specifying a destination platform and how to name the output files. RMAN produces the following files needed to move the database to the destination system:a) A complete copy of the datafiles of the database, ready to be transported b) A PFILE for use with the new database on the destination platform, containing settings used in thePFILE/SPFILE from the source database.c) A transport script, which contains SQL statements used to create the new database on the destination platform
C:\>rman target / nocatalogRecovery Manager: Release 10.2.0.1.0 - Production on Fri Feb 2 17:05:35 2007Copyright (c) 1982, 2005, Oracle. All rights reserved.connected to target database: ORA10G (DBID=3926158280)using target database control file instead of recovery catalog
 
RMAN> CONVERT DATABASE NEW DATABASE 'LinDB10g'2> TRANSPORT SCRIPT 'D:\oracle\oradata\dbTransport\transport.sql'3> TO PLATFORM 'Linux IA (32-bit)'4> DB_FILE_NAME_CONVERT '+DG_DATA/ora10g/datafile' 'D:\oracle\oradata\dbTransport';Starting convert at 02-FEB-07allocated channel: ORA_DISK_1channel ORA_DISK_1: sid=90 devtype=DISKDirectory SYS.DATA_PUMP_DIR found in the databaseUser SYS with SYSDBA and SYSOPER privilege found in password filechannel ORA_DISK_1: starting datafile conversioninput datafile fno=00001 name=+DG_DATA/ora10g/datafile/system.257.609084887converted datafile=D:\ORACLE\ORADATA\DBTRANSPORT\SYSTEM.257.609084887channel ORA_DISK_1: datafile conversion complete, elapsed time: 00:00:45channel ORA_DISK_1: starting datafile conversioninput datafile fno=00002 name=+DG_DATA/ora10g/datafile/undotbs1.258.609084933converted datafile=D:\ORACLE\ORADATA\DBTRANSPORT\UNDOTBS1.258.609084933channel ORA_DISK_1: datafile conversion complete, elapsed time: 00:00:25channel ORA_DISK_1: starting datafile conversioninput datafile fno=00003 name=+DG_DATA/ora10g/datafile/sysaux.259.609084957converted datafile=D:\ORACLE\ORADATA\DBTRANSPORT\SYSAUX.259.609084957channel ORA_DISK_1: datafile conversion complete, elapsed time: 00:00:15channel ORA_DISK_1: starting datafile conversioninput datafile fno=00004 name=+DG_DATA/ora10g/datafile/users.260.609084973converted datafile=D:\ORACLE\ORADATA\DBTRANSPORT\USERS.260.609084973channel ORA_DISK_1: datafile conversion complete, elapsed time: 00:00:07Run SQL script D:\ORACLE\ORADATA\DBTRANSPORT\TRANSPORT.SQL on the target platform to createdatabaseEdit init.ora file D:\ORACLE\PRODUCT\10.2.0\DB_1\DATABASE\INIT_00I92IKQ_1_0.ORA. This PFILEwill be used to createthe database on the target platformTo recompile all PL/SQL modules, run utlirp.sql and utlrp.sql on the target platformTo change the internal database identifier, use DBNEWID UtilityFinished backup at 02-FEB-07
Check the output related to the transport script and the parameter file for the new database at the end above. WhenCONVERT DATABASE completes, the source database may be opened read-write again.5) Now copy the above files to the destination host. i.e. the converted datafiles, transport.sql script and the pfilegenerated.6) The PFILE generated by RMAN will have following sections:a) Parameters that need to be changed for the destination host environment b) Other parameters which are same as the source database parametersEdit the PFILE moved on the destination host to change the environment specific parameters.7) Now edit the TRANSPORT sql script to reflect the new path for datafiles in the CREATE CONTROLFILEsection of the script. Also change all references to the INIT.ORA in the script to the new path and name of theINIT.ORA modified above.8) Once the PFILE and TRANSPORT sql scripts are suitably modified invoke SQLPLUS on the destination hostafter setting the Oracle environment parameters and then run TRANSPORT.sql as:

Activity (24)

You've already reviewed this. Edit your review.
1 hundred reads
1 thousand reads
Fer Martinez liked this
Lior Vikel liked this
memonsalim liked this
Ed liked this
panarayana69 liked this

You're Reading a Free Preview

Download
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->