Wednesday, May 14, 2014

How to Migrate Oracle 12c Database to ASM

###############################################
How to Migrate Oracle 12c Database to ASM
###############################################


======================================================
Step 1. Install Grid Infrastructure in new ORACLE_HOME
======================================================
Note: Already done (Read my post about it).



======================================================
Step 2. Creast ASM Instance
======================================================
Note: Already done (Read my post about it).



======================================================
Step 3. Create PFILE and modify control_file parameter
======================================================
SQL> create pfile from spfile;

File created.

SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.


SQL> !vi $ORACLE_HOME/dbs/initcdbdemo.ora

control_files='+DATA'

SQL> CREATE SPFILE FROM PFILE;

File created.



========================================================
Step 4. Note down the location of Current Control Files
========================================================
SQL> select name from v$controlfile;

NAME
------------------------------------------------------------
/u03/oradata/cdbdemo/control01.ctl
/u01/app/oracle/fast_recovery_area/cdbdemo/control02.ctl




========================================================
Step 5. Startup in NOMOUNT
========================================================
SQL> startup nomount;
ORACLE instance started.

Total System Global Area 1252663296 bytes
Fixed Size                  2287864 bytes
Variable Size             788530952 bytes
Database Buffers          452984832 bytes
Redo Buffers                8859648 bytes



========================================================
Step 6. Restore Controlfile and MOUNT
========================================================
SQL> !rman target /

Recovery Manager: Release 12.1.0.1.0 - Production on Thu May 8 03:25:17 2014

Copyright (c) 1982, 2013, Oracle and/or its affiliates.  All rights reserved.

connected to target database: CDBDEMO (not mounted)


RMAN> restore controlfile from '/u03/oradata/cdbdemo/control01.ctl';

Starting restore at 08-MAY-14
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=126 device type=DISK

channel ORA_DISK_1: copied control file copy
output file name=+DATA/CDBDEMO/CONTROLFILE/current.256.846991571
Finished restore at 08-MAY-14


RMAN> alter database mount;

Statement processed
released channel: ORA_DISK_1


========================================================
Step 7. Backup database into ASM
========================================================
RMAN> backup as copy database format '+DATA';

Starting backup at 08-MAY-14
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=126 device type=DISK
channel ORA_DISK_1: starting datafile copy
input datafile file number=00001 name=/u03/oradata/cdbdemo/system01.dbf
output file name=+DATA/CDBDEMO/DATAFILE/system.257.846991607 tag=TAG20140508T032646 RECID=3 STAMP=846991644
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:45
channel ORA_DISK_1: starting datafile copy
input datafile file number=00004 name=/u03/oradata/cdbdemo/undotbs01.dbf
output file name=+DATA/CDBDEMO/DATAFILE/undotbs1.258.846991651 tag=TAG20140508T032646 RECID=4 STAMP=846991697
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:55
channel ORA_DISK_1: starting datafile copy
input datafile file number=00003 name=/u03/oradata/cdbdemo/sysaux01.dbf
output file name=+DATA/CDBDEMO/DATAFILE/sysaux.259.846991707 tag=TAG20140508T032646 RECID=5 STAMP=846991740
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:35
channel ORA_DISK_1: starting datafile copy
input datafile file number=00007 name=/u03/oradata/cdbdemo/pdbseed/sysaux01.dbf
output file name=+DATA/CDBDEMO/F84403ED7DE357E2E043C9A8A8C0FB1F/DATAFILE/sysaux.260.846991743 tag=TAG20140508T032646 RECID=6 STAMP=846991771
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:35
channel ORA_DISK_1: starting datafile copy
input datafile file number=00005 name=/u03/oradata/cdbdemo/pdbseed/system01.dbf
output file name=+DATA/CDBDEMO/F84403ED7DE357E2E043C9A8A8C0FB1F/DATAFILE/system.261.846991777 tag=TAG20140508T032646 RECID=7 STAMP=846991790
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:15
channel ORA_DISK_1: starting datafile copy
input datafile file number=00006 name=/u03/oradata/cdbdemo/users01.dbf
output file name=+DATA/CDBDEMO/DATAFILE/users.262.846991793 tag=TAG20140508T032646 RECID=8 STAMP=846991792
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:01
Finished backup at 08-MAY-14

Starting Control File and SPFILE Autobackup at 08-MAY-14
piece handle=/u01/app/oracle/fast_recovery_area/CDBDEMO/autobackup/2014_05_08/o1_mf_s_846990695_9ppdmoxb_.bkp comment=NONE
Finished Control File and SPFILE Autobackup at 08-MAY-14



========================================================
Step 8. Switch to ASM
========================================================
RMAN> switch database to copy;

datafile 1 switched to datafile copy "+DATA/CDBDEMO/DATAFILE/system.257.846991607"
datafile 3 switched to datafile copy "+DATA/CDBDEMO/DATAFILE/sysaux.259.846991707"
datafile 4 switched to datafile copy "+DATA/CDBDEMO/DATAFILE/undotbs1.258.846991651"
datafile 5 switched to datafile copy "+DATA/CDBDEMO/F84403ED7DE357E2E043C9A8A8C0FB1F/DATAFILE/system.261.846991777"
datafile 6 switched to datafile copy "+DATA/CDBDEMO/DATAFILE/users.262.846991793"
datafile 7 switched to datafile copy "+DATA/CDBDEMO/F84403ED7DE357E2E043C9A8A8C0FB1F/DATAFILE/sysaux.260.846991743"



========================================================
Step 9. Open Database
========================================================
RMAN> alter database open;

Statement processed




========================================================
Step 10. Move Online Redo Log Files
========================================================
RMAN> select member from v$logfile;

MEMBER
--------------------------------------------------------------------------------
/u03/oradata/cdbdemo/redo03.log
/u03/oradata/cdbdemo/redo02.log
/u03/oradata/cdbdemo/redo01.log

RMAN> ALTER DATABASE DROP LOGFILE GROUP 2;

Statement processed


RMAN> ALTER DATABASE ADD LOGFILE GROUP 2 ('+DATA/CDBDEMO/redo02.log') SIZE 10M;

Statement processed


RMAN> SELECT group#,status from V$LOG;

    GROUP# STATUS
---------- ----------------
         1 ACTIVE
         2 CURRENT
         3 UNUSED
         4 UNUSED

RMAN> ALTER SYSTEM CHECKPOINT;

Statement processed



========================================================
Step 11. Move TEMP Files - CDB
========================================================
SQL> select name from v$tempfile;

NAME
------------------------------------------------------------
/u03/oradata/cdbdemo/temp01.dbf
/u03/oradata/cdbdemo/pdbseed/pdbseed_temp01.dbf

SQL> ALTER TABLESPACE TEMP ADD TEMPFILE '+DATA' SIZE 10M;

Tablespace altered.



========================================================
Step 12. Move TEMP Files - PDBS
========================================================
SQL> ALTER SESSION SET CONTAINER=PDB$SEED;

Session altered.

SQL> select name from v$tempfile;

NAME
------------------------------------------------------------
/u03/oradata/cdbdemo/pdbseed/pdbseed_temp01.dbf


SQL> ALTER TABLESPACE TEMP ADD TEMPFILE '+DATA' SIZE 20M;

Tablespace altered.




============================================
MOVE DATAFILE ONLINE to ASM (Oracle 12c)
===========================================
SQL> SELECT FILE_NAME,Round( BYTES/1024/1024) "SizeMB",STATUS,ONLINE_STATUS FROM DBA_DATA_FILES
WHERE TABLESPACE_NAME = 'USERS';

FILE_NAME                                                   SizeMB STATUS          ONLINE_STATUS
------------------------------------------------------- ---------- --------------- ---------------
+DATA/CDBDEMO/DATAFILE/users.262.846991793                    5.00 AVAILABLE       ONLINE
/u03/oradata/cdbdemo/users02.dbf                             10.00 AVAILABLE       ONLINE


SQL> ALTER DATABASE MOVE DATAFILE '/u03/oradata/cdbdemo/users02.dbf' TO '+DATA';

Database altered.


Enjoy....Abid Malik

No comments:

Post a Comment