1、使用sql*plus移动数据文件
SQL> select FILE_NAME,ONLINE_STATUS from dba_data_files where FILE_NAME like '%ttb%';
FILE_NAME ONLINE_
---------------------------------------------------------------------------------------------------- -------
/u01/app/oracle/oradata/orcl/ttb1.dbf ONLINE
SQL> alter tablespace ttb1 offline;
表空间已更改。
SQL> ! mv /u01/app/oracle/oradata/orcl/ttb1.dbf /u01/ttb1.dbf
SQL> alter tablespace ttb1 rename datafile '/u01/app/oracle/oradata/orcl/ttb1.dbf' to '/u01/ttb1.dbf';
表空间已更改。
SQL> alter tablespace ttb1 online;
表空间已更改。
SQL> select FILE_NAME,ONLINE_STATUS from dba_data_files where FILE_NAME like '%ttb%';
FILE_NAME ONLINE_
---------------------------------------------------------------------------------------------------- -------
/u01/ttb1.dbf ONLINE
2、使用sql*plus移动数据文件
SQL> select FILE_NAME,ONLINE_STATUS from dba_data_files where FILE_NAME like '%ttb%';
FILE_NAME ONLINE_
---------------------------------------------------------------------------------------------------- -------
/u01/ttb1.dbf ONLINE
SQL> alter tablespace ttb1 offline;
表空间已更改。
SQL> ! mv /u01/ttb1.dbf /u01/app/oracle/oradata/orcl/ttb1.dbf
SQL> alter database orcl rename file '/u01/ttb1.dbf' to '/u01/app/oracle/oradata/orcl/ttb1.dbf';
数据库已更改。
SQL> alter tablespace ttb1 online;
表空间已更改。
SQL> select FILE_NAME,ONLINE_STATUS from dba_data_files where FILE_NAME like '%ttb%';
FILE_NAME ONLINE_
---------------------------------------------------------------------------------------------------- -------
/u01/app/oracle/oradata/orcl/ttb1.dbf ONLINE
3、使用rman移动数据文件
SQL> select FILE_NAME,ONLINE_STATUS from dba_data_files where FILE_NAME like '%ttb%';
FILE_NAME ONLINE_
---------------------------------------------------------------------------------------------------- -------
/u01/app/oracle/oradata/orcl/ttb1.dbf ONLINE
[oracle@linux ~]$ rman target /
恢复管理器: Release 10.2.0.4.0 - Production on 星期四 10月 6 17:19:24 2011
Copyright (c) 1982, 2007, Oracle. All rights reserved.
连接到目标数据库: ORCL (DBID=1289573235)
RMAN> backup as copy datafile '/u01/app/oracle/oradata/orcl/ttb1.dbf' format '/u01/ttb1.dbf';
启动 backup 于 06-10月-11
使用目标数据库控制文件替代恢复目录
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=149 devtype=DISK
通道 ORA_DISK_1: 启动数据文件副本
输入数据文件 fno=00014 name=/u01/app/oracle/oradata/orcl/ttb1.dbf
输出文件名 = /u01/ttb1.dbf 标记 = TAG20111006T172010 recid = 3 时间戳 = 763838410
通道 ORA_DISK_1: 数据文件复制完毕, 经过时间: 00:00:01
完成 backup 于 06-10月-11
RMAN> sql "alter tablespace ttb1 offline";
sql 语句: alter tablespace ttb1 offline
RMAN> switch datafile '/u01/app/oracle/oradata/orcl/ttb1.dbf' to copy;
数据文件 14 已切换成数据文件副本 "/u01/ttb1.dbf"
RMAN> sql "alter tablespace ttb1 online";
sql 语句: alter tablespace ttb1 online
MAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03009: sql 命令 (default 通道上, 在 10/06/2011 17:21:52 上) 失败
RMAN-11003: 在分析/执行 SQL 语句期间失败: alter tablespace ttb1 online
ORA-01113: 文件 14 需要介质恢复
ORA-01110: 数据文件 14: '/u01/ttb1.dbf'
RMAN> recover datafile 14;
启动 recover 于 06-10月-11
使用通道 ORA_DISK_1
正在开始介质的恢复
介质恢复完成, 用时: 00:00:03
完成 recover 于 06-10月-11
RMAN> sql "alter tablespace ttb1 online";
sql 语句: alter tablespace ttb1 online
SQL> select FILE_NAME,ONLINE_STATUS from dba_data_files where FILE_NAME like '%ttb%';
FILE_NAME ONLINE_
---------------------------------------------------------------------------------------------------- -------
/u01/ttb1.dbf ONLINE