教程:如何用飞康CDP恢复Oracle 11g数据库

飞康CDP是基于磁盘的、新一代备份与容灾一体化解决方案。无论用户的应用服务器发生任何意外,例如,恶意的程序破坏、文件损毁、人为误删误改、操作系统宕机、硬件故障,甚至整个机房毁于意外,利用飞康CDP都可以快速的恢复生产运行。

本文将重点向您介绍如何利用飞康CDP恢复Oracle 11g 服务器及其数据库。同时,将帮助您进一步了解如何利用连续、实时的日志和定时的快照将数据简单、快速、精细的恢复到任意时间点。

当用户的Oracle 11g的磁盘或分区已经受到飞康CDP的保护,飞康CDP的DiskSafe将为用户提供多种数据恢复途径。用户可以将数据恢复到原始磁盘或是其它磁盘,创建系统和数据的副本也变得非常简单。然而,最好的恢复方法就是根据你的恢复对象进行恢复。下面将介绍几种典型的数据恢复场景和Oracle特定恢复的场景。

场景1: 恢复磁盘上的一个或多个文件

如果你不小心删除了磁盘上的一个文件,或者你需要从一些已经修改过的文件中找回一些旧的信息,最简单的恢复方法是加载一个包含了丢失的文件或是原始文件的快照视图。在文件被删除或是被修改之前的时间段产生的任何快照视图都可以被选择加载。加载了快照视图以后,只要将你需要的文件拷贝到你需要的位置就行了。

加载一个快照就是创建了一个单独的虚拟磁盘。加载的快照是镜像的精确视图,当快照创建的时候它就已经存在了。由于加载的快照由快照区里的当前镜像和变化数据组成,因此不再需要额外的磁盘空间。

下面的屏幕截图显示,在/01上加载的Oracle 磁盘sdb。

1. 列出当前的sdb快照并选择一个需要加载的快照做为TimeView。

2. 用CDP调取TimeView (下图):

3. 在当前磁盘中找出TimeView 并将其加载到服务器上:

4. 浏览TimeView并从中找到你丢失的数据,将其拷贝到需要的位置,然后卸载这个TimeView:

场景2: 恢复非系统盘或分区

这种情况的恢复与上一种场景的恢复非常相似:加载相应的TimeView,将整个磁盘或分区恢复到原始盘或是其它磁盘。

注意:如果将本地磁盘或分区恢复到一个新的磁盘,而这个磁盘的容量大于主磁盘,你必须手动的对新磁盘执行解除保护-再添加保护的动作,从而使新磁盘可以遵循已经设定的保护策略。

场景3: 恢复系统磁盘或分区

如果需要恢复的是常用于启动的系统磁盘或分区,可以利用DiskSafe恢复盘来完成。对于硬盘或是操作系统出现故障,或者磁盘、操作系统已经进行了修理或替换的情况,这种恢复方式非常有用。

一旦服务器从DiskSafe恢复盘进行启动,你可以访问CDP管理器,并通过CDP管理器上的镜像或选定的快照恢复整个磁盘或分区。数据可以被恢复到原始盘或是其它的磁盘。

场景4: 恢复Oracle数据库对象

如果数据库对象(表)发生损毁或删除,最简单的办法是利用Oracle备份服务器加载包含原始对象的快照视图进行恢复。打开数据库,从中导出原始对象并转存文件,最后将该文件导入到所运行的生产数据库中。

注意:Oracle 11g 具备回收站功能:如果你意外的删除了某个表,实际它只是被放入了回收站,你可以执行"撤消"命令将表找回。

场景5: 完整恢复Oracle数据库时间点

如果是由于磁盘故障引发一个或者多个数据文件丢失,你可能就需要整个数据库了。这种情况下,最佳的方式是加载故障前的最后一个快照,从而将数据恢复到新的磁盘。

然而,一个已经加载的快照并不能作为工作磁盘使用,因为当快照被卸载时,这个被加载的快照上所发生的所有变化都将会丢失。也就是说,你只能从加载的快照中复制Oracle 数据到生产磁盘。你的RTO将完全根据从TimeView (快照)向生产存储复制数据所需的时间而定。

如果你的数据库很大,你需要缩短RTO,利用CDP的复制功能是非常好的选择。利用CDP的复制功能,可以在本地或远程的服务器上为受保护磁盘保留一份视图拷贝。如果主站点的主磁盘发生故障,二级站点的复制磁盘可以立即被提升为主磁盘,并分配给Oracle服务器进行加载,数据库可以在几乎不停机的情况下立即恢复生产运行。数据库将处于完成最后一次完整复制时的状态。

如果用最后一次快照恢复数据库,那么这个快照从创建以后到磁盘故障发生之间所提交的交易将全部丢失。对于大多数企业来说,这都是不能接受的。有一种方法可以帮你恢复这部分数据丢失:通过CDP镜像,将快照创建以后到磁盘故障发生之间所提交的交易生成可回放的日志记录文件,你可以利用这些可回放的日志记录文件实现完整恢复。然后,用Oracle 的恢复命令找回需要的SCN就可以了。