===============================
按表空间---移动数据文件(数据库打开,归档模式)
===============================
SQL> create tablespace t1 datafile '/u01/app/oracle/oradata/orcl/t1.dbf' size 1M;
SQL> create table test(id number) tablespace t1;
SQL> insert into test values(1);
SQL> commit;
SQL> select * from test;
ID
----------
1
SQL> select name from v$dbfile;
NAME
--------------------------------------------------------------------------------
/u01/app/oracle/oradata/orcl/users01.dbf
/u01/app/oracle/oradata/orcl/undotbs01.dbf
/u01/app/oracle/oradata/orcl/sysaux01.dbf
/u01/app/oracle/oradata/orcl/system01.dbf
/u01/app/oracle/oradata/orcl/example01.dbf
/u01/app/oracle/oradata/orcl/t1.dbf
SQL> alter tablespace t1 offline;
SQL> col name for a45
SQL> select name,status from v$datafile;
NAME STATUS
--------------------------------------------- -------
/u01/app/oracle/oradata/orcl/system01.dbf SYSTEM
/u01/app/oracle/oradata/orcl/sysaux01.dbf ONLINE
/u01/app/oracle/oradata/orcl/undotbs01.dbf ONLINE
/u01/app/oracle/oradata/orcl/users01.dbf ONLINE
/u01/app/oracle/oradata/orcl/example01.dbf ONLINE
/u01/app/oracle/oradata/orcl/t1.dbf OFFLINE
[oracle@chen ~]$ cd /u01/app/oracle/oradata/orcl/
[oracle@chen orcl]$ mv t1.dbf /home/oracle/ttt.dbf
SQL> alter tablespace t1 rename datafile '/u01/app/oracle/oradata/orcl/t1.dbf' to '/home/oracle/ttt.dbf';
SQL> alter tablespace t1 online;
SQL> select status,name from v$datafile;
STATUS NAME
------- ---------------------------------------------
SYSTEM /u01/app/oracle/oradata/orcl/system01.dbf
ONLINE /u01/app/oracle/oradata/orcl/sysaux01.dbf
ONLINE /u01/app/oracle/oradata/orcl/undotbs01.dbf
ONLINE /u01/app/oracle/oradata/orcl/users01.dbf
ONLINE /u01/app/oracle/oradata/orcl/example01.dbf
ONLINE /home/oracle/ttt.dbf
SQL> select * from test;
ID
----------
1
================================================ <
按表空间---移动数据文件(数据库打开,归档模式)
===============================
SQL> create tablespace t1 datafile '/u01/app/oracle/oradata/orcl/t1.dbf' size 1M;
SQL> create table test(id number) tablespace t1;
SQL> insert into test values(1);
SQL> commit;
SQL> select * from test;
ID
----------
1
SQL> select name from v$dbfile;
NAME
--------------------------------------------------------------------------------
/u01/app/oracle/oradata/orcl/users01.dbf
/u01/app/oracle/oradata/orcl/undotbs01.dbf
/u01/app/oracle/oradata/orcl/sysaux01.dbf
/u01/app/oracle/oradata/orcl/system01.dbf
/u01/app/oracle/oradata/orcl/example01.dbf
/u01/app/oracle/oradata/orcl/t1.dbf
SQL> alter tablespace t1 offline;
SQL> col name for a45
SQL> select name,status from v$datafile;
NAME STATUS
--------------------------------------------- -------
/u01/app/oracle/oradata/orcl/system01.dbf SYSTEM
/u01/app/oracle/oradata/orcl/sysaux01.dbf ONLINE
/u01/app/oracle/oradata/orcl/undotbs01.dbf ONLINE
/u01/app/oracle/oradata/orcl/users01.dbf ONLINE
/u01/app/oracle/oradata/orcl/example01.dbf ONLINE
/u01/app/oracle/oradata/orcl/t1.dbf OFFLINE
[oracle@chen ~]$ cd /u01/app/oracle/oradata/orcl/
[oracle@chen orcl]$ mv t1.dbf /home/oracle/ttt.dbf
SQL> alter tablespace t1 rename datafile '/u01/app/oracle/oradata/orcl/t1.dbf' to '/home/oracle/ttt.dbf';
SQL> alter tablespace t1 online;
SQL> select status,name from v$datafile;
STATUS NAME
------- ---------------------------------------------
SYSTEM /u01/app/oracle/oradata/orcl/system01.dbf
ONLINE /u01/app/oracle/oradata/orcl/sysaux01.dbf
ONLINE /u01/app/oracle/oradata/orcl/undotbs01.dbf
ONLINE /u01/app/oracle/oradata/orcl/users01.dbf
ONLINE /u01/app/oracle/oradata/orcl/example01.dbf
ONLINE /home/oracle/ttt.dbf
SQL> select * from test;
ID
----------
1
================================================ <