1 / 90

数据库的备份与恢复

数据库的备份与恢复. 概述 Oracle 的恢复结构和进程 故障的种类与原因 数据库的物理备份 数据库的完整恢复 数据库的不完整恢复 数据库的逻辑备份. 备份与恢复的问题. 防止由于各种故障导致的数据库破坏 延长平均故障发生时间 Mean-Time-Between-Failures (MTBF) 减少平均故障恢复时间 Mean-Time-To-Recover (MTTR) 避免数据丢失. 定义备份与恢复策略. 业务需求 技术需求 操作需求 并发管理. 业务需求. 平均故障恢复时间 Mean-Time-To-Recover

glyn
Download Presentation

数据库的备份与恢复

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 数据库的备份与恢复 • 概述 • Oracle的恢复结构和进程 • 故障的种类与原因 • 数据库的物理备份 • 数据库的完整恢复 • 数据库的不完整恢复 • 数据库的逻辑备份

  2. 备份与恢复的问题 • 防止由于各种故障导致的数据库破坏 • 延长平均故障发生时间Mean-Time-Between-Failures (MTBF) • 减少平均故障恢复时间Mean-Time-To-Recover (MTTR) • 避免数据丢失

  3. 定义备份与恢复策略 • 业务需求 • 技术需求 • 操作需求 • 并发管理

  4. 业务需求 • 平均故障恢复时间Mean-Time-To-Recover • 平均故障发生时间Mean-Time-Between-Failure

  5. 操作需求 • 24小时运行 • 用户和系统操作员评定 • 测试和检验备份是否有效

  6. 技术需求 • 资源:硬件,软件,人力及时间 • 操作系统文件的物理映象备份 • 数据库中对象的逻辑备份 • 数据库配置 • 事务的多少影响备份的频度

  7. 灾难恢复问题 • 主要的灾难事件有: • 地震,火灾,水灾或机器丢失 • 存储硬件或软件的故障 • 关键人员的流失,例如数据库管理员 • 是否有定期测试的计划 • 是否按照计划进行测试

  8. 数据库的备份与恢复 • 概述 • Oracle的恢复结构和进程 • 故障的种类与原因 • 数据库的物理备份 • 数据库的完整恢复 • 数据库的不完整恢复 • 数据库的逻辑备份

  9. SMON DBWn PMON CKPT LGWR ARCn Data file 1 Control files Redo logfile 1 Data file 2 Parameterfile Redo logfile 2 Archivedlog files Data file 3 Passwordfile Oracle的恢复有关结构 Instance SGA Shared pool Locks Large pool Shared SQLand PL/SQL Serverprocess Userprocess Data buffercache Redo logbuffer Data dict.cache PGA Database

  10. Serverprocess Userprocess PGA Data file 1 Control files Redo logfile 1 Data file 2 Parameterfile Redo logfile 2 Archivedlog files Data file 3 Passwordfile 数据库高速缓存, DBWn, 和数据文件 Instance SGA Shared pool Locks Large pool Shared SQLand PL/SQL Data buffercache Redo logbuffer Data dict.cache SMON DBW0 PMON CKPT LGWR ARCn DBW1 Database

  11. Data file 1 Control files Redo logfile 1 Data file 2 Parameterfile Redo logfile 2 Archivedlog files Data file 3 Passwordfile 重做日志缓存, LGWR, 和重做日志文件 Instance SGA Shared pool Locks Large pool Shared SQLand PL/SQL Serverprocess Userprocess Data buffercache Redo logbuffer Data dict.cache PGA SMON DBWn PMON CKPT LGWR ARCn Database

  12. Group 1 Group 1 Group 2 Group 3 Log1a.rdo Log1a.rdo Log2a.rdo Log3a.rdo Log1b.rdo Log1b.rdo Log2b.rdo Log3b.rdo 多重的重做日志文件 磁盘1 (成员1) 磁盘2 (成员2)

  13. Instance SGA Shared pool Locks Large pool Shared SQLand PL/SQL Serverprocess Userprocess Data buffercache Redo logbuffer Data dict.cache PGA SMON DBWn PMON CKPT LGWR ARCn Data file 1 Control files Redo logfile 1 Data file 2 Parameterfile Redo logfile 2 Archivedlog files Data file 3 Passwordfile Database CKPT进程

  14. Serverprocess Userprocess PGA Data file 1 Redo logfile 1 Control files Data file 2 Parameterfile Redo logfile 2 Archivedlog files Data file 3 Passwordfile Database 多重的控制文件 Instance SGA Shared pool Locks Large pool Shared SQLand PL/SQL Data buffercache Redo logbuffer Data dict.cache SMON DBWn PMON CKPT LGWR ARCn

  15. ARCn进程和归档日志文件 Instance SGA Shared pool Locks Large pool Shared SQLand PL/SQL Serverprocess Userprocess Data buffercache Redo logbuffer Data dict.cache PGA SMON DBWn PMON CKPT LGWR ARC0 ARC1 Control files Data file 1 Redo logfile 1 Archivedlog files dest2 Data file 2 Parameterfile Redo logfile 2 Archivedlog files dest1 Data file 3 Passwordfile Database

  16. 多个进程和归档目标 RFS1 ARC1 Onlinelog files • 多个归档进程 • 多个归档目标: 本地磁盘和/或远程数据库 • 增加归档的吞吐量 • 较少的手工归档 ARC0 Log filesto apply Archivedlog files Primary site Standby site

  17. 数据库的备份与恢复 • 概述 • Oracle的恢复结构和进程 • 故障的种类与原因 • 数据库的物理备份 • 数据库的完整恢复 • 数据库的不完整恢复 • 数据库的逻辑备份

  18. 故障的种类 • 语句故障 • 用户进程故障 • 用户错误 • 实例故障 • 介质故障

  19. 语句故障的原因 • 应用程序中的逻辑错误 • 企图向表里输入坏数据 • 企图执行一个无效权限的操作 • 企图创建一个表,而又超过被分配的限额 • 企图对一个表进行插入或更新操作,该操作引起存储空间的分配,而此时表空间的空闲空间已经不足

  20. 语句故障的解决 • 改正程序的逻辑流程 • 修改并重新提交SQL语句 • 提供必要的数据库权限 • 使用ALTER USER命令改变用户使用存储空间的限额 • 扩充表空间

  21. 用户进程失败的原因 • 用户在会话当中执行了非正常的断开 • 用户会话非正常结束 • 用户程序引发一个结束会话的例外

  22. 用户进程失败的解决 • PMON进程回滚事务,并且释放资源和占据的锁 • PMON进程可以检测非正常结束的用户进程

  23. 可能发生的用户错误 SQL> DROP TABLE Employee; SQL> TRUNCATE TABLE Employee; SQL> DELETE FROM Employee; SQL> UPDATE Employee 2 SET SALARY = SALARY * 1.5; SQL> COMMIT;

  24. 用户错误的解决 • 对数据库用户进行培训 • 从有效的备份进行恢复 • 从卸出的表进行装入 • 执行时间点的恢复

  25. Instance Serverprocess Userprocess SGA Shared pool PGA Locks Large Pool Shared SQLand PL/SQL 2 7 Data buffer Redo log buffer Data dict.cache 1 Serverprocess Userprocess SMON DBWn PMON CKPT LGWR ARCn PGA 3 5 2 146 144 144 146 145 146 144 145 Data file 1 Control files Redo logfile 1 4 6 145 146 144 145 Data file 2 Parameterfile Redo logfile 2 146 144 145 Data file 3 Passwordfile Database 实例故障的原因

  26. 实例故障的恢复 • 不需要数据库管理员采取专门的恢复 • 启动实例 • 等待要打开的数据库的通知 • 通报用户 • 检查警告文件,得到故障发生的原因

  27. 2. 前滚 (重做) 3. 文件中提交的和未提交的数据 4. 回滚 (撤消) 5.文件中提交的数据 Serverprocess SQL*Plus SMON DBWn PMON CKPT LGWR PGA 146.1 146.5 146.5 146.5 146.5 Data file 1 Control files Data File 1 Redo logFile 1 Redo logfile 1 146.5 146.2 145 RBS Data file RBS Data File Redo logfile 2 146.5 Data file 3 Database 实例恢复的阶段 1. 数据文件不同步 Instance SGA Shared pool Locks Large pool Shared SQLand PL/SQL Data buffercache Redo log buffer Data dict.cache ARCn 检查点 RBS

  28. 介质故障的原因 • 磁盘驱动器的头发生故障 • 读写数据文件时发生物理问题 • 文件误删除

  29. 介质故障的解决 • 根据所选择的备份方法及受影响的文件,决定恢复策略 • 如果可能,应用归档日志文件来恢复上次备份以来所提交的数据

  30. 数据库同步 • 数据库打开时全部数据文件(脱机或只读除外)必须同步 • 同步是根据当前的检查点进行的 • 应用重做日志来同步文件 • Oracle服务器自动请求重做日志

  31. 数据库的备份与恢复 • 概述 • Oracle的恢复结构和进程 • 故障的种类与原因 • 数据库的物理备份 • 数据库的完整恢复 • 数据库的不完整恢复 • 数据库的逻辑备份

  32. 备份方法 关闭的或打开的数据库 关闭的数据库 No archive mode Archive mode Physical backup

  33. 关闭的数据库备份 Data files Control files Parameter files Passwordfile Redo log files 联机或脱机存储

  34. 关闭的数据库备份的优点 • 概念简单 • 易于操作 • 完全不需要系统操作员交互

  35. 数据库文件信息 • 数据字典视图 V$DATAFILE V$CONTROLFILE V$LOGFILE DBA_DATA_FILES

  36. 执行一个关闭的数据库备份 2 SHUTDOWN IMMEDIATE; 3 HOST cp <files> /backup/ 1 Data files Log files Control files Passwordfile Parameter files 4 STARTUP OPEN;

  37. 打开的数据库备份 Control files Data files Parameter files Online redolog files Archived redolog files Password file

  38. 打开的数据库备份的优点 • 维护数据库的高可用性 • 可以在表空间级或数据文件级完成 • 支持不停顿的业务需求

  39. LGWR ARC0 052 051 054 053 052 051 051 054 053 052 053 归档日志文件 打开的数据库备份需求 归档方式 联机日志文件

  40. Tablespace USER_DATA Tablespace USER_DATA user01.dbf user02.dbf user01.dbf user02.dbf 打开的数据库备份选项 表空间的 所有数据文件 单个数据文件

  41. 备份状态信息 • 数据字典视图: • V$BACKUP • V$DATAFILE_HEADER

  42. 控制文件的备份 • 创建一个二进制映象: alter database backup controlfile to control1.bkp`; • 创建一个文本跟踪文件: alter database backup controlfile to trace;

  43. 数据库的备份与恢复 • 概述 • Oracle的恢复结构和进程 • 故障的种类与原因 • 数据库的物理备份 • 数据库的完整恢复 • 数据库的不完整恢复 • 数据库的逻辑备份

  44. Instance Serverprocess Userprocess SGA Shared pool PGA Locks Large Pool Shared SQLand PL/SQL Data Buffer Redo Log Buffer Data dict.cache Serverprocess Userprocess SMON DBWn PMON CKPT LGWR ARCn PGA 144 144 144 146 146 146 Data file 1 Control files Data File 1 Control Files Redo logfile 1 Redo logFile 1 144 146 145 145 Data file 2 Data File 2 Redo logfile 2 Parameterfile Redo logFile 2 144 146 Data file 3 Data File 3 Passwordfile Database 介质故障

  45. 介质故障和恢复:NOARCHIVELOG 模式的数据库 • 故障:磁盘,数据文件的丢失,或破坏 • 恢复:还原全部Oracle文件: • 数据文件 • 控制文件 • 重做日志文件 • 口令文件(可选) • 参数文件(可选)

  46. 恢复:NOARCHIVELOG 模式 • 优点: • 易于执行,错误风险较低 • 恢复时间取决于全部文件的还原时间 • 缺点: • 数据丢失,需要手工重新应用 • 整个数据库被还原到最近的全数据库关闭的备份

  47. 144 144 144 Data file 1 Control files Redo logfile 1 144 143 Data file 2 Parameterfile Redo logfile 2 144 Data file 3 Passwordfile Backup 还原最近的备份 146 144 146 144 144 146 Data File 1 Data file 1 Control Files Control files Redo logFile 1 Redo logfile 1 144 146 145 143 Data File 2 Data file 2 Parameterfile ParameterFile Redo logFile 2 Redo logfile 2 144 146 Data File 3 Data file 3 Passwordfile PasswordFile Database Database 恢复: NOARCHIVELOG模式

  48. 数据文件还原至不同的位置 • 重新命名文件或目录位置 SQL> connect system/manager as sysdba;Connected. SQL> startup mount pfile=initDB00.ora;Oracle instance started. SQL> alter database rename file 2> ‘disk1/data/user_01.dbf’ 3> to ‘disk2/data/user_01.dbf’;Statement Processed. SQL> alter database open;

  49. 介质故障和恢复: ARCHIVELOG模式的数据库 • 故障:磁盘,数据文件的丢失,或破坏 • 恢复: • 还原的数据文件必须脱机 • 仅还原丢失或破坏的数据文件 • 不要还原控制文件,重做日志文件,口令文件或参数文件 • 恢复数据文件

  50. ARCHIVELOG模式的恢复(完整恢复) • 优点: • 仅需要还原丢失的文件 • 恢复所有的数据到出故障的时间点 • 恢复时间包括还原丢失的文件和应用全部归档日志文件的时间 • 缺点: • 必须有从还原的备份以来的全部归档日志文件

More Related