Sie sind auf Seite 1von 6

MIGRATION OF DATABASE FROM NONASM->ASM

ENVIRONMENT:

NONASM DATABASE NAME=TEST.

ASM INSTANCE NAME=+ASM

ASM DISKGROUP NAMES=+DG1,RECOVERYDEST

DATABASE FILE LOCATION=/ORAENG/APP/ORACLE/PRODUCT/10.2.0/ORADATA/TEST

Step 1:

START ASM INSTANCE

Config. FLASH RECOVERY AREA.

SQL> connect sys/sys@prod1 as sysdba


Connected.
SQL> alter database disable block change tracking;

Database altered.

SQL> alter system set db_recovery_file_dest_size=500m;

System altered.

SQL> alter system set db_recovery_file_dest=+RECOVERYDEST;

System altered

step 2 :
Migrate data files & control file.

By Using RMAN to migrate the data files to ASM disk groups.

SQL> alter system set db_create_file_dest=+DG1;

System altered.
SQL> alter system set control_files=+DG1/ctf1.dbf scope=spfile;

System altered.

SQL> shu immediate

Connect to RMAN:
[oracle@rac1 bin]$ ./rman target /

RMAN> startup nomount

Oracle instance started

RMAN> restore controlfile from /oracle/oradata/orcl/control01.ctl;

RMAN> alter database mount;

database mounted

RMAN> backup as copy database format +DG1;


RMAN> switch database to copy;

RMAN> alter database open;


database opened

RMAN> exit

Recovery Manager complete.

SQL> conn sys/oracle as sysdba

Connected.

SQL> select tablespace_name,file_name from dba_data_files;

TABLESPACE_NAME FILE_NAME

USERS +DG1/orcl/datafile/users

UNDOTBS1 +DG1/orcl/datafile/undotbs1
SYSAUX +DG1/orcl/datafile/sysaux

SYSTEM +DG1/mydb/datafile/system.257.705063763

SQL> select name from v$controlfile;

NAME
-

+DG1/ctf1.dbf

NO 16384 594

step 3:
Migrate temp tablespace.

SQL> alter tablespace temp add tempfile size 500m;

Tablespace altered.

SQL> select file_name from dba_temp_files;

FILE_NAME

+DG1/orcl/tempfile/temp

otherwise,
Create temporary tablespace in ASM disk group.

SQL> CREATE TABLESPACE temp1 TEMPFILE +DG11;

SQL> alter database default temporary tablespace temp1;

Database altered.

step 4:
Migrate redo logs.

SQL> select member,group# from v$logfile;

MEMBER GROUP#
-

/oracle/oradata/mydb/redo03.log 3

/oracle/oradata/mydb/redo02.log 2

/oracle/oradata/mydb/redo01.log 1

SQL> alter database add logfile group 4 size 5m;

Database altered.

SQL> alter database add logfile group 5 size 5m;

Database altered.

SQL> alter database add logfile group 6 size 5m;

Database altered.

SQL> select member,group# from v$logfile;

MEMBER GROUP#

/oracle/oradata/orcl/redo03.log 3

/oracle/oradata/orcl/redo02.log 2

/oracle/oradata/orcl/redo01.log 1

+DG1/orcl/onlinelog/group_4.264.911065691 4

+DG1/orcl/onlinelog/group_5.265.911065703 5

+DG1/orcl/onlinelog/group_6.266.911065719 6

SQL> alter system switch logfile;

System altered.

SQL> alter database drop logfile group 2;


Database altered.

SQL> alter database drop logfile group 3;

Database altered.

SQL> alter database drop logfile group 4;

Database altered.

SQL> alter database drop logfile group 1;

Database altered.

Add additional control file.

If an additional control file is required for redundancy,

you can create it in ASM as you would on any other filesystem.

SQL> connect sys/sys@prod1 as sysdba


Connected to an idle instance.
SQL> startup mount
ORACLE instance started.

SQL> alter database backup controlfile to +DG1/cf2.dbf;

Database altered.

SQL> alter system set control_files=+DG1/cf1.dbf


,+DG1/cf2.dbf scope=spfile;

System altered.

SQL> shutdown immediate;


ORA-01109: database not open

Database dismounted.
ORACLE instance shut down.
SQL> startup
ORACLE instance started.

SQL> select name from v$controlfile;


NAME

+DG1/cf1.dbf
+DG1/cf2.dbf

step 5:
Migrate spfile:

Create a copy of the SPFILE in the ASM disk group.


The SPFILE for the migrated database will be stored as +DG1/spfile.

If the database is using an SPFILE already, then run these commands:

IN RMAN

RMAN>

run {
BACKUP AS BACKUPSET SPFILE;
RESTORE SPFILE TO +DG1/spfile;
}

SQL> create spfile=+DG1/spfile from pfile=/oracle/init.ora;

Das könnte Ihnen auch gefallen