朱华廷9iOCP20080.ppt

上传人:本田雅阁 文档编号:2742561 上传时间:2019-05-10 格式:PPT 页数:53 大小:657.01KB
返回 下载 相关 举报
朱华廷9iOCP20080.ppt_第1页
第1页 / 共53页
朱华廷9iOCP20080.ppt_第2页
第2页 / 共53页
朱华廷9iOCP20080.ppt_第3页
第3页 / 共53页
朱华廷9iOCP20080.ppt_第4页
第4页 / 共53页
朱华廷9iOCP20080.ppt_第5页
第5页 / 共53页
点击查看更多>>
资源描述

《朱华廷9iOCP20080.ppt》由会员分享,可在线阅读,更多相关《朱华廷9iOCP20080.ppt(53页珍藏版)》请在三一文库上搜索。

1、,朱华廷(9i OCP) 2008-01,Oracle9i数据库专题培训 第四讲(备份和恢复),内 容,备份和恢复概述 相关实例和存储结构 备份 恢复,1,Oracle基础培训,备份和恢复概述,备份和恢复概述,目的 保护数据库,避免因失败不可用。 增加失败平均间隔(MTBF Mean Time Between Failure) 减少重做平均时间(MTTR Mean Time To Recover) 数据丢失最小化 这便需要一种备份机制。如果没有备份,当数据库出现故障后,不可能恢复到错误前的状态,备份和恢复概述,故障种类 语句故障:不需要DBA干预 发生情况 应用程序(存储过程)中的逻辑错误 向

2、表中插入不合法数据 执行没有权限的操作 创建表时,超出表空间限额 向表中插入或修改数据,表空间已没有空间 Oracle的解决措施 Oracle或操作系统会返回错误号和错误信息,语句回滚,DBA或开发者可以通过返回的错误进行修正 用户进程故障:不需要DBA干预 发生情况 用户非法中断连接。例如用户关闭SQL*PLUS 会话非法中断。例如客户端重启 用户程序抛出地址异常,导致会话中断。如果应用程序没有捕获机制,会发生以上情况 Oracle解决措施 PMON诊断并清除非法中断的用户进程,DBA很少干预 PMON回滚事务,释放用户进程占用的资源和锁,备份和恢复概述,故障种类(续) 用户错误:需要DBA

3、干预 发生情况 用户误操作,清空表数据或删除表 Truncate/Drop 用户删除了表数据 Delete 用户提交了数据的修改,但发现有误 Update Commit Oracle解决措施 提供回滚机制,允许多版本存在,可使用闪回 提供日志机制,可进行恢复 实例故障:不需要DBA真正干预 发生情况 电源突然中断 服务器硬件损坏,服务器不能正常工作 五个关键背景进程之一发生错误(DBWn LGWR PMON SMON CKPT) Oracle解决措施 重启时,Oracle自动执行实例修复 SMON前滚后,然后执行事务回滚,备份和恢复概述,故障种类(续) 介质故障:严重错误,需要DBA干预 发生

4、情况 磁盘物理损伤 读写文件时出现物理故障 文件意外删除 解决措施 依赖于选择的备份方式,进行数据恢复。 网络故障,备份和恢复概述,选择备份策略 业务:数据丢失限度,连续性 操作:是否有专业技术人员 管理:资源,备份需要成本,Oracle备份和恢复,2,相关的实例和存储结构,相关的实例和存储结构,Data Buffer Cache DataFiles DBWn Redo Log Buffer LGWR 重做日志 CKPT Control Files ARCn 归档日志 Large Pool,相关的实例和存储结构,Instance,SGA,Database buffer cache,Large

5、pool,Java pool,Shared pool,Data dict. cache,Shared SQL and PL/SQL,ARCn,User process,Server process,PGA,Database,Datafile 1,Datafile 2,Datafile 3,Control file,Redo log file 1,Redo log file 2,Parameter file,Password file,Archived log files,PMON,DBW0,SMON,LGWR,CKPT,DBW1,Redo log buffer,Data Buffer Cach

6、e DBWn Datafiles,相关的实例和存储结构,Instance,SGA,Database buffer cache,Large pool,Java pool,Shared pool,Data dict. cache,Shared SQL and PL/SQL,ARCn,User process,Server process,PGA,Database,Datafile 1,Datafile 2,Datafile 3,Control file,Redo log file 1,Redo log file 2,Parameter file,Password file,Archived log

7、 files,PMON,SMON,LGWR,CKPT,Redo log buffer,DBWn,Redo Log Buffer LGWR Redo Log Files,相关的实例和存储结构,Group 1,log1a.rdo,log1b.rdo,Group 2,log2a.rdo,log2b.rdo,Group 3,Disk 1 (Member a),Disk 2 (Member b),log3a.rdo,log3b.rdo,Multiplexed Redo Log Files,相关的实例和存储结构,Instance,SGA,Database buffer cache,Large pool,J

8、ava pool,Shared pool,Data dict. cache,Shared SQL and PL/SQL,ARCn,User process,Server process,PGA,Database,Datafile 1,Datafile 2,Datafile 3,Redo log file 1,Redo log file 2,Parameter file,Password file,Archived log files,PMON,SMON,LGWR,CKPT,Redo log buffer,DBWn,CKPT Control Files,Control files,相关的实例和存

9、储结构,Instance,SGA,Database buffer cache,Large pool,Java pool,Shared pool,Data dict. cache,Shared SQL and PL/SQL,ARC0,User process,Server process,PGA,Database,Datafile 1,Datafile 2,Datafile 3,Control file,Redo log file 1,Redo log file 2,Password file,Archived log files dest 1,Parameter file,Password f

10、ile,Archived log files dest 2,ARC1,Redo log buffer,ARCn Archived Log Files,相关的实例和存储结构,Large Pool Can be configured as a separate memory area in the SGA to be used for: Oracle backup and restore operations I/O server processes Session memory for the shared servers Is sized by the LARGE_POOL_SIZE para

11、meter,Oracle备份和恢复,3,Oracle数据库备份,Oracle数据库备份,几个术语 全备份:当数据库打开或正常关闭状态下,对所有数据文件和控制文件的备份,称为全备份。可以不包含日志文件 部分备份:数据库打开或正常关闭状态下,对表空间、数据文件或控制文件的备份称为部分备份。 一致性备份(冷备份):数据库正常关闭状态下,数据文件和控制文件的Checkpoint是一致的,正常关闭后,进行的全备份称为一致性备份。 非一致性备份(热备份):在打开状态下,除非只读模式,数据文件和控制文件的Checkpoint处于不一致状态。非正常关闭状态下,数据文件和控制文件的Checkpoint也处于不一

12、致状态,此种情况下的全备份称为非一致性备份。不一致性备份需要恢复。 注意:在非归档模式下,只用一致性备份是有效的。,Oracle数据库备份,归档对备份操作的影响,Physical backup,Closed database,NOARCHIVELOG mode,Closed or open database,ARCHIVELOG mode,Oracle数据库备份,冷备份:数据库正常关闭状态下的全备份,2,3,4,SHUTDOWN IMMEDIATE,HOST cp /backup/,STARTUP OPEN,1,Control files,Password file,Parameter fil

13、e,Datafiles,Redo log files,Oracle数据库备份,获取需要备份的文件及存放路径,V$DATAFILE,V$CONTROLFILE,V$LOGFILE,DBA_DATA_FILES,Oracle数据库备份,热备份:数据库正常运行状态下的备份,可以作全备份也可以部分备份。热备份只有在归档模式下有效。,Tablespace backup,Tablespace USERS,users02.dbf,users01.dbf,Datafile backup,Tablespace USERS,users01.dbf,users02.dbf,Oracle数据库备份,备份步骤,Data

14、base Backup,Datafile 2,144,Datafile 1,143,SQL ALTER TABLESPACE users 2 BEGIN BACKUP;,SQL !cp /users01.dbf /BACKUP/users01.dbf,Database,Datafile 1,Datafile 2,Datafile 3,Control files,Redo log file 1,Redo log file 2,145,145,145,144,145,144,Oracle数据库备份,备份步骤,SQL ALTER SYSTEM ARCHIVE LOG CURRENT;,Databas

15、e Backup,Datafile 2,144,Datafile 1,143,Database,Datafile 1,Datafile 2,Datafile 3,Control files,Redo log file 1,Redo log file 2,145,145,145,144,145,145,SQL ALTER TABLESPACE users 2 END BACKUP;,Oracle数据库备份,热备份原则 备份时间要求尽可能的短。数据文件处于备份状态后,数据库仍和以前一样执行事务,该数据文件的所有数据变更块都将写入日志文件,会产生大量日志。因此,每次只备份一个表空间,或一个数据文件。

16、 建议采用自动化的脚本,降低产生错误的机率。,Oracle数据库备份,热备份异常处理 备份过程中,系统可能失败,电源可能掉电,种种情况都会导致备份失败。如果备份失败,那么备份将是不可用的,需重新备份。 处于备份状态的数据文件因文件头被冻结,因此启动时,和其他数据文件处于非一致性状态,不能进行恢复,导致启动失败。 通过V$Backup视图查看处于备份状态的数据文件(Mount状态下) 执行ALTER DATABASE END BACKUP或ALTER DATABASE DATAFILE filename|number END BACKUP 打开数据库。,SQLStartup Mount; SQL

17、ALTER DATABASE End Backup; SQLALTER DATABASE Open;,Oracle数据库备份,控制文件备份 当数据库结构或状态发生变更后,应执行控制文件的备份 备份策略 多镜像策略:控制文件存放在多个路径,有多个镜像,确保其安全性 完全备份:数据库关闭状态下的拷贝 备份为重建脚本: 命令:ALTER DATABASE BACKUP CONTROLFILE TO TRACE 脚本存放路径:USER_DUMP_DEST 备份为一二进制文件: 命令:ALTER DBATABASE BACKUP CONTROLFILE TO filename,ALTER DATABAS

18、E BACKUP CONTROLFILE TO TRACE;,Oracle数据库备份,CREATE CONTROLFILE REUSE(set) DATABASE “ORCL“(“orcl_new”) NORESETLOGS NOARCHIVELOG MAXLOGFILES 32 MAXLOGMEMBERS 2 MAXDATAFILES 254 MAXINSTANCES 1 MAXLOGHISTORY 452 LOGFILE GROUP 1 D:ORACLEORADATAORCLREDO01.LOG SIZE 1M, GROUP 2 D:ORACLEORADATAORCLREDO02.LOG

19、SIZE 1M, GROUP 3 D:ORACLEORADATAORCLREDO03.LOG SIZE 1M DATAFILE D:ORACLEORADATAORCLSYSTEM011.DBF, D:ORACLEORADATAORCLRBS01.DBF, D:ORACLEORADATAORCLUSERS01.DBF, D:ORACLEORADATAORCLTEMP01.DBF, D:ORACLEORADATAORCLTOOLS01.DBF, D:ORACLEORADATAORCLINDX01.DBF CHARACTER SET ZHS16GBK; ALTER DATABASE OPEN NOR

20、ESETLOGS; ALTER TABLESPACE TEMP ADD TEMPFILE D:ORACLEORADATAUTEMP.DBF SIZE 10485760 REUSE AUTOEXTEND ON;,Oracle数据库备份,参数文件备份,CREATE PFILE FROM SPFILE;,CREATE PFILE = /backup/init.ora FROM SPFILE;,Oracle数据库备份,日志文件备份,ALTER DATABASE ADD LOGFILE MEMBER /DISK1/REDO01A.LOG TO GROUP 1, /DISK1/REDO02A.LOG TO

21、 GROUP 2, /DISK1/REDO03A.LOG TO GROUP 3,Oracle数据库备份,DBVerify工具 用于验证数据文件中数据块结构完整性,从而达到验证有效性的目的。当遇到数据破坏问题时,恢复前,验证备份文件的有效性。 验证的文件可以是在线的,也可以是离线的,可以是整个文件,也可以是文件的一部分。,1,2,DBVERIFY,datafiles,Online,Error reporting,Offline,3,4,Online,%dbv file=/ORADATA/u03/users01.dbf logfile=dbv.log Start=1 End=500,Oracle备

22、份和恢复,4,Oracle数据库恢复,Oracle数据库恢复,术语 完全恢复:恢复到失败点。一般是在数据文件或控制文件丢失或遭到破坏后进行的恢复。前提条件: 有备份:备份以来的所有日志 无备份:自创建以来所有日志 不完全恢复:恢复到指定的时间点。除非特殊需要,一般不使用不完全恢复,因为不完全恢复会造成数据丢失。前提条件: 有恢复点前所有文件的物理备份 有从备份到恢复点之间的所有日志文件,Oracle数据库恢复,恢复原理,Restored datafiles,Database containing committed and uncommitted transactions,Recovered

23、database,Redo applied,Undo applied,5,4,3,2,1,Oracle数据库恢复,非归档模式下的恢复,Restore from the most recent backup,Password File,Parameter File,Password File,Parameter File,Password File,Parameter File,Backup,Database,146,Control files,Database,144,Control files,Oracle数据库恢复,优点 便于操作,减少误操作率,降低风险 恢复花费的时间取决于拷贝占用的时间

24、 缺点 从备份点以后的数据全部丢失,必须手工补录 仅能恢复到备份点 即使一个数据文件破坏,也必须恢复整个数据库 适合场景 两次备份间隔的数据容许丢失 可通过备份快速恢复启用 数据很少发生变化,非OLTP,Oracle数据库恢复,归档模式下的完全恢复种类 Closed database recovery for: System datafiles Undo segment datafiles Whole database Open database recovery, with database initially opened (for file loss) Open database rec

25、overy with database initially closed (for hardware failure) Data file recovery with no datafile backup,Oracle数据库恢复,归档模式下的恢复,Restore from the most recent backup,Password File,Parameter File,Backup,Database,146,Control files,Database,146,Control files,Oracle数据库恢复,场景1(一个或全部数据文件丢失),Shut down the instanc

26、e,1,Restore datafile 1 (Log Sequence 144),2,Open the database,4,Mounted Database,Recovered Database,Closed Database,146,Datafile 2,145,Redo log file 2,3,3,3,Oracle数据库恢复,场景2 (数据文件丢失,但没导致档机),1,2,4,3,Take datafile 2 offline,Restore datafile 2 (Log Sequence 144),Bring datafile 2 online,Open Database,Rec

27、overed Database,Open Database,3,3,Oracle数据库恢复,场景3(数据文件丢失,导致档机,在线恢复),Take datafile 2 offline,2,Restore datafile 2,4,Bring datafile 2 online,6,1,Mount the database,3,Open the database,5,Open Database,Recovered Database,Closed Database,5,5,Oracle数据库恢复,场景4 (数据文件丢失,没有备份),Open Database,Bring the datafile

28、or tablespace online,4,1,Take the datafile or tablespace offline,2,Re-create the datafile,3,Recovered Database,Open Database,Datafile 4,3,3,Oracle数据库恢复,实验 数据文件丢失、控制文件丢失、日志文件丢失 数据文件丢失、控制文件丢失,日志文件完好 数据文件丢失,控制文件完好、日志文件完好,Oracle数据库恢复,控制文件的恢复 用当前的控制文件拷贝进行还原 用CREATE CONTROL FILE 命令,你必须知道所有数据文件列表,可通过ALTER

29、DATABASE BACKUP CONTROLFILE TO TRACE获取 使用RECOVER DATABASE USING BACKUP CONTROLFILE。前提为有历史的控制文件备份,使用现在的日志文件进行恢复 适合场景 全部或部分控制文件遭到破坏或丢失 修改数据库名称 修改控制文件的其他项,Oracle数据库恢复,归档模式下的不完全恢复 完全恢复时,因一归档文件损坏导致无法进行 联机日志和数据文件同时丢失,联机日志没有镜像 控制文件丢失,但不知道数据库的结构,只有一个以前的控制文件备份 用户操作错误,误删除一重要表或删除一些重要数据并提交 种类 基于时间:知道失败点确切时间 基于S

30、CN:恢复到指定的SCN,一般用于分布式数据库。 基于Cancel:在恢复的提示符下,输入CANCEL,控制恢复。一般用于日志文件不全。,Oracle数据库恢复,步骤 关闭数据库,进行全备份 还原所有数据文件,包含系统表空间和回滚表空间的数据文件,但不要还原控制文件、参数文件、日志文件和密码文件 Mount数据库,确保数据文件在线 恢复数据文件到恢复点 打开数据库,重设日志 验证恢复的有效性 关闭数据库,进行全备份,Oracle数据库恢复,操作注意事项 小心谨慎的执行每一步 恢复前后都要进行数据库备份 验证恢复是否成功 转移归档日志文件,以防和恢复后数据库产生的归档日志产生混淆。执行不完全恢复

31、后,日志将从0重新开始记录。 恢复前后查看警告日志文件。在执行不完全恢复时,整个恢复的执行过程都被记录在警告日志文件中,包括错误信息、提示信息以及SCN号 。,Oracle数据库恢复,举例 基于时间的恢复 场景描述 当前时间是上午12:00 表Employee被Drop,时间为11:45 当前数据库的活动很小 表必须恢复 问题分析 知道失败的确切时间点,所以可以使用基于时间的恢复 步骤 关闭数据库,进行全备份 SQL SHUTDOWN IMMEDIATE $ cp /ORADATA/u*/* /db01/BACKUP/*.dbf 还原所有数据文件 $ cp /db02/BACKUP/*.dbf

32、 /ORADATA/u*/* Mount数据库,确保所有文件在线 SQL STARTUP MOUNT,Oracle数据库恢复,步骤(续) 恢复到失败时间点 SQL recover database until time 2007-02-18 11:44:00 打开数据库 SQL alter database open resetlogs; 验证恢复正确性 关闭数据库,进行全备份 SQL SHUTDOWN IMMEDIATE $ cp /ORADATA/u*/* /db01/BACKUP/*.dbf 打开数据库,补录11:45之后的 数据,Oracle数据库恢复,Shut down and ba

33、ck up,1,Mount the database,2,Restore all datafiles,3,Open with Resetlogs,5,Back up the database,6,Datafile 3,Redo log File 2,Datafile 2,Control Files,Redo log File 1,Datafile 1,Database,145,146,146,146,146,146,Datafile 3,Redo log File 2,Datafile 2,Control Files,Redo log File 1,Datafile 1,Recovered D

34、atabase,0,1,1,1,1,1,EMP,Datafile 3,Datafile 2,Datafile 1,Restored Database,146,144,144,144,EMP,Redo log File 2,145,Archived log file,144,4,Redo log File 1,146,Control Files,Oracle数据库恢复,恢复常用视图,V$DATAFILE,V$ARCHIVED_LOG,V$RECOVER_FILE,V$RECOVER_LOG,V$DATAFILE_HEADER,Oracle FLASH BACK,闪回 DBMS_FLASHBACK.Get_system_change_number sys.smon_scn_time DBMS_FLASHBACK.Enable_at_system_change_number DBMS_FLASHBACK.Enable_at_time DBMS_FLASHBACK.Disable,Q&A,The END,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1