设为首页 收藏本站
查看: 2942|回复: 0

[经验分享] Oracle的“回收站”-快闪恢复区

[复制链接]

尚未签到

发表于 2018-9-5 10:44:21 | 显示全部楼层 |阅读模式
  一、闪回技术
  为了使数据库能够从任何逻辑误操作中迅速恢复,oracle退出了闪回技术。采用该技术,可以对行级和事务级的数据变化进行恢复,减少了数据恢复的时间,而且操作简单,通过sql语句就可以实现数据的恢复,大大提高了数据库恢复的效率。闪回技术是数据库恢复技术历史上一次重大的进步,从根本上改变了数据恢复。
DSC0000.jpg

  闪回技术包括以下各项:
  1)闪回查询(flashback query):查询过去某个时间点或某个SCN(system  change  number,系统更改号)值时表中的数据信息。
  2)闪回版本查询(flashback version  query):查询过去某个时间段或某个SCN段内表中数据的变化情况。
  3)闪回事务查询(flashback  transaction query):查看某个事务或所有事务在过去一段时间对数据进行的修改。
  4)闪回数据库(flashback  database):将数据库恢复到过去某个时间点或某个SCN值时的状态。
  5)闪回删除(flashback  drop):将已经删除的表及相关联的对象恢复到删除前的状态,利用回收站进行工作
DSC0001.jpg

  6)闪回表(flashback  table):将表恢复到过去的某个时间点或某个SCN值时的状态。
  ##SCN:当Oracle数据库更新时,由DBMS自动维护而积累递增的一个数字。每一个SCN标识这一个数据库的状态。
  具体的闪回技术表:
DSC0002.jpg

  二、闪回恢复区
  Oracle使用闪回恢复区作为存放备份和恢复相关文件的默认位置。本质上相当于将所有的数据copy一份存储起来。但是他的存储会根据时间点和SCN进行标识,所有可以做到秒级的闪回整个数据库的数据。
  闪回区主要存放的文件:
  1)控制文件
  2)归档日志文件
  3)闪回日志
  4)控制文件和SPFILE自动备份
  5)RMAN的备份
  6)数据文件的备份
  闪回区大小的设置和管理
  1)db_recovery_life_dest:指定闪回区的位置
  2)db_recovery_file_dest_size:指定闪回区的空间
  3)db_flashback_retention_target:控制闪回日志中数据保留的时间
  三、操作
  建立闪回区
  shutdown immediate;                             :关闭数据库
  startup mount;                                  :mount数据库
  alter database archivelog;                          :开启归档模式
  alter database flashback on;                        :开启闪回日志,关闭                                                  时将该命令的on改为                                                  off即可
  alter database open;                                :open数据库
  alter system set db_recovery_life_dest=’/opt/oracle/flashrecovery
  area’  scope=both;
  alter system set db_recovery_life_dest_size=100G scope=both;
  :建立Oracle闪回区,   指定大小为100G
  alter system set db_flashback_retention_target=1440;
  :设置数据保留的时间, 单位为s;这里1440s    也就是1天
  使用SCN闪回数据库
  shutdown immediate;
  startup mount;                                  :闪回操作都需要数据                                                  库在mount状态下进行                                                    操作(后面省略)
  flashback database to scn 782541;
  按照时间闪回数据库
  alter session set uls_data_format=’YYYY-MM-DD HH24:MI:SS’;
  flashback database to timestamp (to_timestamp(‘2018-06-09 14-42-12),
  ’YYYY-MM-DD HH24:MI:SS’));
  闪回表
  flashback table t_name to timestamp/SCN [enable/disable triggers];
  注释[enable/disable triggers]:是可选项,是否激活触发器
  闪回删除
  flashback table t_name to before drop [rename to t_name];
  注释[rename to t_name]:可进行更名
  ##drop table t_name purge;                      :删除后不放入回收站
  闪回查询
  select * from t_name as of [scn/timestamp] where ...
  :根据SCN状态或者时 间状态查询


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-563483-1-1.html 上篇帖子: Oracle数据泵(Data Pump) 下篇帖子: 【Oracle】Oracle 11g 64位安装完后,ora-12541错误和ora-12514错误
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表