【翻譯自mos文章】在os上的datafile已經不存在的情況下 將該tablespace刪除,datafiletablespace
來源於:
I want to remove a tablespace and the datafile is already removed from the O.S (文檔 ID 786567.1)
適用於:
Oracle Database - Enterprise Edition - Version 10.1.0.4 and later
Information in this document applies to any platform.
目標:
當datafile從os層級刪除後,再試圖drop 該tablespace,結果報下列的錯誤:
SQL> drop tablespace ts_edw1_large01;drop tablespace ts_edw1_large01*ERROR at line 1:ORA-01115: IO error reading block from file 53 (block # 1)ORA-01110: data file 53: '/u43/oradata/edw1p/ts_edw1_large01_01.dbf'ORA-27091: unable to queue I/OORA-27072: File I/O errorAdditional information: 3Additional information: 1
解決方案:
1. SQL> STARTUP MOUNT ;2. Offline drop the datafile.SQL> ALTER DATABASE DATAFILE '/u43/oradata/edw1p/ts_edw1_large01_01.dbf ' OFFLINE DROP;3. SQL> ALTER DATABASE OPEN;4. Drop the user tablespace.SQL> DROP TABLESPACE <tablespace_name> INCLUDING CONTENTS;