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 及其以上版本