Relocating and Renaming Datafiles

Copying datafiles from +data/coco,+reco/coco to +data/cocoprim,+reco/cocoprim.

ASMCMD> mkdir +DATA/COCOPRIM/ mkdir +RECO/COCOPRIM/
ASMCMD> cd +DATA/COCOPRIM/
ASMCMD> mkdir CONTROLFILE/ DATAFILE/ ONLINELOG/ PARAMETERFILE/ TEMPFILE/
ASMCMD> cd +RECO/COCOPRIM/
ASMCMD> mkdir CONTROLFILE/ ONLINELOG/ ARCHIVELOG/

SQL> create directory coco_data as '+data/coco';
SQL> create directory cocoprim_data as '+data/cocoprim';
SQL> create directory coco_reco as '+reco/coco';
SQL> create directory cocoprim_reco as '+reco/cocoprim';

SQL> alter database begin backup;

SQL> BEGIN
DBMS_FILE_TRANSFER.COPY_FILE('coco_data','spfilecoco.ora','cocoprim_data','spfilecoco.ora');
DBMS_FILE_TRANSFER.COPY_FILE('coco_data','sysaux01.dbf','cocoprim_data','sysaux01.dbf');
DBMS_FILE_TRANSFER.COPY_FILE('coco_data','system01.dbf','cocoprim_data','system01.dbf');
DBMS_FILE_TRANSFER.COPY_FILE('coco_data','temp01.dbf','cocoprim_data','temp01.dbf');
DBMS_FILE_TRANSFER.COPY_FILE('coco_data','undotbs01.dbf','cocoprim_data','undotbs01.dbf');
DBMS_FILE_TRANSFER.COPY_FILE('coco_data','undotbs02.dbf','cocoprim_data','undotbs02.dbf');
DBMS_FILE_TRANSFER.COPY_FILE('coco_data','users01.dbf','cocoprim_data','users01.dbf');
DBMS_FILE_TRANSFER.COPY_FILE('coco_data','tbs_demo_1.dbf','cocoprim_data','tbs_demo_1.dbf');
DBMS_FILE_TRANSFER.COPY_FILE('coco_data','redo01.log','cocoprim_data','redo01.log');
DBMS_FILE_TRANSFER.COPY_FILE('coco_data','redo02.log','cocoprim_data','redo02.log');
DBMS_FILE_TRANSFER.COPY_FILE('coco_data','redo03.log','cocoprim_data','redo03.log');
DBMS_FILE_TRANSFER.COPY_FILE('coco_data','redo04.log','cocoprim_data','redo04.log');
DBMS_FILE_TRANSFER.COPY_FILE('coco_reco','redo01b.log','cocoprim_reco','redo05.log');
DBMS_FILE_TRANSFER.COPY_FILE('coco_reco','redo02b.log','cocoprim_reco','redo06.log');
DBMS_FILE_TRANSFER.COPY_FILE('coco_reco','redo03b.log','cocoprim_reco','redo05.log');
DBMS_FILE_TRANSFER.COPY_FILE('coco_reco','redo04b.log','cocoprim_reco','redo06.log');
DBMS_FILE_TRANSFER.COPY_FILE('coco_data','control01.ctl','cocoprim_data','control01.ctl');
DBMS_FILE_TRANSFER.COPY_FILE('coco_reco','control02.ctl','cocoprim_reco','control02.ctl');
END;
/

SQL> alter database end backup;

Relocating parameter file.

~]$ srvctl config database -d cocoprim
Database unique name: cocoprim
Database name: coco
Oracle home: /u01/app/oracle/product/11.2.0/db_1
Oracle user: oracle
Spfile: +DATA/coco/spfilecoco.ora
Domain:
Start options: open
Stop options: immediate
Database role: PRIMARY
Management policy: AUTOMATIC
Server pools: cocoprim
Database instances: coco1,coco2
Disk Groups: DATA,RECO
Mount point paths:
Services:
Type: RAC
Database is administrator managed

~]$ srvctl modify database -d cocoprim -p +DATA/cocoprim/spfilecoco.ora

~]$ srvctl config database -d cocoprim
Database unique name: cocoprim
Database name: coco
Oracle home: /u01/app/oracle/product/11.2.0/db_1
Oracle user: oracle
Spfile: +DATA/cocoprim/spfilecoco.ora
Domain:
Start options: open
Stop options: immediate
Database role: PRIMARY
Management policy: AUTOMATIC
Server pools: cocoprim
Database instances: coco1,coco2
Disk Groups: DATA,RECO
Mount point paths:
Services:
Type: RAC
Database is administrator managed

Relocating control files.

~]$ srvctl stop instance -d cocoprim -i coco1
~]$ srvctl start instance -d cocoprim -i coco1 -o nomount

SQL> alter system set control_files='+DATA/coco/control01.ctl','+DATA/coco/control02.ctl' sid='*' scope=spfile;

~]$ srvctl stop instance -d cocoprim -i coco1
~]$ srvctl start instance -d cocoprim -i coco1 -o mount

Relocating and renaming datafiles.

SQL> select 'alter database rename file ''' || name || ''' to ''+DATA/cocoprim/' || substr(name, instr(name, '/', -1) + 1) || ''';' from v$datafile order by file#;

SQL> select 'alter database rename file ''' || name || ''' to ''+DATA/cocoprim/' || substr(name, instr(name, '/', -1) + 1) || ''';' from v$tempfile order by file#;

SQL> select 'alter database rename file ''' || member || ''' to ''+RECO/cocoprim/onlinelog/' || substr(member, instr(member, '/', -1) + 1) || ''';' from v$logfile order by group#;