Ora-01135 DML/query访问的文件 处于脱机状态

2014-06-10 早晨在点检Exadata一体机数据库时,在数据库预警文件中出现以下错误:

 Mon Jun 09 22:32:27 2014

alter tablespace MCSHTY_DATA rename toMCSHTY_DATA_TEST

Tablespace 'MCSHTY_DATA' is renamed to'MCSHTY_DATA_TEST'.

Completed: alter tablespace MCSHTY_DATArename to MCSHTY_DATA_TEST

Mon Jun 09 22:35:12 2014

Alter TABLESPACE MCSHTY_DATA_TEST DROPDATAFILE '+DATA_DM01/mcsdb/mcs_datafiles/mcshty_data02.dbf'

 errorsin file /u01/app/oracle/diag/rdbms/mcsdb/MCSDB1/trace/MCSDB1_ora_32273.trc:

Ora-01135:DML/query访问的文件  处于脱机状态

Ora-01110: 数据文件199:'+DATA_DM01/mcsdb/mcs_datafiles/mcshty_data02.dbf'

Deleted file+DATA_DM01/mcsdb/mcs_datafiles/mcshty_data02.dbf

Completed: ALTER TABLESPACEMCSHTY_DATA_TEST DROP DATAFILE'+DATA_DM01/mcsdb/mcs_datafiles/mcshty_data02.dbf'

Mon Jun 09 22:37:18 2014

Incremental checkpoint up to RBA[0x1de3.f6e5c.0], current log tail at RBA [0x1de3.10b67f.0]

Starting background process VKRM

异常分析:

删除某表空间的数据文件,在Oracle 10g就已经支持该操作。为什么Oracle 11g会出现该问题呢?带着疑问开始验证:

1.在一台测试数据库       (11.2.0.4.0)创建表空间LVBANG,它包含两个数据文件


现在删除第二个数据文件(第一个数据文件不允许删除,它为该表空间的第一个文件)。

执行命令

SQL> ALTER TABLESPACE LVBANGDB DROPDATAFILE '/u01/product/oracle/oradata/LVDB/lvdb02.dbf';

预警文件同样报错:

ORA-01135: DML/query 访问的文件  处于脱机状态€

ORA-01110: 数据文件7:'/u01/product/oradata/lvdb/lvang02.dbf'

Deleted file/u01/product/oradata/lvdb/lvang02.dbf

但重启数据库重未发现异常发生,

2.另一台数据库(12.1.0.1.0),创建表空间LASDB_TEST,它同样包含两个数据文件

现执行删除第二个数据文件命令:

ALTER TABLESPACE LASDB_TEST DROP DATAFILE '/u01/product/oracle/oradata/LVDB/lasdb02.dbf';

查看预警文件:

删除成功,未发现异常。

异常总结:

1 OracleDatabase 10g Release 2 及其以上版本
2、数据文件必须为空

3、数据文件不是对应表空间的第一个

4、不能删除只读表空间中数据文件
5、不能删除system中数据文件

上面的报错问题,依然在验证中。希望各位提供宝贵意见

你可能感兴趣的:(数据库,exadata)