oracle提供了丰富、灵活的备份、还原、恢复管理机制和手段!

首先要明确的是这三个概念:

  • 备份——backup:基于状态点的“拍照”、归档
  • 还原——restore:回滚到“拍照”的状态点、解档、文件复位
  • 恢复——recover:从“拍照”的状态点前滚,重演所有的改变。这其中又有手工管理的recover和smon自动管理的recove。也是我们99%的管理工作!

oracle提供的管理手段

  1. sql(plus)语句,原始,但推荐!
  2. rman
  3. os操作
  4. oem

oracle的管理机制:(个人的浅显认识)通过control file、datafile、online redo file、archived redo、undo 文件的内部标识识别整个系统是否一致!!个人猜测这个内部标识由resetlogs时候的scn和scn组成!10g里允许跨resetlogs恢复,猜想oracle这哥们可能允许在某些条件下以scn作为一致的标识了!

如果?和?不一致了:?..

  1. online:别废话!resetlogs
  2. controlfile:restore或者create controlfile,可以选择resetlogs 或 noresetlogs——关键看:datafile和online是否一致来决定是否resetlogs
  3. datafile:【先restore 】再 recover,根据情况决定是否resetlogs。 或者 create controlfile,这就必须得resetlogs了
  4. 以上各种情况的复合情形,也可以在各阶段综合应用以上的各种情况
  5. archived redo不连续、不一致、损坏:即使上帝在,也不可能通过应用这些文件来recover了。查清这些archive redo日志还有多少利用价值吧,不行的话,delete吧。这些文件可是进行恢复的必要条件!无论是不完全恢复到 scn、time、sequence#、cancel,本质上就是依次应用scn!!!
  6. undo文件在recover过程中的作用?本人还未弄明白,相必是仅仅提供控制文件的undospace空间用,要oracle不起不来啊;在recover过程结束时候,oracle并不做任何处理或者仅仅是重新初始化该文件;而online redo中的commit事务会应用到datafile,未commit事务从online redo文件中直接删除,否则依照smon自动recover的处理rollback undo文件中的undo内容,而此时undo文件中并不存在,那不就出问题了!

oracle提供的管理类型

  1. 冷、热:oracle的相关文件是否锁定
  2. 逻辑、物理:是oracle的数据,还是文件结构和数据
  3. 完全、不完全:是否是全部的东东(相关文件、相关数据、相关历史...)

backup:对象datafile、undofile、archived logfile、spfile、controlfile

  1. os冷备份:关闭oracle数据库,保持所有相关文件一致。copy,之后....,想resetlogs就resetlogs,想noresetlogs就noresetlogs。
  2. datafile热备:将oracle至于backup状态,alter database {begin|end} backup ,然后copy,
  3. controlfile的热备:alter database backup controlfile to filespec [reuse]
  4. controlfile for standby的热备:alter database create {physical|logical}standby controlfile as filespec [reuse]
  5. spfile|pfile的热备:os下直接copy。因为oracle并不锁定此文件。
  6. pwd文件的热备:os下直接copy。因为oracle并不锁定此文件。
  7. archived log的热备:os下直接copy................................................这也算!
  8. rman方式下的热备:将隐藏一起手工的os的copy、路径、命名、历史记录问题。因此:十分推荐。不过要注意备份全相关的文件。否则处理起来也比较麻烦!
  9. exp逻辑倒出备份,注意nls_lang的设置问题
  10. expdp服务器倒出备份。注意设置directory对象

restore:

  1. 像spfile|pfile、pwdsid、archivedlog可以随时随地的restore,前提是他们确实是有效的
  2. controfile:在nomount状态下,可以利用之前的冷备份直接restore;
  3. datafile:在nomount状态下,可以利用之前的冷备份直接restore;
  4. rman方式下的restore:将隐藏一起手工的os的copy、路径、命名、历史记录问题。因此:十分推荐。
  5. imp逻辑导入
  6. impdp服务器逻辑导入

recover:没有什么可以说的,基本上就要依赖online redo 、archived redo 进行完全 或 不完全的恢复了!!!所以,archived redo 文件至关重要!

  1. rman方式下的recover:将隐藏一起手工的os的copy、路径、命名、历史记录问题。因此:十分推荐。
  2. recover  {cancel|continue[default]} --mount--取消、继续recove会话
  3. recover logfile 'filespec' --mount--直接应用logfile进行recove会话
  4. recover [automatic] [from 'location'].... [test] [allow n corruption] --mount--automatic 指出recove自动搜索本地可用的log_archive_dest[_1]或指定的location的符合log_archive_famat的 archived redo文件,并applying,如果文件没有搜到或终止,则弹出prompt建议的automatic的文件名。test意思时模拟recover。 allow n corrupton意思是允许archived redo文件有n个坏块存在,用于test时可以指定大于1的值。而当真正应用recover时,只能是0、1。
  5. recover database until {cancel|time datatime|change scn} [using backup controlfile] --mount--recover整个数据库到时间点、scn、cancel
  6. recover tablespace tbs,...
  7. recover datafile {filenumber|filename},...
  8. recover standby tablespace tbs,... until controlfile
  9. recover standby datafile {filenumber|filename},... until controlfile
  10. recover managed standby database :
  • using current logfile [nodelay] [disconnect]
  • until change scn [nodelay] [disconnect]
  • finish [force] [{wait|nowait}]
  • cancel [{immediate|{wait|nowait}}]                    

转载于:https://www.cnblogs.com/jinzhenshui/archive/2009/03/10/1407666.html

Oracle学习笔记:备份、还原、恢复的一点理解相关推荐

  1. Python远程操作Oracle实现一键备份还原数据库演示,利用socket进行imp、exp一键导入导出oracle数据库dmp文件

    Python 远程操作 Oracle 进行数据库备份还原 第一章:效果演示 ① 数据库恢复演示 ② 请求模拟 第二章:功能实现 ① 创建启动服务 ② 处理解析请求 ③ 处理命令 ④ 服务端数据库操作 ...

  2. Oracle学习笔记---(一)

    Oracle学习笔记---(一) 一 1.Oracle简介     Oracle是以高级结构化查询语言(SQL)为基础的大型关系数据库:是一个对象关系数据库管理系统(ORDBMS).它提供了关系数据库 ...

  3. oracle学习笔记 Oracle体系结构概述

    oracle学习笔记 Oracle体系结构概述 从这节开始,开始讲oracle数据库体系结构. 首先从总体上,从概述上把oracle整体的体系结构讲一下, 然后接下来的时间我们会一块一块的将oracl ...

  4. oracle学习笔记 oracle软件安装准备工作 第一部分 环境准备

    oracle学习笔记   oracle软件安装准备工作  第一部分 环境准备 这节课对初学者来说内容较多,我把它分成了三篇. 即使这样也不可能把每个可能遇到的问题都说到,如果遇到没说到的问题自己上网搜 ...

  5. oracle学习笔记 参数文件及数据库的启动和关闭

    oracle学习笔记 参数文件及数据库的启动和关闭 我们这节课把oracle的参数文件以及oracle的启动关闭讲一下 一)参数文件作用 先看oracle的参数文件 它由来已久了 我们知道oracle ...

  6. Oracle简单的备份和恢复-导出和导入(1)

    ylbtech-Oracle:Oracle简单的备份和恢复-导出和导入(1) Oracle简单的备份和恢复-导出和导入 1. 用户导出自己的表(emp,dept)返回顶部 1.1, 我们启动Oracl ...

  7. oracle:oracle学习笔记(四)循环、光标、异常、瀑布模型

    oracle学习笔记:循环.光标.异常 文章目录 打印Hello World 定义基本变量 引用型变量(单行)` my_name emp.ename%type ` 记录型变量(多行) `emp_rec ...

  8. 在大量数据迁移期间oracle学习笔记

    在数据迁移期间oracle学习笔记 0主键(自增) 1用户代码 2区域代码 3承保公司代码 4理赔编码 5投保确认码 6案件状态 7案件进展 8重开案件进展 9转换后案件状态 需求分析: 1.根据上述 ...

  9. oracle 权限问题9017,[数据库]oracle学习笔记(一)用户管理_星空网

    oracle学习笔记(一)用户管理 2014-04-13 0 1 --oracle学习第一天 2 --连接 @后面连接数据库实例,具体连接到那个数据库 3 conn scott/tiger@MYORA ...

  10. 【Oracle】Oracle学习笔记

    [Oracle]Oracle学习笔记 目录 [Oracle]Oracle学习笔记 P1.Oracle数据库的安装和配置 P2.Oracle数据库管理 P3-0.初步SQL P3-1.基本SQL SEL ...

最新文章

  1. MSTAR GAMMA
  2. 盘点中国互联网行业10年2万多起投融资,17年投融资形势走向何处
  3. 【结论】游戏(jzoj 5536)
  4. hadoop上传文件java_hadoop入门之通过java代码实现将本地文件上传到hadoop的文件系统...
  5. 教你榨干保险公司最后一滴血
  6. python读取一个目录下的文件名(不会递归往下读)
  7. Linux RTC驱动模型分析
  8. 蚂蚁金服总监杨冰:金融科技公司为什么要拥抱开源? | 穿山甲专访
  9. 【深度学习】全面理解VGG16模型
  10. 学计算机系的考公好考吗,最适合考公务员的十大专业,学个好专业,考公很容易!...
  11. core dumped 错误
  12. 企业为什么要选择阿里云国际版上云?
  13. 攻防世界 reverse leaked-license-64
  14. php工作日,计算工作日的天数
  15. LAN、WAN、WLAN、WIFI
  16. 通俗理解光猫、网关、路由器、交换机
  17. 网站SEO从入门到精通
  18. 变位词算法C语言,第二章 啊哈!算法(变位词)
  19. 湖南大学计算机考试题,湖南大学计算机组成原理期中考试题库
  20. Ubuntu18+ 使用redshift调色温 夜间闪烁

热门文章

  1. Oracle 分页查询语句SQL
  2. 【springboot】模板路径、静态资源路径、WebRoot的本地路径
  3. 计算机风机不运转也启动了怎么办,电脑不开机风扇一直转怎么解决_电脑无法开机风扇一直转怎么办-win7之家...
  4. 美国网红python图片_美国失业人数突破2200万!这个动态图我用Python画出来了!...
  5. 传统的6d位姿估计fangfa1_你的厨房被水淹了!别担心,这只是3D深度估计做出的特效...
  6. Windows搭建FTP服务
  7. List(Map(String, Object))转为Fastjson JSONArray
  8. 监督学习——通用线性模型
  9. 为什么 Django 框架持续统治着 Python 开发?
  10. 再见,Navicat!这个Pycharm的兄弟真香!