执行数据库和文件系统备份并使用 Oracle Secure Backup 恢复
本课程介绍了 Oracle Secure Backup,通过它您可以轻松地对数据库和文件系统执行备份和恢复。
大约 1 个小时
本教程包括下列主题:
| 概述 | ||
| 情景 | ||
| 前提条件 | ||
| 设置 | ||
| 注册管理服务器 | ||
| 将卷插入到库中 | ||
| 配置备份存储选择器 | ||
| 使用磁盘备份执行数据库恢复 | ||
| 使用 Oracle Secure Backup Web 工具执行文件系统备份 | ||
| 清理 | ||
| 总结 | ||
将鼠标置于此图标上可以加载和查看本教程的所有屏幕截图。(警告:因为此操作会同时加载所有屏幕截图,所以网速较慢时,响应时间可能会比较长。)
注意:此外,您还可以在下列步骤中将鼠标放在每个单独的图标上,从而仅加载和查看与该步骤相关的屏幕截图。可以过单击各个屏幕截图来将其隐藏。
数据库备份、还原和恢复是贯穿所有重要系统的关键过程。想象一下磁盘故障或人为错误可能导致的收入损失、客户不满或信息无法恢复。从 Oracle 8.0 开始,Recovery Manager (RMAN) 是针对 Oracle 数据库到磁盘的推荐备份和恢复实用程序,并集成了用于磁带备份和恢复的介质管理实用程序。除了备份数据库以外,还必须保护 Oracle Home 等关键文件系统数据和其他非数据库文件。通过 Oracle Secure Backup 新版本的发布,Oracle 现在为 Oracle 环境提供了端到端的备份解决方案。Oracle Secure Backup 提供了用于保护各种分布式文件系统数据 (UNIX /Linux / Windows / NAS) 以及 Oracle 数据库的集中化磁带备份管理。通过与 Recovery Manager (RMAN) 紧密集成,Oracle Secure Backup 提供了到磁带的快速数据库备份,并可以选择加密备份。
本教程演示了如何使用 Recovery Manager (RMAN)、Oracle Secure Backup 和企业管理器数据库控制 (Enterprise Manager Database Control) 中发布的高级新特性、为整个 Oracle 环境创建一个完整的备份和恢复基础架构。在学习本教程的过程中,您将:
| 设置一个针对磁盘和磁带的 Oracle 数据库备份和恢复策略 | ||
| 将非数据库文件备份到磁带 | ||
| 修复需要恢复的数据库文件 | ||
Oracle Secure Backup 体系结构
Oracle Secure Backup 采用客户端-服务器体系结构。管理域用于组织和管理企业内部的备份和恢复操作。管理域包含一个管理服务器、一个或多个客户端以及一个或多个介质服务器。
| 管理服务器 | 管理域中的计算机,其中包含 Oracle Secure Backup 软件的副本以及包含配置设置并存储备份历史记录的备份目录。管理服务器运行计划程序,后者启动并监视管理域中的作业。每个管理域将有一个管理服务器。 | |
| 介质服务器 | 连接了一个或多个辅助存储设备(如磁带驱动器或磁带库)的计算机。介质服务器与连接的设备之间进行数据传输。安装过程中,可以在介质服务器上配置多个辅助存储设备。 | |
| 客户端 | 使用 Oracle Secure Backup 备份其本地访问的数据的计算机。管理域中定义的大多数计算机都是客户端。 | |

备份策略对每个数据库都是必需的,并且它必须提供快速、简单的介质故障和人为错误恢复。在本课程中,您将使用企业管理器的备份向导配置一个 Oracle 数据库恢复策略将数据备份到磁盘,这个策略称作 Oracle Suggested Strategy。Oracle Suggested Strategy 利用了闪回恢复区和 RMAN 的增量式前滚功能。您还将配置和创建闪回恢复区中的文件以及非数据库文件的磁带备份。最后,备份是唯一的恢复方法,您还将修复数据库文件并从磁带恢复文件。
开始本教程之前,您应该:
| 1. | 有或安装了 Oracle 数据库 10g。 |
|
| 2. | 安装 Oracle Secure Backup 。 |
|
| 3. | 下载 ob.zip 文件并将其解压缩到您的工作目录 (c:\wkdir) 中。 |
|
闪回恢复区是为 Oracle 数据库中所有与恢复相关的文件和活动提供的一个统一的存储位置。将数据库从介质故障中完全恢复过来所需的全部文件都属于闪回恢复区。可以在闪回恢复区中创建的与恢复相关的文件包括:归档重做日志文件、控制文件、由恢复管理器 (RMAN) 创建的备份以及闪回日志。
通过分配一个存储位置并将相关的恢复文件统一在一个特定的区域内,Oracle 数据库服务器使数据库管理员不必再管理由这些组件创建的磁盘文件。
执行以下步骤配置闪回恢复区、将数据库置于 ARCHIVELOG 模式下,然后配置通道 (CHANNEL)。
| 1. | 打开浏览器并输入以下 URL,登录到企业管理器 Database Console: http://<yourhostname>:1158/em 以 SYSDBA 的身份输入 sys/oracle,然后单击 Login。
|
| 2. | Oracle Database Home 页面通过显示一系列描述数据库整体运行状况的度量为您展示该数据库的当前状态。Oracle Database Home 页面是数据库状态以及数据库环境管理和配置的入口。它包含四个按子选项卡划分的页面,每个页面显示各子部分。单击 Maintenance 选项卡。
|
| 3. | 在 Backup/Recovery Settings 下,单击 Recovery Settings。
|
| 4. | 单击 ARCHIVELOG Mode 复选框,然后单击 Apply。
|
| 5. | 单击 Yes 重新启动数据库。
|
| 6. | 输入主机证书,以 SYSDBA 身份输入数据库证书作为 sys/oracle,然后单击 Continue。
|
| 7. | 单击 Yes 确认。
|
| 8. | 数据库正在重新启动。等待大约 10 分钟,然后单击 Refresh。
|
9 . |
在计划备份之前,需要配置一个或多个通道。打开命令窗口,执行以下命令: rman TARGET / CONFIGURE CHANNEL DEVICE TYPE sbt FORMAT '%U'; exit
|
为监视不同主机、设备和数据库之间的数据保护活动,Oracle Secure Backup 定义了管理域。管理域是由管理服务器管理的客户端服务器和磁带设备的集合。
管理服务器是管理域中的一个服务器,它包含 Oracle Secure Backup 软件副本和备份目录。备份目录包含与备份和恢复相关的配置设置元数据。管理服务器运行计划程序,后者启动并监视管理域中的作业。站点中的每个管理域都需要一个管理服务器。执行以下步骤添加管理服务器:
| 1. | 在前面的会话中按 Refresh 后,如果再次出现登录窗口,以 SYSDBA 身份输入用户 sys 和口令 oracle,然后单击 Login。
|
| 2. |
单击 Maintenance 选项卡。
|
| 3. | 在 Oracle Secure Backup 下,单击 Oracle Secure Backup Device and Media。
|
| 4. |
为 Oracle Secure Backup Home 输入 /usr/local/oracle/backup,并为 Username 输入 admin,输入 oracle 作为口令。然后单击 OK。
|
| 5. | 输入主机主机证书,单击 OK。
|
| 6. |
在标题 Resources 下,选择 Devices 旁边的 Manage 链接。
|
执行以下步骤,将卷插入到库中:
1. |
您需要插入卷。从 Actions 列表中选择 Insert Volume,然后单击 Go。
|
2. |
对于 Source type,单击 This is an unlabeled tape,向下滚动至页面底部。
|
2. |
在 Storage Element 中输入 1-4。然后,单击 OK。
|
4. |
要查看所有设备,请单击 Expand All。
|
5. |
您需要确保可以访问设备。从 Actions 列表中选择 Verify Connectivity,然后单击 Go。
|
6. |
可以访问您的设备。现在,您可以创建备份存储选择器。单击 Database 选项卡。
|
Oracle 配置数据存储在数据库备份存储选择器中。存储选择器由用户创建、命名和修改。与主机、设备和用户等其他配置对象一样,存储选择器存储在管理服务器中。
存储选择器使用户能够对 Oracle 数据库备份和恢复操作进行细粒度控制。您可以定义对这个要备份的数据库有效的备份类型,其中包括归档日志、备份集、增量以及对控制文件和 spfile 文件的自动备份。Oracle Secure Backup 定义了一个称作 RMAN-DEFAULT 的介质家族,可用于将备份组织到特定的磁带卷。Oracle Secure Backup 在与 Recovery Manager (RMAN) 交互时使用存储选择器中封装的信息。
要配置备份存储选择器,请执行以下步骤:
| 3. | 单击 Maintenance 选项卡。
|
| 4. | 在 Backup/Recovery Settings 下,单击 Backup Settings。
|
| 5. | 向下滚动至 Oracle Secure Backup 部分。
|
| 6. | 单击 Configure。尽管您定义了管理服务器,还是需要将它与此数据库关联。
|
| 7. | 确保从该列表中选择了 Administration Server。确保主机用户名和口令正确。然后单击 OK。
|
| 8. | 单击 Add。
|
9. |
单击每个 Database Backup Type。然后,在 Use Devices 下单击 Add。
|
10. |
选择 vt1 并单击 Select。
|
11. |
再次选择 vt1 设备,然后单击 OK。
|
12. |
备份存储选择器已经创建完毕。单击 Return。
|
13. |
确保已设置主机证书,然后单击 OK。
|
要将数据库备份到磁盘和磁带,请执行以下步骤:
| 1. |
单击 Schedule Backup。
|
| 2. |
确保将主机证书设置为 oracle/oracle,然后单击 Schedule Oracle-Suggested Backup。
|
| 3. |
选择 Both Disk and Tape,然后单击 Next。
|
| 4. |
选选项 Archivelogs and the Full Database Copy,然后单击 Next。通常,您将每周执行一次该操作,但在本教程中,您需要现在执行一个备份,以便可以执行本教程中的剩余步骤。
|
| 5. |
设置时间,以便它将在接下来的 5 分钟内运行。查看屏幕右上角的 VM Image 时间,然后选择下一个可用时间。确保正确设置 AM 或 PM。然后单击 Next。
|
| 6. |
单击 Submit Job。
|
| 7. |
您的作业已经成功提交。单击 View Job。
|
| 8. |
单击浏览器的 Reload 按钮,直到页面底部的日志列表中出现日志名称。当出现 Backup 日志名时,单击它。
|
| 9. |
滚动到底部并查看进度。始终单击 Reload,直到您看到进度。这可能需要几分钟的时间才能完成。完成时,单击窗口底部的 Database 链接。
|
要从磁盘备份中恢复丢失的数据文件,执行以下任务。注意:employees 和 departments 表都在 example 表空间中。您需要执行下列任务:
| 验证数据 | ||
| 删除数据文件 | ||
| 将表空间置于联机状态 | ||
| 验证恢复 | ||
您首先将查看 employees 表中包含的某些数据。执行以下操作:
| 1. |
从 Enterprise Manager 中,单击 Administration 选项卡。
|
| 2. | 选择 Tables。
|
| 3. | 在 Schema 域中输入 HR,然后单击 Go。
|
| 4. | 选择 Employees 表,从 Actions 列表中选择 View Data,然后单击 Go。
|
| 5. | 将显示 Employees 列表。单击 Database 路径式导航栏。
|
为了删除数据文件,您需要将表空间置于脱机状态,然后将数据文件删除。执行以下步骤:
| 1. | 选择 Tablespaces。
|
| 2. |
选择 EXAMPLE 表空间,从 Actions 列表中选择 Take Offline,然后单击 Go。
|
| 3. | 为 Offline Mode 单击 Immediate,单击 OK。
|
| 4. |
表空间现在处于脱机状态。单击 Database 链接。
|
| 5. | 由于表空间已经脱机,您现在可以删除该文件了。打开一个终端窗口,执行以下命令: cd $ORACLE_BASE/oradata/orcl rm example01.dbf
|
| 6. | 您将希望验证该数据不再可用。切换到 Enterprise Manager,选择 Tables 链接。
|
| 7. | 在 Schema 域中输入 HR,然后单击 Go。
|
| 8. | 选择 Departments,从 Actions 列表中选择 View data,然后单击 Go。
|
| 9. | 注意 I/O 错误。数据文件内容已经从该位置消失。单击 Database 路径式导航栏。
|
现在,您就可以对刚删除的数据文件执行恢复了。执行以下步骤:
| 1. | 单击 Maintenance 选项卡。
|
| 2. | 在 Backup/Recovery 下,选择 Perform Recovery。
|
| 3. |
注意数据库信息表示有一个数据文件需要恢复。单击 Datafiles Need Media Recovery。
|
| 4. |
要恢复的数据文件已经位于数据文件列表中。单击 Next。
|
| 5. |
将恢复的默认设置置于默认位置,然后单击 Next。
|
| 6. | 审查要提交的作业。注意,您可以单击 Edit RMAN Script 查看将要运行的脚本。单击 Submit。
|
| 7. | 浏览器将继续轮询恢复请求的状态。大约一分钟后,将显示“Operation Succeeded”消息,此时应单击 OK。
|
要访问恢复后的数据文件中的数据,您需要先恢复表空间的联机状态。执行以下步骤:
| 1. | 单击 Administration 选项卡。
|
| 2. | 单击 Tablespace。
|
| 3. |
选择 EXAMPLE 表空间,在 Actions 列表中选择 Place Online,然后单击 Go。
|
| 4. | 单击 Yes 确认。
|
| 5. |
已再次将 EXAMPLE 表空间的数据文件置于联机状态。单击 Database 路径式导航栏。
|
现在可以验证 employees 表中包含的数据是否已经恢复。执行以下操作:
| 1. | 选择 Tables。
|
| 2. | 在 Schema 域中输入 HR,然后单击 Go。
|
| 3. | 选择 Employees 表,从 Actions 列表中选择 View Data,然后单击 Go。
|
| 4. | 将显示 Employees 列表。单击 Database 路径式导航栏。
|
要从磁带备份恢复丢失的数据文件,需要删除数据文件以及数据文件的备份。执行下列任:
| 删除数据文件 | ||
| 删除备份数据文件 | ||
| 将表空间置于联机状态 | ||
| 验证恢复 | ||
为了删除数据文件,您需要将表空间置于脱机状态,然后将数据文件删除。执行以下步骤:
| 1. | 选择 Tablespaces。
|
| 2. | 选择 EXAMPLE 表空间,从 Actions 列表中选择 Take Offline,然后单击 Go。
|
| 3. | 为 Offline Mode 单击 Immediate,单击 OK。
|
| 4. | 表空间现在处于脱机状态。单击 Database 链接。
|
| 5. | 由于表空间已经脱机,您现在可以删除该文件了。打开一个终端窗口,执行以下命令: cd $ORACLE_BASE/oradata/orcl rm example01.dbf
|
执行数据库恢复时,RMAN 将选择最快的恢复方法。由于磁盘上有可用的数据文件映像副本,因此 RMAN 将选择使用这些文件而不是从磁带备份恢复文件。为演示如何从磁带恢复数据文件,您需要先删除磁盘上存储的该数据文件的备份。此备份位于闪回恢复区中。执行以下步骤:
| 1. | 切换到终端窗口,执行以下命令: cd $ORACLE_BASE/flash_recovery_area/ORCL/datafile rm *example*.dbf
|
| 2. | 您将希望验证该数据不再可用。切换到 Enterprise Manager,选择 Tables 链接。
|
| 3. | 在 Schema 域中输入 HR,然后单击 Go。
|
| 4. | 选择 Departments,从 Actions 列表中选择 View data,然后单击 Go。
|
| 5. | 注意 I/O 错误。数据文件内容已经从该位置消失。单击 Database 路径式导航栏。
|
| 1. | 单击 Maintenance 选项卡。
|
| 2. | 在 Backup/Recovery 下,选择 Perform Recovery。
|
| 3. | 注意数据库信息表示有一个数据文件需要恢复。单击 Datafiles Need Media Recovery。
|
| 4. | 要恢复的数据文件已经位于数据文件列表中。单击 Next。
|
| 5. | 将恢复的默认设置置于默认位置,然后单击 Next。
|
| 6. | 审查要提交的作业。注意,您可以单击 Edit RMAN Script 查看将要运行的脚本。单击 Submit。
|
| 7. | 浏览器将继续轮询恢复请求的状态。大约一分钟后,将显示“Operation Succeeded”消息。向下滚动,查看恢复的内容。
|
| 8. | 注意,由于没有发现备份数据文件,因此从磁带恢复表空间。单击 OK。
|
要访问恢复后的数据文件中的数据,您需要先恢复表空间的联机状态。执行以下步骤:
| 1. | 单击 Administration 选项卡。
|
| 2. | 单击 Tablespace。
|
| 3. | 选择 EXAMPLE 表空间,在 Actions 列表中选择 Place Online,然后单击 Go。
|
| 4. | 单击 Yes 确认。
|
| 5. | 已再次将 EXAMPLE 表空间的数据文件置于联机状态。单击 Database 路径式导航栏。
|
现在可以验证 employees 表中包含的数据是否已经恢复。执行以下操作:
| 1. | 选择 Tables。
|
| 2. | 在 Schema 域中输入 HR,然后单击 Go。
|
| 3. | 选择 Employees 表,从 Actions 列表中选择 View Data,然后单击 Go。
|
| 4. | 将显示 Employees 列表。单击 Database 路径式导航栏。
|
Oracle Secure Backup Web 工具是一个联机图形用户界面,利用它您可以配置管理域、管理操作、浏览备份目录以及备份和恢复文件系统数据。您将使用 Oracle Secure Backup Web 工具查看您在 Enterprise Manager 中执行的备份作业并执行文件系统备份。执行以下步骤:
| 1. | 从浏览器窗口中,单击 Maintenance 选项卡。
|
| 2. | 在 Oracle Secure Backup 下,右键单击 File System Backup and Restore,然后单击 Open Link in New Window。
|
| 3. | 单击 OK 以连接证书。之所以显示该警告是因为证书签名方不受信任。浏览器无法将该签名方识别为注册的 CA(证书颁发机构)。每个浏览器附带的唯一受信任的 CA 是 Thwart 和 Verisign。
|
| 4. | 输入 admin 作为用户名和安全备份口令,然后单击 Login。
|
| 5. | 可以查看刚刚在 Enterprise Manager 中运行的备份作业。单击 Completed Jobs 链接。
|
| 6. | 您将在 Enterprise Manager 中看到执行的作业。此时,您需要执行文件系统备份。单击 Backup 选项卡。
|
| 7. | 在 Settings 下,单击 Datasets。
|
| 8. | 单击 Add。
|
| 9. | 为 Name 输入 wkdir,并将 hostname 添加到 include path,以便它现在读取 include path
|
| 10. | 在此情景下,您只希望备份 /home/oracle/wkdir/obdir/dir2 目录。因此在本教程的后面部分中,您将只恢复 dir2 目录。更改/添加以下内容: include path /home/oracle/wkdir/obdir {
exclude path /home/oracle/wkdir/obdir/dir1.
然后,单击 Save。
|
| 11. | 从 Dataset 列表中单击 wkdir,然后单击 Check Dataset。
|
| 12. | 未发现错误。单击 Close。
|
| 13. | 现在,您准备执行备份。单击 Backup 路径式导航栏。
|
| 14. | 在 Operations 下,单击 Backup Now。
|
| 15. | 首先需要添加数据集。单击 Add。
|
| 16. | 选择数据集 wkdir 和限制 vt1,然后单击 OK。
|
| 17. | 从列表中选择数据集,然后单击 Go。
|
| 18. | 单击 Home 选项卡。
|
| 19. | 单击 Completed Jobs。
|
| 20. | 备份现在已经完成。如果需要,可以查看记录。否则,请准备从备份恢复。
|
要恢复文件系统文件,请执行以下步骤:
| 1. |
从终端窗口中,输入以下命令,以查看目录的当前状态,然后将其删除。 cd /home/oracle/wkdir/obdir ls -lR rm -Rf *
注意,有两个子目录,其中的一个子目录有一个名为 core 的文件。恢复后,您在列表中将只看到 dir2 目录以及文件 file3.txt 和 file4.txt。这是因为当您执行备份时,您将排除 dir1 的路径以及名称为 core 的所有文件。
|
| 2. |
切换回浏览器,然后单击 Restore 选项卡。
|
| 3. |
单击 Operations 标题下的 Backup Catalog。
|
| 4. |
选择主机名,然后单击 Browse Host。
|
| 5. |
单击“home/”链接。
|
| 6. |
继续在该目录中向下导航,直到“obdir/”显示为目录链接。单击以选中 obdir 目录的复选框。然后,单击 Add。
|
| 7. |
保留默认选项,这些选项将恢复所有文件,除非这些文件正被使用。单击 OK。
|
| 8. |
注意表示已将选择添加到恢复列表的“Success”消息。单击“Show restore list and browse options”链接。
|
| 9. |
注意,obdir 目录位于该列表中。将其选中,然后单击 Go。
|
| 10. |
注意表示作业已提交的“Info”消息。单击 Home。
|
| 11. |
单击 Completed Jobs。
|
| 12. | 您将看到,恢复已经成功完成。
|
| 13. |
切换到终端窗口,然后输入以下命令来查看恢复结果: cd /home/oracle/wkdir/obdir ls -lR
注意,目录 dir2(而非 dir1)已经恢复。还应注意,文件 core 尚未恢复。这是由备份过程中设置的 exclude path 和名称条目导致的。
|
要清理执行本教程中的操作而生成的数据库,请执行以下步骤:
| 1. |
从 Enterprise Manager 的 Maintenance 选项卡中,单击 Recovery Settings。
|
| 2. | 取消选择 ARCHIVELOG Mode,然后单击 Apply。
|
| 3. | 您需要重新启动数据库才能使更改生效。单击 Yes。
|
| 4. | 输入您的主机名和口令,然后输入 sys 和它的口令并以 SYSDBA 的身份连接。然后单击 OK。
|
| 5. | 单击 Yes。
|
在本教程中,您学习了如何:
| 配置备份存储选择器 | ||
| 从磁盘和磁带中执行数据库备份和还原 | ||
| 执行文件系统备份和还原 | ||