在开发者环境中,应用开发者将与数据库管理员一同工作以设计一个逻辑备份策略。一般存在两个数据库拷贝,一个是成品数据库,另一个由开发者使用,用来调试他们的程序。开发数据库将与成品数据库定期地保持同步。它们通常仅用于保护同一台机器和实例中的数据免遭数据丢失。
下面提供了几个例子对应说明了每一种Oracle备份系统的正确使用。
1.Oracle备份系统中的物理备份
物理备份是所采用的最主要的备份方式。如果发生物理数据库丢失或崩溃,物理备份用于保证数据库在最小的数据丢失或没有数据丢失的情况下得到恢复。
2.Oracle备份系统中的冷物理备份
冷物理备份提供了最简单和最直接的方法保护数据库免遭物理损坏或丢失。正确使用冷物理备份的示例如下:
■数据库已经在一台数据库服务器上创建,你想按常规对数据库执行一个备份。数据库在备份过程中不必处于可用状态。
■系统管理员将对你的磁盘进行升级,每张磁盘的容量从4GB升为9GB。你需要备份系统并在新驱动器中相同的目录结构下恢复它。
3.Oracle备份系统中的热物理备份
热物理备份提供了相同的保护方法用于免遭物理数据库损坏。备份过程在数据库打开并且用户可以使用的情况下进行。需要执行热物理备份的情形如下:
■你的业务需求要求你的用户群体可以1周7天、1天24小时地使用数据库。
■研究结果表明你的数据库需要一整天的处理以达到一个高缓存命中率。在系统中使用许多GB内存的特大型Oracle数据库中,往往需要花费几个小时的处理时间才能使Oracle缓存整个数据工作组。尽管系统能够在夜晚关闭,但是如果数据库不在夜晚关闭的话,其早晨的性能会更好。
■尽管你的用户群体一天仅需要系统运行12小时,然而剩余的12小时几乎都花费在批处理上;没有足够的停机时间用于批处理与系统备份两方面上。
4.Oracle备份系统中的逻辑备份
逻辑备份用于实现数据库对象的恢复并且它是一个全面备份策略的必要的组成部分,用来保证数据库能够从无意中的修改(例如DELETE、DROP或UPDATE)中恢复出来。
5.Oracle备份系统中的完全逻辑备份
完全逻辑备份把整个数据库导出到一个Oracle格式文件中,该文件可以在不同的Oracle版本、操作系统和硬件平台之间进行移植。如下特殊情况或许需要执行一个完全逻辑备份:
■你没有另外的作为测试平台的物理系统,但是你有处于同一台机器上的成品与测试实例并且你希望它们不时地进行同步。
■新服务器刚安装完并且将用来替换你的老服务器。你的老数据库服务器与新数据库服务器使用不同的平台(例如,Sun与HP)。
6.Oracle备份系统中的指定表的逻辑备份
Oracle的逻辑备份工具可完成指定表的逻辑备份。此功能可用于如下情形:
■你需要把表ABC从JSMITH模式移动到TGASPER模式。
■尽管你想保存表ABC的备份拷贝,然而你将要删除它。
7.指定用户的逻辑备份逻辑备份可由一个或多个指定用户(或模式)组成。
当出现如下情形时,你或许想要使用此功能:
■你刚被告知可以删除用户JSMITH。该用户拥有几个表,而你认为某些人有可能以后会需要这些表,所以你想要备份JSMITH模式。
■有一个应用,该应用使用的表完全包含在一个单独的模式中。你计划对此应用进行升级,必须运行一个脚本对表和索引进行“更新”以便新版本能够正常工作。
提示:这些具体的事例说明了不同的备份方法适合于在你的数据库工作中所遇到的不同情形。不要只依赖一种备份方法。尽管大多数数据库管理员知道需要物理备份的必要性,但仍有许多人不会定期运行逻辑备份。这使他们容易受到一条无意间使用的DROP命令的损害。记住,DROP命令是立即执行的,没有回滚。
在Oracle技术支持的帮助下,使用物理备份恢复一张已被删除的表是可能的。此恢复过程非常耗时间并且代价很大,该过程或许可以通过使用逻辑备份来避免。记住,系统不必为逻辑备份而关闭。在你运行一个没有经过仔细检查的SQL脚本以前,执行逻辑备份是非常重要的事情。因为DROP或DELETE命令或许出人意料地隐藏起来,等待时机对你的数据库“发动攻击”。
假如你把热备份作为你的物理备份的话,那么有机会时你还要运行冷备份。由于热备份的复杂性,使得许多数据库管理员(包括我自己)错误地认为他们已经有了一个相当近期的冷备份,这样的话,他们不能有足够的备份。
【编辑推荐】