Relocate Oracle Database data files
In this tutorial we will se how to relocate database data files offline. This can be done when doing S.O. disk maintenance. This can be done offline and also online.
1-Find the location of your datafiles :
SQL > set pagesize 600
SQL > SELECT name FROM v $ datafile ;
NAME
--------------------------------------------------------------------------------
/ u00 / oracle / oradata / RCAT / system01 . dbf
/ u00 / oracle / oradata / RCAT / sysaux01 . dbf
/ u00 / oracle / oradata / RCAT / undotbs01 . dbf
/ u00 / oracle / oradata / RCAT / users01 . dbf
/ u00 / oracle / oradata / RCAT / RMAN_CATALOG . dbf
/ u00 / oracle / oradata / RCAT / ruei . dbf
/ u00 / oracle / oradata / RCAT / users00 . dbf
/ u00 / oracle / oradata / RCAT / users02 . dbf
/ u00 / oracle / oradata / RCAT / users03 . dbf
/ u00 / oracle / oradata / RCAT / users04 . dbf
/ u00 / oracle / oradata / RCAT / users05 . dbf
/ u00 / oracle / oradata / RCAT / users06 . dbf
/ u00 / oracle / oradata / RCAT / users07 . dbf
/ u00 / oracle / oradata / RCAT / users08 . dbf
/ u00 / oracle / oradata / RCAT / users09 . dbf
/ u00 / oracle / oradata / RCAT / users10 . dbf
/ u00 / oracle / oradata / RCAT / users11 . dbf
/ u00 / oracle / oradata / RCAT / users12 . dbf
/ u00 / oracle / oradata / RCAT / users13 . dbf
/ u00 / oracle / oradata / RCAT / users14 . dbf
/ u00 / oracle / oradata / RCAT / users15 . dbf
/ u00 / oracle / oradata / RCAT / users16 . dbf
/ u00 / oracle / oradata / RCAT / users17 . dbf
/ u00 / oracle / oradata / RCAT / users18 . dbf
/ u00 / oracle / oradata / RCAT / users19 . dbf
/ u00 / oracle / oradata / RCAT / users20 . dbf
/ u00 / oracle / oradata / RCAT / users21 . dbf
/ u00 / oracle / oradata / RCAT / users22 . dbf
/ u00 / oracle / oradata / RCAT / users23 . dbf
/ u00 / oracle / oradata / RCAT / users24 . dbf
/ u00 / oracle / oradata / RCAT / users25 . dbf
/ u00 / oracle / oradata / RCAT / users26 . dbf
/ u00 / oracle / oradata / RCAT / users27 . dbf
/ u00 / oracle / oradata / RCAT / users28 . dbf
/ u00 / oracle / oradata / RCAT / users29 . dbf
/ u00 / oracle / oradata / RCAT / uxconf01 . dbf
/ u00 / oracle / oradata / RCAT / uxstat01 . dbf
/ u00 / oracle / oradata / RCAT / uxtemp01 . dbf
38 rows selected .
2-Create the move script (this script will help you move your data files to the new location).
SQL > select ' mv ' || file_name || ' /u01/oracle/oradata/RCAT/' from dba_data_files ;
'MV' || FILE_NAME || '/U01/ORACLE/ORADATA/RCAT/'
--------------------------------------------------------------------------------
mv / u00 / oracle / oradata / RCAT / users01 . dbf / u01 / oracle / oradata / RCAT /
mv / u00 / oracle / oradata / RCAT / undotbs01 . dbf / u01 / oracle / oradata / RCAT /
mv / u00 / oracle / oradata / RCAT / sysaux01 . dbf / u01 / oracle / oradata / RCAT /
mv / u00 / oracle / oradata / RCAT / system01 . dbf / u01 / oracle / oradata / RCAT /
mv / u00 / oracle / oradata / RCAT / RMAN_CATALOG . dbf / u01 / oracle / oradata / RCAT /
mv / u00 / oracle / oradata / RCAT / ruei . dbf / u01 / oracle / oradata / RCAT /
mv / u00 / oracle / oradata / RCAT / users00 . dbf / u01 / oracle / oradata / RCAT /
mv / u00 / oracle / oradata / RCAT / users02 . dbf / u01 / oracle / oradata / RCAT /
mv / u00 / oracle / oradata / RCAT / users03 . dbf / u01 / oracle / oradata / RCAT /
mv / u00 / oracle / oradata / RCAT / users04 . dbf / u01 / oracle / oradata / RCAT /
mv / u00 / oracle / oradata / RCAT / users05 . dbf / u01 / oracle / oradata / RCAT /
mv / u00 / oracle / oradata / RCAT / users06 . dbf / u01 / oracle / oradata / RCAT /
mv / u00 / oracle / oradata / RCAT / users07 . dbf / u01 / oracle / oradata / RCAT /
mv / u00 / oracle / oradata / RCAT / users08 . dbf / u01 / oracle / oradata / RCAT /
mv / u00 / oracle / oradata / RCAT / users09 . dbf / u01 / oracle / oradata / RCAT /
mv / u00 / oracle / oradata / RCAT / users10 . dbf / u01 / oracle / oradata / RCAT /
mv / u00 / oracle / oradata / RCAT / users11 . dbf / u01 / oracle / oradata / RCAT /
mv / u00 / oracle / oradata / RCAT / users12 . dbf / u01 / oracle / oradata / RCAT /
mv / u00 / oracle / oradata / RCAT / users13 . dbf / u01 / oracle / oradata / RCAT /
mv / u00 / oracle / oradata / RCAT / users14 . dbf / u01 / oracle / oradata / RCAT /
mv / u00 / oracle / oradata / RCAT / users15 . dbf / u01 / oracle / oradata / RCAT /
mv / u00 / oracle / oradata / RCAT / users16 . dbf / u01 / oracle / oradata / RCAT /
mv / u00 / oracle / oradata / RCAT / users17 . dbf / u01 / oracle / oradata / RCAT /
mv / u00 / oracle / oradata / RCAT / users18 . dbf / u01 / oracle / oradata / RCAT /
mv / u00 / oracle / oradata / RCAT / users19 . dbf / u01 / oracle / oradata / RCAT /
mv / u00 / oracle / oradata / RCAT / users20 . dbf / u01 / oracle / oradata / RCAT /
mv / u00 / oracle / oradata / RCAT / users21 . dbf / u01 / oracle / oradata / RCAT /
mv / u00 / oracle / oradata / RCAT / users22 . dbf / u01 / oracle / oradata / RCAT /
mv / u00 / oracle / oradata / RCAT / users23 . dbf / u01 / oracle / oradata / RCAT /
mv / u00 / oracle / oradata / RCAT / users24 . dbf / u01 / oracle / oradata / RCAT /
mv / u00 / oracle / oradata / RCAT / users25 . dbf / u01 / oracle / oradata / RCAT /
mv / u00 / oracle / oradata / RCAT / users26 . dbf / u01 / oracle / oradata / RCAT /
mv / u00 / oracle / oradata / RCAT / users27 . dbf / u01 / oracle / oradata / RCAT /
mv / u00 / oracle / oradata / RCAT / users28 . dbf / u01 / oracle / oradata / RCAT /
mv / u00 / oracle / oradata / RCAT / users29 . dbf / u01 / oracle / oradata / RCAT /
mv / u00 / oracle / oradata / RCAT / uxconf01 . dbf / u01 / oracle / oradata / RCAT /
mv / u00 / oracle / oradata / RCAT / uxstat01 . dbf / u01 / oracle / oradata / RCAT /
mv / u00 / oracle / oradata / RCAT / uxtemp01 . dbf / u01 / oracle / oradata / RCAT /
38 rows selected .
3-Shutdown your database.
SQL > shutdown immediate ;
Database closed .
Database dismounted .
ORACLE instance shut down .
4-Run the "mv" script create at step 2.
mv / u00 / oracle / oradata / RCAT / users01 . dbf / u01 / oracle / oradata / RCAT /
mv / u00 / oracle / oradata / RCAT / undotbs01 . dbf / u01 / oracle / oradata / RCAT /
mv / u00 / oracle / oradata / RCAT / sysaux01 . dbf / u01 / oracle / oradata / RCAT /
mv / u00 / oracle / oradata / RCAT / system01 . dbf / u01 / oracle / oradata / RCAT /
mv / u00 / oracle / oradata / RCAT / RMAN_CATALOG . dbf / u01 / oracle / oradata / RCAT /
mv / u00 / oracle / oradata / RCAT / ruei . dbf / u01 / oracle / oradata / RCAT /
..............
..............
..............
5-Start you database in mount mode().
[ oracle @ DCG023 bin ] $ sqlplus / as sysdba
SQL * Plus : Release 11 . 2 . 0 . 1 . 0 Production on Mon Sep 9 13 : 52 : 10 2013
Copyright ( c ) 1982 , 2009 , Oracle . All rights reserved .
Connected to an idle instance .
SQL > startup mount ;
ORACLE instance started .
Total System Global Area 1603411968 bytes
Fixed Size 2213776 bytes
Variable Size 1006635120 bytes
Database Buffers 587202560 bytes
Redo Buffers 7360512 bytes
Database mounted .
SQL >
6-Rename the file within the Oracle dictionary
alter database rename file '/u00/oracle/oradata/RCAT/users01.dbf' to '/u01/oracle/oradata/RCAT/users01.dbf' ;
alter database rename file '/u00/oracle/oradata/RCAT/undotbs01.dbf' to '/u01/oracle/oradata/RCAT/undotbs01.dbf' ;
alter database rename file '/u00/oracle/oradata/RCAT/sysaux01.dbf' to '/u01/oracle/oradata/RCAT/sysaux01.dbf' ;
alter database rename file '/u00/oracle/oradata/RCAT/system01.dbf' to '/u01/oracle/oradata/RCAT/system01.dbf' ;
alter database rename file '/u00/oracle/oradata/RCAT/RMAN_CATALOG.dbf' to '/u01/oracle/oradata/RCAT/RMAN_CATALOG.dbf' ;
alter database rename file '/u00/oracle/oradata/RCAT/ruei.dbf' to '/u01/oracle/oradata/RCAT/ruei.dbf' ;
alter database rename file '/u00/oracle/oradata/RCAT/users00.dbf' to '/u01/oracle/oradata/RCAT/users00.dbf' ;
alter database rename file '/u00/oracle/oradata/RCAT/users02.dbf' to '/u01/oracle/oradata/RCAT/users02.dbf' ;
alter database rename file '/u00/oracle/oradata/RCAT/users03.dbf' to '/u01/oracle/oradata/RCAT/users03.dbf' ;
alter database rename file '/u00/oracle/oradata/RCAT/users04.dbf' to '/u01/oracle/oradata/RCAT/users04.dbf' ;
alter database rename file '/u00/oracle/oradata/RCAT/users05.dbf' to '/u01/oracle/oradata/RCAT/users05.dbf' ;
alter database rename file '/u00/oracle/oradata/RCAT/users06.dbf' to '/u01/oracle/oradata/RCAT/users06.dbf' ;
alter database rename file '/u00/oracle/oradata/RCAT/users07.dbf' to '/u01/oracle/oradata/RCAT/users07.dbf' ;
alter database rename file '/u00/oracle/oradata/RCAT/users08.dbf' to '/u01/oracle/oradata/RCAT/users08.dbf' ;
alter database rename file '/u00/oracle/oradata/RCAT/users09.dbf' to '/u01/oracle/oradata/RCAT/users09.dbf' ;
alter database rename file '/u00/oracle/oradata/RCAT/users10.dbf' to '/u01/oracle/oradata/RCAT/users10.dbf' ;
alter database rename file '/u00/oracle/oradata/RCAT/users11.dbf' to '/u01/oracle/oradata/RCAT/users11.dbf' ;
alter database rename file '/u00/oracle/oradata/RCAT/users12.dbf' to '/u01/oracle/oradata/RCAT/users12.dbf' ;
alter database rename file '/u00/oracle/oradata/RCAT/users13.dbf' to '/u01/oracle/oradata/RCAT/users13.dbf' ;
alter database rename file '/u00/oracle/oradata/RCAT/users14.dbf' to '/u01/oracle/oradata/RCAT/users14.dbf' ;
alter database rename file '/u00/oracle/oradata/RCAT/users15.dbf' to '/u01/oracle/oradata/RCAT/users15.dbf' ;
alter database rename file '/u00/oracle/oradata/RCAT/users16.dbf' to '/u01/oracle/oradata/RCAT/users16.dbf' ;
alter database rename file '/u00/oracle/oradata/RCAT/users17.dbf' to '/u01/oracle/oradata/RCAT/users17.dbf' ;
alter database rename file '/u00/oracle/oradata/RCAT/users18.dbf' to '/u01/oracle/oradata/RCAT/users18.dbf' ;
alter database rename file '/u00/oracle/oradata/RCAT/users19.dbf' to '/u01/oracle/oradata/RCAT/users19.dbf' ;
alter database rename file '/u00/oracle/oradata/RCAT/users20.dbf' to '/u01/oracle/oradata/RCAT/users20.dbf' ;
alter database rename file '/u00/oracle/oradata/RCAT/users21.dbf' to '/u01/oracle/oradata/RCAT/users21.dbf' ;
alter database rename file '/u00/oracle/oradata/RCAT/users22.dbf' to '/u01/oracle/oradata/RCAT/users22.dbf' ;
alter database rename file '/u00/oracle/oradata/RCAT/users23.dbf' to '/u01/oracle/oradata/RCAT/users23.dbf' ;
alter database rename file '/u00/oracle/oradata/RCAT/users24.dbf' to '/u01/oracle/oradata/RCAT/users24.dbf' ;
alter database rename file '/u00/oracle/oradata/RCAT/users25.dbf' to '/u01/oracle/oradata/RCAT/users25.dbf' ;
alter database rename file '/u00/oracle/oradata/RCAT/users26.dbf' to '/u01/oracle/oradata/RCAT/users26.dbf' ;
alter database rename file '/u00/oracle/oradata/RCAT/users27.dbf' to '/u01/oracle/oradata/RCAT/users27.dbf' ;
alter database rename file '/u00/oracle/oradata/RCAT/users28.dbf' to '/u01/oracle/oradata/RCAT/users28.dbf' ;
alter database rename file '/u00/oracle/oradata/RCAT/users29.dbf' to '/u01/oracle/oradata/RCAT/users29.dbf' ;
alter database rename file '/u00/oracle/oradata/RCAT/uxconf01.dbf' to '/u01/oracle/oradata/RCAT/uxconf01.dbf' ;
alter database rename file '/u00/oracle/oradata/RCAT/uxstat01.dbf' to '/u01/oracle/oradata/RCAT/uxstat01.dbf' ;
alter database rename file '/u00/oracle/oradata/RCAT/uxtemp01.dbf' to '/u01/oracle/oradata/RCAT/uxtemp01.dbf' ;
alter database rename file '/u00/oracle/oradata/RCAT/uxstat01.dbf' to '/u01/oracle/oradata/RCAT/uxstat01.dbf' ;
7-Open your database
SQL > ALTER DATABASE OPEN ;
Database altered .
SQL >
Ok, that was it , we just altered our data file locations using the offline way.