SQL> ALTER DATABASE DISABLE BLOCK CHANGE TRACKING;
Set CONTROL_FILES to the ASM locations and start the instance.
SQL> ALTER SYSTEM SET CONTROL_FILES='+DATADG','+FRADG' SCOPE=spfile;
SQL> SHUTDOWN IMMEDIATE
SQL> STARTUP NOMOUNT
Restore controlfile into the new ASM location.
RMAN> CONNECT TARGET
RMAN> RESTORE CONTROLFILE FROM '<old_controlfile_path>
Backup the database into the ASM disk group.
RMAN> ALTER DABASE MOUNT;
RMAN> BACKUP AS COPY DATABASE FORMAT '+DATADG';
Switch all datafiles and tempfiles to the new ASM location.
RMAN> SWITCH DATABASE TO COPY;
Backup the read only tablespaces into the ASM disk group.
SQL> ALTER TABLESPACE <tablespace_name>
RMAN> BACKUP AS COPY TABLESPACE <tablespace_name> FORMAT '+DATADG';
RMAN> SWITCH TABLESPACE <tablespace_name> TO COPY;
SQL> ALTER TABLESPACE <tablespace_name> ONLINE;
RMAN> RUN {
SET NEWNAME FOR TEMPFILE 1 TO '+DATADG';
...
SWITCH TEMPFILE ALL;
}
Open the database.
RMAN> ALTER DATABASE OPEN;
Drop online redo log groups and re-create them in ASM disk group.
SQL> select group#, status from v$log;
GROUP# STATUS
---------- ----------------
1 CURRENT
2 INACTIVE
3 INACTIVE
SQL> ALTER DATABASE DROP LOGFILE GROUP 3;
SQL> ALTER DATABASE ADD LOGFILE GROUP 3 ('+DATADG','+FRADG') SIZE 500M;
SQL> ALTER SYSTEM ARCHIVE LOG CURRENT;
SQL> ALTER SYSTEM CHECKPOINT;
Repeat the above step for other logfile groups.
Set archive log destination to the ASM location.
SQL> ALTER SYSTEM SET LOG_ARCHIVE_DEST_1 = 'location=+FRADG' SCOPE=BOTH;
Relocate spfile to an ASM disk group.
SQL> CREATE PFILE='$ORACLE_HOME/dbs/initORCL.ora' FROM spfile;
SQL> CREATE SPFILE='+DATADG/ORCL/spfileORCL.ora' FROM PFILE='$ORACLE_HOME/dbs/initORCL.ora';
Shutdown database.
SQL> SHUTDOWN IMMEDIATE
Set ASM environment and modify the oracle restart configuration for spfile.
$ srvctl modify database -d ORCL -p '+DATADG/ORCL/spfileORCL.ora'
No comments:
Post a Comment