费了九牛二虎之力,将A服务器上的rman热备,拷贝至B服务器上并进行了还原出一个数据库后,发现并不能继续正常使用,经过一番处理,可以作为测试库用起来了。
问题:1.恢复之后 alter database open resetlogs操作成功后,可以进行查询,但是不能进行增删改操作,会报临时表空间错误,
解决办法:重建默认临时表空间(或针对不同用户建不同临时表空间)
问题2:归档日志乱放
解决办法:show parameter archive_查看log_archive_dest_参数,并为其指定路径(可以在此处增加归档日志镜像,作为多路径多备份)
问题3:在rman中执行report obsolete;可以看到一份从来未做过的datafile copy,并且执行delete obsolete无法删除
解决办法:如果是正常环境,执行crosscheck copy 并delete noprompt expired copy;是可以删除的,但此库是恢复出来的库,中间环节及牵涉比较复杂,最终导致常规操作无法删除,暂时未找到好的解决方法,只能在执行一次sql 'alter system archive log current';后做全备 backup full database plus arcihve;然后进行恢复,在resotre database后进行delete copy操作(注意,不是delete backup),然后recover database ,alter database open resetlogs 。再list copy或report obsolete,发现信息已经不在了,看来是恢复过程中出现的问题。