问题描述:
rac扩展表空间时,漏了+号,会默认创建在$ORACLE_HOME/dbs下面
例如alter tablespace USER add datafile ‘data’ size 30g;
这会导致当远端节点,需要写入数据时,会报无法找到数据文件的错误
解决办法:
第一种情况:
数据文件无数据,直接删除(不推荐)
确认数据文件里是否有数据
select t.file_name,t1.owner,t1.segment_name,t1.segment_type,t1.tablespace_name from dba_data_files t,dba_extents t1 where t.file_id=t1.file_id and file_name='/u01/app/oracle/product/11.2.0/db_1/dbs/data';
然后删除
alter tablespace test drop datafile '/u01/app/oracle/product/11.2.0/db_1/dbs/data';
最后物理删除rm
第二种情况:
迁移数据文件到asm
SQL> select file_id,file_name from dba_data_files where file_name not like '+DATA%';FILE_ID FILE_NAME---------- --------------------------------------------------------------------------------6 +FRA/xiamen/datafile/test1215.260.9990934738 /u01/app/oracle/product/11.2.0/db_1/dbs/dataSQL> alter database datafile 8 offline;Database altered.RMAN> copy datafile 8 to '+data';Starting backup at 01-FEB-19using channel ORA_DISK_1channel ORA_DISK_1: starting datafile copyinput datafile file number=00008 name=/u01/app/oracle/product/11.2.0/db_1/dbs/dataoutput file name=+DATA/xiamen/datafile/test1215.289.999096869 tag=TAG20190201T145428 RECID=6 STAMP=999096869channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:03Finished backup at 01-FEB-19RMAN> switch datafile 8 to copy;datafile 8 switched to datafile copy "+DATA/xiamen/datafile/test1215.289.999096869"RMAN> recover datafile 8;Starting recover at 01-FEB-19using channel ORA_DISK_1starting media recoverymedia recovery complete, elapsed time: 00:00:01Finished recover at 01-FEB-19RMAN> sql 'alter database datafile 8 online';sql statement: alter database datafile 8 online
最后删除原有的dbs下面的数据文件
