zoukankan      html  css  js  c++  java
  • Oracle闪回技术

    Oracle闪回技术

     

    我们都清楚的知道,当我们数据库中的数据删除或者更新之后,数据很难再还原回来,在没有了解闪回技术之前,就觉得是没办法还原了,这样子会付出很大的代价。

    现在我来总结一下闪回技术的启动和操作的步骤。

    一.不管闪回功能是否开启,我们先记录一下当前时间或者SCN

    1select  to_char(sysdate,'YYYY-MM-DD HH24:mi:ss') from dual;----时间

    2 select  current_scn from v$database;----SCN

    二.我们要事先查一下,看看oracle数据库是否已经启动了闪回功能;

    1select flashback_on from V$database;

    如果已经开启了闪回功能,如果还没有开启的话,

    返回值是FLASHBACK_ON = NO,

    那么我们执行以下步骤了:

    2alter system set db_recovery_file_dest_size=30G scope=both;

    3alter system set db_recovery_file_dest='F:appLK'[LK1]   scope=both;

    到此,我们得需要改变用户登录,我们的用sys as sysdbacmd里面登录,继续执行下面语句,就可以开启闪回功能了。

    4、shutdown immediate

    5、startup mount

    6、alter database archivelog;

    7、alter database flashback on;

    8、alter database open;

    接下来我们再看看闪回功能开启了没有

    9select flashback_on from V$database;(如果成功的话,那么会返回值“FLASHBACK_ON = YES”)

    我们再来看看初始的默认参数,就是flashback功能默认时间多少:

    10show parameter flashback;

    三.执行闪回

    在执行返回之前,我们要先开启“行移动功能”:

    1ALTER TABLE COMM.STAFF_DICT_TEMP ENABLE ROW MOVEMENT

    到此,我们可以使用时间闪回了:

    2shutdown immediate

    3startup mount

    4flashback database to timestamp to_timestamp[LK2] ('2014-03-12 23:46:00','yyyy-mm-dd hh24:mi:ss[LK3] ')

    四、到这里数据就已经闪回到更改前的数据了,算是成功了,但是又有一个很大的问题出现了,到现在我们用普通用户登录system normal不进去了,只能用system  sysdbasys as sysdba登录了,如果这样子的话,问题就大了,但是不用担心,解决办法还是有的,看下面:

    要清空一次数据库登录方式才可以以normal登录

    1shutdown normal

    2startup mount;

    3alter database open;

    4alter database open resetlogs;

    5alter database datafile 2 [LK4] offline drop;(这步是在上一步失败的情况下执行的)

    6alter database open resetlogs;

    7alter database open;

    8shutdown normal

    9startup mount;

    五、到此全部已经成功完成了。


     [LK1]这个是oracle数据库的回收站,我们闪回的时候可以从这里把数据拿出来。

     [LK2]类型要是to_timestamp类型,否则会报错。

     [LK3]时间要是你删除或者更新数据那一刻之前的时间,为了数据更正确,最后在更改数据前几秒钟或者一分钟之内

     [LK4]看上一步返回的是什么错误,有可能是datafile1datafile 2datafile 3

  • 相关阅读:
    用PHP写一个代理来解决跨域问题
    curl
    centOS 安装及部署 SVN
    vue.js 安装
    谷歌开发者 代码调试同步本地文件功能
    Liunx 下的 SNMP 及 PHP如何连接
    2017年5月11日 开放大学 理财考试记
    js window.onlload 自遐想
    纯页面跳转问题
    mysql 字列问题
  • 原文地址:https://www.cnblogs.com/lvk618/p/3598043.html
Copyright © 2011-2022 走看看