发表于: 2006.01.12 20:40
分类: 读书笔记
出处: http://yangtingkun.itpub.net/post/468/50533
---------------------------------------------------------------
用户管理备份和恢复是指不使用恢复管理器RMAN作为主要的备份和恢复策略。用户管理备份主要利用操作系统命令对数据文件和归档日志文件进行备份。
使用用户管理备份和恢复的原因:Oracle推荐使用RMAN作为企业级备份和恢复策略的基础,但用户管理备份和恢复也是同样有效的。但是个别操作比如数据快恢复只能由RMAN执行。
一般在下列情况时,选择用户管理备份和恢复而不是RMAN:
从老的Oracle版本迁移到当前版本,而不希望短期内改变原有备份脚本;
维护包含Oracle7版本在内的多个数据库,同时希望对所有数据库使用相同的方式进行备份,而RMAN只支持8.0以上版本;
所有的RMAN备份全部丢失。
总而言之,Oracle还是推荐使用RMAN的,不过个人感觉,利用操作系统命令的方式练习备份和恢复可以更好的理解概念。
用户管理备份和恢复概述
用户管理备份概述:用户管理备份可以是逻辑的或物理的。
逻辑备份使用EXP对数据库中的表、视图、存储过程等对象进行备份,并通过IMP工具进行恢复。
物理备份通过操作系统命令方式对Oracle的数据文件和归档日志文件进行备份。使用SQL语句的方式对初始化参数文件和控制文件进行备份。
基本备份方法:
通过查询动态性能视图(V$视图)找到需要备份的数据文件、控制文件和归档重做日志文件;
使用操作系统命令比如cp或copy来备份数据文件和归档重做日志文件;
使用SQL命令备份控制文件;
使用操作系统命令备份配置文件。
注意:不要备份联机重做日志文件。如果在执行介质恢复后将日志重置,而又意外的将备份的联机重做日志应用到数据库中,则可能损坏数据库。
用户管理移植性备份和不一致备份:
不一致备份是指在数据库打开或非正常关闭情况下对一个或多个数据文件进行的备份。
一致性备份是指在数据库正常关闭情况下对一个或多个数据文件进行备份。一致性备份在数据文件还原后不需要进行恢复。
在非归档模式下,唯一正确的备份方式是一致性备份。
如果处于归档模式下,则可以在数据库打开的情况下进行备份,并可以选择表空间的脱机备份方式或联机备份方式。如果采用联机备份方式,在备份数据文件之前,需要通过SQL语句将表空间处于备份模式,并在备份完成后通过SQL语句将表空间脱离备份模式。
验证备份:可以通过将备份数据库恢复到其他位置的方式来验证数据库的备份。同时也可以通过数据库验证工具来检查备份是否损坏。数据库验证攻击是外部命令行工具,名称和位置取决于操作系统,比如在Solaris系统中是dbv。
用户管理还原和恢复描述:当发生介质故障并导致数据文件损坏时,可以通过操作系统命令还原数据文件,并执行SQLPLUS命令RECOVER进行恢复。可以对某个数据文件、某个表空间或整个数据库进行恢复。需要仔细记录数据文件的原始位置和备份的位置。
归档模式下使用SQLPLUS的RECOVER命令进行恢复时,可以进行两种类型的恢复:完全恢复和不完全恢复。完全恢复在恢复时应用所有的日志文件。而不完全恢复不会应用所有的数据文件。不完全恢复只对整个数据库的恢复有效。一种特殊的只对个别表空间进行的不完全恢复叫做表空间及时点恢复。
基本还原和恢复方法:
确定需要还原和恢复的对象;
利用操作系统工具从备份中还原那些在介质故障中损坏的文件。如果无法将数据文件还原到它的原始位置,则需要还原到一个新的位置,并更改控制文件中这个数据文件的位置;
利用操作系统工具还原必要的归档重做日志文件;
利用SQLPLUS命令RECOVER进行恢复。
如果数据库处于非归档模式下,那么发生介质故障时,唯一的恢复方法是将数据库恢复到最近的一致性全库备份。从这个备份到当前所有的修改全部丢失。
用户管理的表空间及时点恢复:用户管理的表空间及时点恢复可以快速的将一个或多个表空间(系统表空间除外)恢复到与数据库其他部分不同的时间点。用户管理表空间及时点恢复可以用于下列情况的恢复:
恢复错误的删除表或截断表操作;
恢复一个逻辑损坏的表;
从一个只影响个别表空间的错误的批量工作或DML语句中恢复;
如果数据库中存在多个方案,且不同的方案分布在不同的表空间,则可以恢复独立的方案;
在一个非常大的数据库中恢复一个表空间。











