Oracle10gR2刪除誤新增的空檔案

secooler發表於2009-02-25
-- 2009-2-25 13:53
-- Oracle10gR2刪除誤新增的空檔案

1.資料庫版本Oracle10gR2:

sys@ora10g> select * from v$version;

BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Prod
PL/SQL Release 10.2.0.4.0 - Production
CORE    10.2.0.4.0      Production
TNS for Linux: Version 10.2.0.4.0 - Production
NLSRTL Version 10.2.0.4.0 - Production

2.向SEC_D表空間增加一個資料檔案:

sys@ora10g> alter tablespace sec_d add datafile size 10m;

Tablespace altered.

sys@ora10g> col name for a70
sys@ora10g> select file#,name from v$datafile;

     FILE# NAME
---------- --------------------------------------------------
         1 /oracle/u02/oradata/ORA10G/datafile/o1_mf_system_4srpl575_.dbf
         2 /oracle/u02/oradata/ORA10G/datafile/o1_mf_undotbs1_4srpnd5t_.dbf
         3 /oracle/u02/oradata/ORA10G/datafile/o1_mf_sysaux_4srpnv4f_.dbf
         4 /oracle/u02/oradata/ORA10G/datafile/o1_mf_users_4srpp39q_.dbf
         5 /oracle/u02/oradata/ORA10G/datafile/o1_mf_sec_d_4t3s818c_.dbf
         6 /oracle/u02/oradata/ORA10G/datafile/o1_mf_sec_d_4tcgwz30_.dbf

6 rows selected.

3.確認表空間檔案資訊:

sys@ora10g> col FILE_NAME for a75
sys@ora10g> select file_id,file_name from dba_data_files where tablespace_name='SEC_D';

   FILE_ID FILE_NAME
---------- --------------------------------------------
         5 /oracle/u02/oradata/ORA10G/datafile/o1_mf_sec_d_4t3s818c_.dbf
         6 /oracle/u02/oradata/ORA10G/datafile/o1_mf_sec_d_4tcgwz30_.dbf


4.確認表空間未被儲存佔用:

sys@ora10g> select segment_name,file_id,blocks from dba_extents where file_id=6;

no rows selected

5.刪除表空間中的空資料檔案:

sys@ora10g> alter tablespace sec_d drop datafile '/oracle/u02/oradata/ORA10G/datafile/o1_mf_sec_d_4tcgwz30_.dbf';

Tablespace altered.


6.檢查資料字典,這個空檔案的資訊已經被徹底清除了:

sys@ora10g> select file_name,file_id from dba_data_files where tablespace_name='SEC_D';

FILE_NAME                                         FILE_ID
---------------------------------------------     ----------
/oracle/u02/oradata/ORA10G/datafile/o1_mf_sec_d_4t3s818c_.dbf                        5

7.總結
1).10gR2可以將錯誤新增的空檔案刪除掉
2).不可以刪除表空間的第一個資料檔案
3).非空的資料庫檔案不可以刪除,會在嘗試刪除的過程中報錯

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/519536/viewspace-557728/,如需轉載,請註明出處,否則將追究法律責任。

相關文章