拳不离手

还真得拳不离手,曲不离口.

今天用于clone数据库的备份出现了问题,一个冷备份,但是缺少了2个备份之前新创建的数据文件,这两个数据文件属于undo表空间.

其实,应该立刻就可以想到既然是冷备,那么undo表空间中的数据自然在open的时候是不用去读的,那么只需要把数据库open开,然后创建新的undo表空间,把初始化参数指定的默认回滚表空间改到这个undo上,再删除原来缺少了数据文件的undo表空间就可以了.

但是,当时却一心想着如何才能重新构建这两个缺少的数据文件. 幸好后来给eygle打了个电话, 他说冷备嘛, 肯定可以打开数据库的,这才觉得自己咋这么傻呢……基本概念都反应不过来了, 看来要经常弄坏点儿数据库,经常作作恢复,要不真是会关键时刻掉链子呢.

BTW: 如果要删除原来的undo表空间,需要在mount状态下先将原来表空间中的所有数据文件(包括没有备份的那些)都offline drop掉,然后打开库,再作drop tablespace的操作.

Leave a Reply

Your email address will not be published. Required fields are marked *