版权声明:本文为博主原创文章,欢迎转载! https://blog.csdn.net/qq_40687433/article/details/83189752
今晚在做迁移的时候,准备把数据文件由'/oracle/abc'迁到'/oracle/edf'
迁移步骤比较简单,offline数据文件,cp过去,rename,recover数据文件,然后online
步骤如下:
1.offline /oracle/abc下的数据文件
2.cp /oracle/abc/*.dbf /oracle/edf/*.dbf
3.rename数据文件/oracle/abc/*.dbf to /oracle/edf/*.dbf
4.recover数据文件/oracle/edf/*.dbf
5.online数据文件/oracle/edf/*.dbf
之前在11g测试过,操作是没有问题的
但是生产环境是9i,在rename后,老的数据文件不见了!!!(我继续完成了迁移的步骤,数据文件online后再查看的该问题)
df -h查看磁盘没有释放空间,但是老的数据文件确实看不到了(此时老数据文件应该在/oracle/abc下)
这就很神奇,老的文件没有mv,没有rm,看不到了,但是仍然占用空间。
因为之前11g测试都没问题,所以怀疑是9i的bug
在mos上确实搜到了相关的文章,是关于OMF的一个bug
Alter Database Rename File Deletes OMF Datafile (文档 ID 2351126.1)
BUG 24417602: OMF DATAFILE LOST AFTER ALTER DATABASE RENAME was logged on this issue, closed as not a bug as this is by design.
解决办法:
最后我们重启了数据库,老的数据文件就看见了