Oracle10g备份与恢复

上传人:油条 文档编号:2692712 上传时间:2017-07-26 格式:PDF 页数:18 大小:190.03KB
返回 下载 相关 举报
Oracle10g备份与恢复_第1页
第1页 / 共18页
Oracle10g备份与恢复_第2页
第2页 / 共18页
Oracle10g备份与恢复_第3页
第3页 / 共18页
Oracle10g备份与恢复_第4页
第4页 / 共18页
Oracle10g备份与恢复_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《Oracle10g备份与恢复》由会员分享,可在线阅读,更多相关《Oracle10g备份与恢复(18页珍藏版)》请在金锄头文库上搜索。

1、1 Oracle 10g备份和恢复 第一章 备份和恢复的基本概念 1. 数据丢失的分类 数据丢失可分为逻辑丢失和物理丢失。 逻辑丢失:用户错误操作和应用程序错误造成。 物理丢失:数据库物理结构破坏。 2. 备份和恢复的分类 逻辑备份和逻辑恢复。 物理备份和物理恢复。 物理恢复的原则:所有的文件必须在时间点上一致。 崩溃恢复(Crash Recovery)与实例恢复(Instance Recovery): 包括缓存恢复(Cache Recovery)和事务恢复(Transaction Recovery)。 缓存恢复:利用联机重做日志文件进行恢复。 事务恢复:回退(rollback)未提交的事务。

2、 介质恢复(Media Recovery):利用归档重做日志文件和联机重做日志文件进行恢复。 修复(restore)和恢复(recover)。 3. 逻辑备份和物理备份 逻辑备份和物理备份的内容。 物理备份可分为冷备份和热备份。 如何要进行热备份,数据库必须要处于归档模式。 如何要进行冷备份,数据库可以是归档模式,也可以是非归档模式。 冷备份只能将数据库恢复到备份时的状态。 热备份可以将数据库恢复到故障时的状态,或者将数据库恢复到一个指定的时间点(称为基于时间点的恢复)。 物理备份的方式:整库、表空间、数据文件、控制文件、归档重做日志文件 、SPfile或Pfile、密码文件、网络文件(lis

3、tener.ora和 tnsnames.ora)。联机重做日志文件不备份! 一致性备份(Consistent Backup):shutdown immediate/normal时备份。 不需要重做日志来进行恢复。 非一致性备份(Inconsistent Backup):open时或shutdown abort时备份。 需要重做日志来进行恢复。 (如果联机重做日志文件丢失,需要有所有 数据文件的备份。) 逻辑备份和物理备份的适用策略: 逻辑备份只能防止逻辑丢失。 物理备份既能防止逻辑丢失,又能防止物理丢失。 2 第二章 逻辑备份和逻辑恢复 一、逻辑备份 逻辑备份使用EXP程序完成。 逻辑备份可分

4、为:指定表的逻辑备份、指定用户的逻辑备份和整库逻辑备份。 C:EXP-HELP 一个文件里只能存放一次备份。 各个参数的含义与默认值。 USERID FULL BUFFER OWNER FILE TABLES COMPRESS RECORDLENGTH GRANTS RECORD ROWS PARFILE CONSTRAINTS CONSISTENT LOG STATISTICS 可取COMPUTE、ESTIMATE、NONE。 DIRECT TRIGGER FEEDBACK 值为0时禁用。 逻辑备份的三个例子: 指定表的逻辑备份 c:exp USERID=system/oracleerp t

5、ables=scott.emp, scott.dept, hr.employees file=c:logbacked.dmp 指定用户的逻辑备份 c:exp USERID=system/oracleerp owner=scott file=c:logbackscott.dmp 整库逻辑备份 c:exp USERID=system/oracleerp full=y file=c:logbackfull.dmp 注意:不能同时指定owner和tables! 用AT命令进行自动备份: C:AT 15:10 exp userid=system/oracleerp tables=scott.emp fi

6、le=c:logbackat.dmp 也可用任务计划进行自动备份。 用当前日期生成一个备份文件: 建一个C:BACKUP.BAT脚本 echo off 3 for /f tokens=1 delims= %u in (date /t) do exp userid=system/oracleerp tables=scott.emp file=c:logback%u.dmp log=c:logback%u.log tokens为标记的个数。 delims为标记之间的分隔符。 二、逻辑恢复 逻辑恢复使用IMP程序完成。 C:IMP-HELP 参数的含义与默认值。 FROMUSER TOUSER TA

7、BLES 逻辑恢复的四个例子: 1. 表不存在(假设删除scott用户下的EMP和DEPT表) c:imp userid=system/oracleerp fromuser=scott tables=emp,dept file=c:logbacked.dmp 2. 表存在,数据丢失 c:imp userid=system/oracleerp fromuser=scott tables=emp file=c:logbacked.dmp ignore=y 逻辑恢复顺序:对象类型,表的结构,表的数据,表的索引,表的约束,视图,函数和过程,触发器。逻辑恢复前将约束关闭。 3. 用户不存在(假设删除sc

8、ott用户) 先要创建scott用户。 c:imp userid=system/oracleerp fromuser=scott file=c:logbackscott.dmp 4整库丢失 先创建一个同名数据库(注意数据库不同名不能恢复!)。 C:imp userid=system/oracleerp full=y file=c:logbackfull.dmp 逻辑备份可以移植! 三、用图形界面进行逻辑备份和逻辑恢复 演示用图形界面进行逻辑备份和逻辑恢复 字符集不同的数据库之间进行逻辑备份和逻辑恢复,Oracle会自动进行字符集的 转换。 4 第三章 用OS方式进行物理备份 一、物理备份的基本

9、概念 物理数据备份可分为冷备份(cold)和热备份(hot)。 即脱机备份(offline backup)和联机备份(online backup)。 二、用OS方式冷备份 1. 非归档模式下: 只能进行冷备份(cold),不能进行热备份(hot)。 冷备份要备份所有文件的控制文件、数据文件,不包括联机重做日志文件。 恢复时也要恢复所有的控制文件、数据文件,不包括联机重做日志文件,即使只有一个文件破坏。 实例1:冷备份不包括联机重做日志文件情况下的恢复。 错误现象: ORA-00322: 日志 1 (线程 1) 不是当前副本 ORA-00312: 联机日志 1 线程 1: D:ORACLEORA

10、DATAORADBREDO01.LOG SQL recover database until cancel 不完全介质恢复。 用重置日志(resetlogs)的方式打开数据库: SQL alter database open resetlogs; 用重置日志(resetlogs)的方式打开数据库,Oracle会执行两个操作: a. 重新创建所有的联机重做日志文件。 b.将日志的序列号归为1。生成一个新的数据库incarnation。 注意:冷备份后添加的数据会丢失! 实例 2:冷备份包括联机重做日志文件情况下的恢复。(非归档模式,建议采用这种方式!) 冷备份可用物理数据库的移植。 实例3:冷备

11、份的情况下能否恢复单个数据文件? 在联机重做日志文件没有覆盖的情况下,可以恢复单个数据文件。并且不丢失数据。 在联机重做日志文件被覆盖的情况下,不能恢复单个数据文件。 实例4:冷备份的情况下,如果联机重做日志文件没有覆盖,能否不丢失数据? 2. 归档模式下,冷备份可以备份单个文件。 5 恢复时可以恢复单个数据文件。 实例1:在归档模式下用冷备份恢复整个数据库。 恢复方法: SQL recover database until cancel using backup controlfile 注意应用归档日志文件和联机重做日志文件的方法: 如果有所需要的归档日志文件,按回车键。 如果没有所需要的归

12、档日志文件,依次用每一个联机重做日志文件来试。 完全介质恢复。 SQL alter database open resetlogs; 注意:在归档模式下冷备份后添加的数据不会丢失! 备份联机重做日志文件会带来的危险: 1.造成不完全恢复。 2. 重复生成具有相同顺序号的联机重做日志文件。 三、用OS方式进行热备份 数据库必须要运行在归档模式,自动归档! 1. 演示:非归档模式为什么不能进行热备份? 如果联机重做日志文件没有覆盖,可以。 如果联机重做日志文件志覆盖,不可以。 2. 控制文件的备份和恢复 首先进行控制文件的备份: SQL alter database backup controlf

13、ile to c:control.bak; 将数据库关闭后删除所有的控制文件。 SQL recover database until cancel using backup controlfile; 注意应用归档日志文件和联机重做日志文件的方法: 如果有所需要的归档日志文件,按回车键。 如果没有所需要的归档日志文件,依次用每一个联机重做日志文件来试。 SQL alter database open resetlogs; 用重置日志(resetlogs)的方式开开数据库,Oracle会执行两个操作: a. 重新创建所有的联机重做日志文件。 b.将日志的序列号归为1。生成一个新的数据库incarn

14、ation。 3. 联机重做日志文件的恢复 联机重做日志文件没有备份,只能有命令来恢复。 如果丢失非当前组的联机重做日志文件: SQLalter database clear logfile C:ORACLEORADATAERPREDO01.LOG; 如果丢失当前组的联机重做日志文件: SQL shutdown immediate SQL recover database until cancel; SQL alter database open resetlogs; 演示:(无法恢复) 6 SQL shutdown abort; 然后删除所有的联机重做日志文件。 SQL recover da

15、tabase until cancel; SQL alter database open resetlogs; 要点: abort方式关闭数据库时如果丢失联机重做日志文件,数据库不能恢复。只能用以前的备份恢复。 4. 数据文件的备份和恢复 能否只拷贝文件来备份数据库? 不能!要防止断裂数据块(Fractured Block)。 在备份数据文件之前首先要将数据文件所在的表空间设成备份模式: SQLalter tablespace users begin backup; 将文件复制出来。 然后结束表空间的备份模式: SQLalter tablespace users end backup; 对该表

16、空间的操作记录在联机重做日志文件。 恢复数据文件时先将该文件还原,然后进行恢复: SQLrecover datafile c:oracleoradataerpusers01.dbf; 验证备份: C: dbv file=d:users01.dbf blocksize=8192 7 第四章 用恢复管理器(Recover Manager)进行热备份 一、恢复目录(recovery catalog)的概念 没有恢复目录和有恢复目录的区别: 没有恢复目录:备份信息存放在备份数据库的控制文件中。 成本低、数据安全性低。 有恢复目录:备份信息存放在恢复目录中。 成本高、数据安全性高。 创建恢复目录的步骤: 每个数据库中已经有了RMAN用户,恢复目录也有了。 先要解除RMAN用户的锁定,然后然后用SQL*PLUS登录修改其密

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号