Skip to main content

Non ASM to ASM migration steps for Standlone database

prerequisite step:

1. Need to install and configure the GRID on the standalone server.

2. First check the locations of Parameter file, Control file, Data file, Temp file and Redo Log files. This is important piece of information as we move database files to ASM.

show parameter pfile;
select name from v$controlfile;
select name from v$datafile;
select name from v$tempfile;
select member from v$logfile;

3.Take backup of spfile using RMAN and restore it to ASM disk group.

rman target /

backup as backupset spfile;

restore spfile to '+DATA/spfileoradb.ora';


4.Rename old spfile as it no longer required

mv $ORACLE_HOME/dbs/spfileoradb.ora $ORACLE_HOME/dbs/spfileoradb.ora_old

5.Create new pfile which points to the spfile on ASM

vi $ORACLE_HOME/dbs/initoradb.ora

spfile='+DATA/spfileoradb.ora'

6.Bounce the database and check if it’s showing new location for spfile

shut immediate

startup nomount;

show Parameter pfile;

7. As our database is already in no-mount mode, we shall connect to RMAN to copy controlfiles from filesystem to ASM

rman target/

restore controlfile to '+DATA' from '/u01/app/oracle/oradata/oradb/control01.ctl';

restore controlfile to '+RECV' from '/u01/app/oracle/FRA/oradb/control02.ctl';


8.Find new controlfiles locations from asmcmd and update inside database

alter system set control_files='+DATA/CDB1/CONTROL/control01.ctl','+RECV/CDB1/CONTROL/control02.ctl' scope=spfile;

9.Bounce the database and put in mount mode. Check if database is showing new location for control files

shut immediate;

startup mount;

show parameter control_files

Controlfile migration to ASM done!


10.Let us move datafiles from filesystem to ASM. As our database is in mount mode, we can go ahead and use RMAN to copy datafiles to ASM


rman target/

backup as copy database format '+DATA';


11. witch the database to the data files on ASM

switch database to copy;


12. Migrate Temp File to ASM

Use below run code to migrate temp file to ASM

RMAN>run

{

set newname for tempfile '/u01/app/oracle/oradata/oradb/temp01.dbf' to '+DATA';

switch tempfile all;

}

Open the database and check new locations for datafiles and tempfile


alter database open;


select name from v$datafile;

select name from v$tempfile;



13.Migrate Redo Log Files to ASM


The simple way is to add new log members on ASM to every Redo Log group and drop the log members on disk. Let’s check available logfile and their path and status


SELECT a.group#, b.member, a.status FROM v$log a, v$logfile b WHERE a.group#=b.group#;



Add log members at new location, in ASM


alter database add logfile member '+DATA' to group 1;

alter database add logfile member '+DATA' to group 2;

alter database add logfile member '+DATA' to group 3;

alter database add logfile member '+RECV' to group 1;

alter database add logfile member '+RECV' to group 2;

alter database add logfile member '+RECV' to group 3;

Check if logfile are added to new location


SELECT a.group#, b.member, a.status FROM v$log a, V$logfile b WHERE a. group#=b.group#;


Let’s drop old logfiles from file system. To drop logfile member, Status should not be in current mode


SQL> ALTER DATABASE DROP LOGFILE MEMBER /u01/app/oracle/oradb/redo03.log';


SQL> alter system switch logfile;


SQL> ALTER DATABASE DROP LOGFILE MEMBER /u01/app/oracle/oradb/redo01.log';


SQL> alter system switch logfile;


SQL> ALTER DATABASE DROP LOGFILE MEMBER /u01/app/oracle/oradb/redo02.log';

Verify if redo log members are migrated to ASM


SQL> SELECT a.group#,b. member, a.status FROM v$log a , V$logfile b WHERE a.group#=b.group#;

Redo log file are migrated to ASM!


-- Re-start application services

Comments

Popular posts from this blog

ORA-28007: THE PASSWORD CANNOT NE REUSED

             - Here will see how to deal with  => ORA-28007: the password cannot be reused -  I got a request from client user, stating his account has been locked. When I check the status of the account I found the below. connect to SYS user & execute the below query of that database. SQL> select password,username,account_status,profile from dba_users where username='TEST'; PASSWORD               USERNAME   ACCOUNT_STATUS                 PROFILE ------------------             ----------------  -------------------------------           -------------------- AB2Aa8AC9971521e3     TEST       EXPIRED(GRACE)&LOCKED    NONAPP_USERS So, then I have unlocked the account and checked the same again & I found the below results. ...

CHANGING DBID FOR ORACLE DATABASE 11G

C:\Users\computer>sqlplus SQL*Plus: Release 11.1.0.7.0 - Production on Thu Sep 10 21:03:33 2013 Copyright (c) 1982, 2008, Oracle.  All rights reserved. Enter user-name: sys as sysdba Enter password: Connected to: Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - Production With the Partitioning, OLAP, Data Mining and Real Application Testing options SQL> select dbid from v$database;       DBID ---------- 2188161033 SQL> exit Disconnected from Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - Production With the Partitioning, OLAP, Data Mining and Real Application Testing options C:\Users\computer>nid DBNEWID: Release 11.1.0.7.0 - Production on Thu Sep 10 21:04:44 2013 Copyright (c) 1982, 2007, Oracle.  All rights reserved. Keyword     Description                    (Default) ---------------------------------------------------- TARGET ...