Oracle database 12c den önceki versiyonlarda datafileyi taşımak için öncelikle datafileyi offline moda alıp taşımak gerekiyordu. Oracle database 12c ile datafile’i offline moda çekmeden taşımak mümkün.
12c den önceki sürümlerde öncelikle datafile offline moda çekilmelidir.
SQL> select tablespace_name, file_name from dba_data_files;
TABLESPACE_NAME FILE_NAME
----------------- --------------------
SYSTEM /oradata/system.dbf
USERS /oradata/users.dbf
ETBS /oradata/etbs.dbf
UNDO1 /oradata/undo1.dbf
ETBS datafileyi farklı bir dizine taşıyacağım. Datafileyi offline moda çekip file system de farklı bir dizine taşımak için:
SQL> alter tablespace ETBS offline; SQL> exit; $ mv /oradata/etbs.dbf /u02/etbs.dbf
Taşıma işlemi tamamlandıktan sonra sqlplus ile bağlanıp datafileyi rename etmek gerekiyor.
SQL> alter tablespace ETBS rename datafile '/oradata/etbs.dbf' to '/u02/etbs.dbf'; Tablespace altered. SQL> alter tablespace ETBS online; Tablespace altered.
12c de Datafile Taşımak
Oracle database 12c de datafile aşağıdaki şekilde taşınabilir.
SQL> alter database move datafile '/oradata/etbs.dbf' to '/u02/etbs.dbf';