對於歸檔模式:
alter database datafile 'file_name' offline 和 offline drop 沒有什么區別。
對於非歸檔模式:
如果是非歸檔模式,只能是offline drop.
說明:
1) 以上命令只是將該數據文件OFFLINE,而不是在數據庫中刪除數據文件。該數據文件的信息在控制文件種仍存在。查詢v$datafile,仍顯示該文件。
2) 歸檔模式下offline和offline drop效果是一樣的
3) offline后,存在此datafile上的對象將不能訪問
4) noarchivelog模式下,只要online redo日志沒有被重寫,可以對這個文件recover后進行online操作
SQL> select file#,status from v$datafile; FILE# STATUS ---------- ------- 1 SYSTEM 2 ONLINE 3 ONLINE 4 ONLINE 5 ONLINE 6 RECOVER 已選擇6行。
SQL> recover datafile 6;
完成介質恢復。
SQL> alter database datafile 6 online;
數據庫已更改。
解決方法: SQL> alter database datafile 'E:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/TSTEST001.DBF' offline drop; SQL> alter database open; SQL> drop tablespace CTBASEDATA;
---10g以后可以使用:
alter tablespace users add datafile '/u01/app/oracle/oradata/orcl/users02.dbf' size 5M autoextend off;
alter tablespace users drop datafile '/u01/app/oracle/oradata/orcl/users02.dbf';