论文部分内容阅读
摘要 介绍数据库备份与恢复的重要性,详细地阐述数据库的备份与恢复的基本概念以及备份与恢复的类型。
关键词 Oracle;数据库;备份;恢复
中图分类号:TP311.138 文献标识码:A 文章编号:1671-489X(2008)20-0113-02
1 引言
数据库技术在信息化建设中的地位越来越重要,保障数据库中数据的安全是一件非常重要的工作。自然灾害、人为破坏或系统本身潜在的破坏性因素都可能引起数据的破坏或丢失,导致业务活动无法正常进行,严重时甚至会使应用系统陷入瘫痪。另外,随着系统运转时间的增加,数据量会急剧增长,计算机不可能在任何时刻都容纳得下全部内容。如果没有可靠的数据备份和恢复机制,则可能造成灾难性的后果。
2 备份与恢复概述
2.1 备份简单地说,备份是对数据的复制,复制内容包括数据库的重要部分,如控制文件、数据文件、归档日志数据,是防止数据意外丢失、保持数据完整性和一致性的数据库保护措施。
备份分为物理备份和逻辑备份。物理备份就是复制物理的数据文件,将实际组成数据库的操作系统文件从一处拷贝到另一处的备份过程,它涉及到组成数据库的文件,但不考虑其逻辑内容。逻辑备份是将数据从数据库中抽取出来存在一个二进制的文件中,这些数据的抽取与其所处位置无关。数据库逻辑备份是物理备份的补充。
2.2 恢复通常意义上的数据库恢复包括2种,一种是数据库还原,一种是数据库恢复。还原一个数据库是指使用物理备份重建数据库并使之可用;恢复一个还原后的数据库是指利用重做日志,接收其中所记录的数据变化。
使用还原还是恢复,一般取决于数据库发生的具体问题。如果数据库已经完全崩溃,无法启动或者操作系统层面上出现问题,仅依靠数据恢复是无法解决的,这时就必须进行数据还原操作。而如果是数据库层面上出现非崩溃性的问题,一般采取数据恢复就可以解决问题。数据还原要求系统最好有全部数据库的一致性的物理备份,而且越新越好。这种备份一定都是离线的冷备份,在一些要求7×24高可用的运行环境中,发生的频率极低,因而在使用最新的一次物理备份还原数据库后,还需要使用重做日志进行数据恢复。
2.3 数据备份与恢复应遵循的原则[1]1)方案要可靠,要确保数据安全;2)技术可行,经济实用;3)宕机成本要足够小;4)方案实施和运行时最好不要影响系统的正常运行,尽量不要手工干预,应自动执行。
3 备份与恢复的类型
3.1 备份类型Oracle的备份与恢复有3种标准的模式,大致分为2大类:物理备份和逻辑备份。而物理备份又可以根据数据库的工作模式分为非归档模式和归档模式。通常把非归档模式称为冷备份,而相应的把归档模式称为热备份[2]。
1)冷备份。冷备份是利用操作系统的拷贝功能来实现的,在数据库关闭的情况下,可以将数据库中的所有文件进行复制,一旦数据库出现故障,可以将这些拷贝过的文件重新覆盖到原文件位置。这种备份可将数据库恢复到它被关闭前的状态。数据库可使用的每个文件都被备份下来,包括数据文件、控制文件、联机日志文件及INIT.ORA 文件。
冷备份必须是数据库关闭的情况下完成,当数据库运行的时候,执行数据库文件冷备份无效。
2)热备份。通常情况下,数据库需要每天24小时运行。由于随时都有新的数据加入,数据丢失将影响整个项目运作,因此需要在保证用户访问的同时实现备份,这时就采取热备份的方式。这种备份可将数据库恢复到任一时间点的状态,前提是数据库要在自动归档的方式下运行。一旦数据库运行在归档状态下,就可以做备份。
热备份可以在数据库打开的情况下进行,一般通过使用Alter命令改变表空间的状态来开始进行备份。备份完成后,要恢复到原来的状态,否则redolog会错配,在下次启动数据库时引起表空间的修改。热备份要在数据库不使用或使用率较低的情况下进行,同时需要大量的存储空间。
3)导入/导出备份。导入/导出可以将Oracle中的数据移入/移出数据库。Oracle的Export实用程序用来读取数据库和把输出写入一个叫做导出转储文件的二进制文件中,该文件保存数据库模式对象的信息,可以导出整个数据库、指定用户或指定表。在导出期间可以选择是否导出与表相关的数据字典信息,如权限、索引和与其相关的约束条件。Export所写的文件包括完全重建全部被选对象所需的命令。该文件在需要的时候能重新生成数据库。
导入是导出的逆过程。导入时先读取导出的转储二进制文件并运行,以恢复数据库。导入命令执行的方法和导出方案有关。如果导出所实施的是完全导出方案,则在导入时所有的数据对象,包括表空间、数据文件,用户都会在导入时创建,但考虑到数据库中的物理布局,预先创建表空间和用户是有用的。如果导出使用的是增量/积累方式,则需要预先设置好表空间、用户及数据文件。
4)几种备份方式的比较。逻辑备份的优点是能按表或按用户来备份及恢复数据;缺点是不能结合归档日志做数据库“最新状态”的恢复,对大数据量的备份支持不好。
冷备份的优点是快速、操作容易,能与归档日志相结合,做数据库“最新状态”的恢复维护管理简单;缺点是在备份的过程中,数据库必须是关闭状态,除了备份不能做其他工作,不能按表或按用户来备份及恢复。
热备份的优点是备份及恢复的速度较快,备份时数据库仍可使用,无须停止应用服务,支持二级增量备份,能与归档日志相结合做数据库“最新状态”的恢复;缺点是要求数据库在归档二模式下进行,需要大量的档案空间。
3.2 恢复类型
1)实例和崩溃恢复。实例恢复是指在Oracle真正应用集群数据库中多个实例中的部分发生错误而关闭,而其余实例仍可正常使用时,正常使用的实例接收失败实例中的事务信息,并在其上重新实现。
数据库崩溃是指一个单实例数据库发生实例错误或Oracle真正应用集群数据库的所有实例发生错误而引起的数据库非正常关闭。数据库崩溃是操作系统层面上数据库实例进程发生错误,不同于使用ABORT选项关闭数据库。后者虽然也需要进行实例恢复,但仍属于数据库“正常”关闭。
实例和崩溃恢复的主要目的是还原失败实例中缓存上记录的事务信息和关闭仍然打开的重做线程。这种恢复仅使用在线重做日志和当前处于在线的数据文件,而且自动接受重做信息,不需要用户干预,也就是说Oracle内部机制在发生实例或崩溃错误后,在数据库下次启动过程中自动进行数据恢复。
Oracle在一个实例失败后,自动进行实例恢复。实例恢复包括两个操作:前滚和回滚。前滚,即执行联机重写日志来使备份更接近当前状态;回滚,即还原未提交事务中的修改。
2)介质恢复。介质恢复是当存放数据库的介质出现故障时所做的恢复。根据数据库的恢复程度,恢复方法分为完全恢复和不完全恢复两种类型。完全恢复是将数据库恢复到数据库失败时数据库的状态。这种恢复是通过装载数据库备份并应用全部的重做日志做到的。不完全恢复是将数据库恢复到数据库失败前的某一时刻数据库的状态。这种恢复是通过装载数据库备份并应用部分重做日志做到的,进行不完全恢复后须在启动数据库时用resetlogs选项重设联机,重做日志。
4 结束语
Oracle数据库在各企业的应用越来越广泛,数据备份将成为维护数据库系统安全的重点工作。设计备份方案策略时,应充分考虑到当数据库失效后如何确保数据尽量少丢失,从而使数据库具有最大可恢复性,以及使恢复时间尽量缩短,效率最高。
参考文献
[1]李春林,张文体,周根鸿.一种简便易行的Oracle 数据备份恢复策略[J].医学信息,2007,20(3):375-376
[2]王健.Oracle数据库的备份与恢复策略研究[J].计算机安全,2007(2):26-28
关键词 Oracle;数据库;备份;恢复
中图分类号:TP311.138 文献标识码:A 文章编号:1671-489X(2008)20-0113-02
1 引言
数据库技术在信息化建设中的地位越来越重要,保障数据库中数据的安全是一件非常重要的工作。自然灾害、人为破坏或系统本身潜在的破坏性因素都可能引起数据的破坏或丢失,导致业务活动无法正常进行,严重时甚至会使应用系统陷入瘫痪。另外,随着系统运转时间的增加,数据量会急剧增长,计算机不可能在任何时刻都容纳得下全部内容。如果没有可靠的数据备份和恢复机制,则可能造成灾难性的后果。
2 备份与恢复概述
2.1 备份简单地说,备份是对数据的复制,复制内容包括数据库的重要部分,如控制文件、数据文件、归档日志数据,是防止数据意外丢失、保持数据完整性和一致性的数据库保护措施。
备份分为物理备份和逻辑备份。物理备份就是复制物理的数据文件,将实际组成数据库的操作系统文件从一处拷贝到另一处的备份过程,它涉及到组成数据库的文件,但不考虑其逻辑内容。逻辑备份是将数据从数据库中抽取出来存在一个二进制的文件中,这些数据的抽取与其所处位置无关。数据库逻辑备份是物理备份的补充。
2.2 恢复通常意义上的数据库恢复包括2种,一种是数据库还原,一种是数据库恢复。还原一个数据库是指使用物理备份重建数据库并使之可用;恢复一个还原后的数据库是指利用重做日志,接收其中所记录的数据变化。
使用还原还是恢复,一般取决于数据库发生的具体问题。如果数据库已经完全崩溃,无法启动或者操作系统层面上出现问题,仅依靠数据恢复是无法解决的,这时就必须进行数据还原操作。而如果是数据库层面上出现非崩溃性的问题,一般采取数据恢复就可以解决问题。数据还原要求系统最好有全部数据库的一致性的物理备份,而且越新越好。这种备份一定都是离线的冷备份,在一些要求7×24高可用的运行环境中,发生的频率极低,因而在使用最新的一次物理备份还原数据库后,还需要使用重做日志进行数据恢复。
2.3 数据备份与恢复应遵循的原则[1]1)方案要可靠,要确保数据安全;2)技术可行,经济实用;3)宕机成本要足够小;4)方案实施和运行时最好不要影响系统的正常运行,尽量不要手工干预,应自动执行。
3 备份与恢复的类型
3.1 备份类型Oracle的备份与恢复有3种标准的模式,大致分为2大类:物理备份和逻辑备份。而物理备份又可以根据数据库的工作模式分为非归档模式和归档模式。通常把非归档模式称为冷备份,而相应的把归档模式称为热备份[2]。
1)冷备份。冷备份是利用操作系统的拷贝功能来实现的,在数据库关闭的情况下,可以将数据库中的所有文件进行复制,一旦数据库出现故障,可以将这些拷贝过的文件重新覆盖到原文件位置。这种备份可将数据库恢复到它被关闭前的状态。数据库可使用的每个文件都被备份下来,包括数据文件、控制文件、联机日志文件及INIT.ORA 文件。
冷备份必须是数据库关闭的情况下完成,当数据库运行的时候,执行数据库文件冷备份无效。
2)热备份。通常情况下,数据库需要每天24小时运行。由于随时都有新的数据加入,数据丢失将影响整个项目运作,因此需要在保证用户访问的同时实现备份,这时就采取热备份的方式。这种备份可将数据库恢复到任一时间点的状态,前提是数据库要在自动归档的方式下运行。一旦数据库运行在归档状态下,就可以做备份。
热备份可以在数据库打开的情况下进行,一般通过使用Alter命令改变表空间的状态来开始进行备份。备份完成后,要恢复到原来的状态,否则redolog会错配,在下次启动数据库时引起表空间的修改。热备份要在数据库不使用或使用率较低的情况下进行,同时需要大量的存储空间。
3)导入/导出备份。导入/导出可以将Oracle中的数据移入/移出数据库。Oracle的Export实用程序用来读取数据库和把输出写入一个叫做导出转储文件的二进制文件中,该文件保存数据库模式对象的信息,可以导出整个数据库、指定用户或指定表。在导出期间可以选择是否导出与表相关的数据字典信息,如权限、索引和与其相关的约束条件。Export所写的文件包括完全重建全部被选对象所需的命令。该文件在需要的时候能重新生成数据库。
导入是导出的逆过程。导入时先读取导出的转储二进制文件并运行,以恢复数据库。导入命令执行的方法和导出方案有关。如果导出所实施的是完全导出方案,则在导入时所有的数据对象,包括表空间、数据文件,用户都会在导入时创建,但考虑到数据库中的物理布局,预先创建表空间和用户是有用的。如果导出使用的是增量/积累方式,则需要预先设置好表空间、用户及数据文件。
4)几种备份方式的比较。逻辑备份的优点是能按表或按用户来备份及恢复数据;缺点是不能结合归档日志做数据库“最新状态”的恢复,对大数据量的备份支持不好。
冷备份的优点是快速、操作容易,能与归档日志相结合,做数据库“最新状态”的恢复维护管理简单;缺点是在备份的过程中,数据库必须是关闭状态,除了备份不能做其他工作,不能按表或按用户来备份及恢复。
热备份的优点是备份及恢复的速度较快,备份时数据库仍可使用,无须停止应用服务,支持二级增量备份,能与归档日志相结合做数据库“最新状态”的恢复;缺点是要求数据库在归档二模式下进行,需要大量的档案空间。
3.2 恢复类型
1)实例和崩溃恢复。实例恢复是指在Oracle真正应用集群数据库中多个实例中的部分发生错误而关闭,而其余实例仍可正常使用时,正常使用的实例接收失败实例中的事务信息,并在其上重新实现。
数据库崩溃是指一个单实例数据库发生实例错误或Oracle真正应用集群数据库的所有实例发生错误而引起的数据库非正常关闭。数据库崩溃是操作系统层面上数据库实例进程发生错误,不同于使用ABORT选项关闭数据库。后者虽然也需要进行实例恢复,但仍属于数据库“正常”关闭。
实例和崩溃恢复的主要目的是还原失败实例中缓存上记录的事务信息和关闭仍然打开的重做线程。这种恢复仅使用在线重做日志和当前处于在线的数据文件,而且自动接受重做信息,不需要用户干预,也就是说Oracle内部机制在发生实例或崩溃错误后,在数据库下次启动过程中自动进行数据恢复。
Oracle在一个实例失败后,自动进行实例恢复。实例恢复包括两个操作:前滚和回滚。前滚,即执行联机重写日志来使备份更接近当前状态;回滚,即还原未提交事务中的修改。
2)介质恢复。介质恢复是当存放数据库的介质出现故障时所做的恢复。根据数据库的恢复程度,恢复方法分为完全恢复和不完全恢复两种类型。完全恢复是将数据库恢复到数据库失败时数据库的状态。这种恢复是通过装载数据库备份并应用全部的重做日志做到的。不完全恢复是将数据库恢复到数据库失败前的某一时刻数据库的状态。这种恢复是通过装载数据库备份并应用部分重做日志做到的,进行不完全恢复后须在启动数据库时用resetlogs选项重设联机,重做日志。
4 结束语
Oracle数据库在各企业的应用越来越广泛,数据备份将成为维护数据库系统安全的重点工作。设计备份方案策略时,应充分考虑到当数据库失效后如何确保数据尽量少丢失,从而使数据库具有最大可恢复性,以及使恢复时间尽量缩短,效率最高。
参考文献
[1]李春林,张文体,周根鸿.一种简便易行的Oracle 数据备份恢复策略[J].医学信息,2007,20(3):375-376
[2]王健.Oracle数据库的备份与恢复策略研究[J].计算机安全,2007(2):26-28