How to Move a Datafile to Different Location
If the database is in archivelog mode, you can move the datafile while database is up. Take the datafile offline, copy (or move) the datafile to the new location:
1 2 |
ALTER DATABASE DATAFILE '/old_path/name_of_datafile' OFFLINE !mv /old_path/name_of_file /new_path/name_of_file |
Then issue the following commands to rename the datafile and make it online:
1 2 3 |
ALTER DATABASE RENAME FILE '/old_path/name_of_datafile' TO '/new_path/name_of_file'; RECOVER DATAFILE '/new_path/name_of_file'; ALTER DATABASE DATAFILE '/new_path/name_of_file' ONLINE; |
If the database is in no archivelog mode, you need to shutdown the database, open the database in mount mode and copy/move the datafile:
1 2 3 |
SHUTDOWN IMMEDIATE; STARTUP MOUNT; !mv /old_path/name_of_file /new_path/name_of_file |
Then rename the file and open the database:
1 2 3 |
ALTER DATABASE RENAME FILE '/old_path/name_of_datafile' TO '/new_path/name_of_file'; ALTER DATABASE OPEN; |