同事扩容数据库表空间 在添加表空间 alter tablespace xxx add ' +oradata'; 语句 单引号与 + 号之间多了一个空格,造成数据文件被创建在$ORACLE_HOME/dbs 下
arning: VKTM detected a time drift.
Time drifts can result in an unexpected behavior such as time-outs. Please check trace file for more details.
Tue Jan 17 11:57:42 2017
Completed: alter tablespace xxx add datafile ' +DATA_DG' size 30G autoextend off
Tue Jan 17 11:59:42 2017
一下是处理的思路:
offline 掉数据文件
alter database datafile '/u01/app/oracle/product/11.2.0/db_1/dbs/ +DATA_DG' offline drop;(非归档下要用offline drop,归档模式下offline 就可以了)
创建相应的directory
create directory test1 as '/u01/app/oracle/product/11.2.0/db_1/dbs/';
create directory test2 as '+DATA/';
执行包 dbms_file_transfer.copy_file
exec dbms_file_transfer.copy_file('TEST1',' +DATA_DG','TEST2','test1.dbf');
另外一种拷贝文件 使用asmcmd cp
拷贝好之后,恢复数据文件
recover datafile 7;
alter database datafile '+DATA/test1.dbf' online;
这个数据文件已经有一个索引的段,数据文件号没有变,索引没有失效