备份恢复概述

备份恢复概述

官方文档入口:

Backup and Recovery User's Guide ---> Part VIII Performing User-Managed Backup and Recovery

 

1 Oracle体系结构

1.1 oracle server结构

1.2 内存结构

1.3 进程结构

1.4 存储结构

SYSTEM和SYSYAUX表空间:

  • SYSTEM和SYSAUX表空间是必须存在的表空间
  • 这些表空间是在创建数据库时创建的
  • SYSTEM表空间用于核心功能(如数据字典表)
  • 辅助的SYSAUX表空间用于附加的数据库组件(如Oracle Enterprise Manager Repository)

段、区和块:

  • 段存在于表空间中
  • 段由区的集合构成
  • 区是数据块的集合
  • 数据块会映射到磁盘块

1.5 体系结构小结

  • 内存结构
    • 系统全局区(SGA):数据库缓冲区高速缓存、重做缓冲区以及各种池
    • 程序全局区(PGA)
  • 进程结构
    • 用户进程和服务器进程
    • 后台进程:SMON、PMON、DBWn、CKPT、LGWR、ARCn等
  • 存储结构:
    • 逻辑:数据库、方案、表空间、段、区和Oracle块
    • 物理:数据文件、控制文件和重做日志文件

1.6 实例启动的三阶段

 

2 数据库故障类型

哪些任务需要备份和恢复功能:

  • 保护数据保留数据保留数据
    • 介质故障
    • 用户错误
    • 应用程序错误
  • 保留数据
  • 传输数据

1user process failure用户进程故障:    pmon自动处理

2instance failure实例故障:                  smon自动处理

3user errors用户错误:                         需要dba通过备份恢复解决

4media failure介质故障:                      必须通过备份和日志恢复

 

3 备份和恢复计划

1)根据生产环境的恢复周期,制定详细的备份计划,然后严格执行

2)对备份,要在一定的时间内利用测试环境,进行故障恢复的练习

 

4 备份恢复分类

4.1 逻辑备份与恢复--面向object

  • 传统的导入导出:exp/imp
  • 数据泵导入导出:expdp/impdp
    • 逻辑备份就是热备数据库对象某一时刻状态,不能运用在media failure上,逻辑备份的恢复就是还原备份,没有recover的概念

4.2 物理备份与恢复--面向media failure

  • 手工备份与恢复,也叫用户管理的备份与恢复(UMAN),通过OS的命令,完成备份与还原, 然后再运用日志进行恢复
  • 自动备份与恢复,利用oracle的备份恢复工具RMAN,使还原与恢复过程自动完成

物理备份从方式上可以有一致性备份(冷备)非一致性备份(热备)

完整的备份策略应该以物理备份为主,逻辑备份为辅(用于备份一些重要的表)

restore:还原(转储)

recover:恢复

4.2.1 实例恢复原理与数据库一致性

自动实例或崩溃恢复;

  • 由于试图打开其文件在关机时未同步的数据库而导致的
  • 使用存储在重做日志组中的信息来同步文件
  • 涉及两个不同的操作:
    • 前滚:重做日志更改(已提交和未提交)应用于数据文件
    • 回滚:已作出但未提交的更改将返回到其原始状态

很常用的三个查询命令(******):

select current_scn,checkpoint_change# from v$database;
select file#,checkpoint_change#,last_change# from v$datafile;
select file#,checkpoint_change# from v$datafile_header;

  看mount状态last_change#,有值,说明之前正常关库,open时不需要进行实例恢复;没有值,说明之前非正常关库,open时需要进行实例恢复instance recovery

4.3 闪回技术--面向人为的逻辑错误

一种利用undo数据或闪回日志的快速恢复技术。可以针对不同层面问题进行逻辑恢复,11g支持七种flashback方式

 

5 完全恢复与不完全恢复

media failure后,需要运用日志进行recover

完全恢复:

  利用完整备份或部分备份,可以将datafile恢复到failure前得最后一次commit,不会出现数据丢失

不完全恢复:

  需要运用完整备份和日志将database恢复到过去的某个时间点(或SCN),有数据丢失

 

6 归档与非归档模式

归档模式:redo log写入archive log

非归档模式:没有archive log,redo log file循环覆盖

当处于非归档模式下时,在丢失数据文件后唯一的选择是执行完整的数据库还原,而不能进行recover

非归档模式只能进行冷备(一致性备份),只能进行完整还原(还原到最后一次备份)

归档模式可以冷备也可以热备(非一致性备份),可以恢复到最后一次commit

查看当前归档模式:非归档模式

archive log list;

select file_id,tablespace_name from dba_data_files;

6.1 开归档

6.1.1 创建存放归档日志目录赋予权限

mkdir /u01/arch
ls -ld /u01/arch

6.1.2 修改初始化参数文件

alter system set log_archive_dest_1='location=/u01/arch';
alter system set log_archive_format='arch_ORCL_%t_%s_%r.dbf' scope=spfile;

 

6.1.3 正常关库,启动到mount状态

shutdown immediate;
startup mount;

6.1.4 开归档、开库

alter database archivelog;
alter database open;
archive log list;

切日志组,查看归档生成情况

alter system switch logfile;

posted @ 2021-06-27 11:10  chchcharlie、  阅读(290)  评论(0编辑  收藏  举报