[Translated from mos] Delete the tablespace if the datafile on the OS does not exist.
Source:
I want to remove a tablespace and the datafile is already removed from the O.S (Documentation ID 786567.1)
Applicable:
Oracle Database-Enterprise Edition-Version 10.1.0.4 and later
Information in this document applies to any platform.
Objectives:
When datafile is deleted from the OS level and then tries to drop the tablespace, the following error is returned:
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
Solution:
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;