在迁移一次产品环境后,没有发现其他的问题,不过备份出了一点小问题。
原始环境所有的备份都放在了带库中,而新的环境没有使用带库,改为向本地磁盘中备份。
备份并不会出错,不过控制文件中已往的备份却无法删除。
删除备份报错:
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of delete command at 01/23/2009 09:58:25
RMAN-06091: no channel allocated for maintenance (of an appropriate type)
而如果设置了DEVICE TYPE SBT的CHANNEL,则会报错:
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03009: failure of allocate command on c1 channel at 02/01/2009 17:47:07
ORA-19554: error allocating device, device type: SBT_TAPE, device name:
ORA-27211: Failed to load Media Management Library
Additional information: 25
如果方便的话,可以在当前服务器上安装带库的驱动,安装NET BACKUP程序,然后连接带库删除备份即可。
如果无法采用这种方法的话,那么重建控制文件也是一个很好的方法,采用这种方法可以清除所有备份信息。不过这种方法的缺点就是需要重新启动数据库,而这对于产品环境不是一件小事。
其实还有更简单的方法,只需要通过CHANGE语句,修改带库上备份记录的状态为UNAVAILABLE,由于CONTROL FILE会自动重用,所以很快这些过期的备份就会被自动从控制文件中清除出去了。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/4227/viewspace-544986/ ,如需转载,请注明出处,否则将追究法律责任。