• 选学校
  • 高中毕后选择什么学校好
  • 启蒙星
  • 北大青鸟课程介绍
  • 北大青鸟助你走上高级软件工程师修炼之路
  • 转行不是梦,学北大青鸟IT培训
  • 北大青鸟辉煌12年
  • 株洲北大青鸟校区升级

您现在的位置:株洲北大青鸟 >> >> 师资力量>> 技术天地

师资力量
开班信息
输入姓名手机号码预约试听课程
姓  名:*
手机号:*
创业摇篮班
开班日期:10月15日
招生人数:25
就业直通班
开班日期:10月31日
招生人数:25
就业精英班
开班日期:9月13日
招生人数:已满
技术天地
  • Oracle基于时间点的恢复
  • 发表日期:2008/5/12 17:54:10 阅读数:514  
  •  
  • Oracle基于时间点的恢复
                                                                                           株洲北大青鸟   陈健
        许多核心业务对数据的依赖性越来越强,尤其在一些对数据可靠性要求很高的行业如银行、证券、电信等,如果发生意外停机或数据丢失其损失会十分惨重。数据库的备份和恢复是指为保护一个数据库免于数据损失或者在发生数据损失后进行数据重新创建的各种策略和步骤、方法。数据备份几乎是任何计算机系统中绝对必需的组成部分。意外断电、系统或服务器崩溃、用户失误、磁盘损坏甚至数据中心的灾难性丢失都可能造成数据库文件的破坏或丢失,而这些文件往往包含着珍贵的数据,经不得任何损失。数据库管理员必须对此有所准备。在这种情况下,备份与恢复占了举足轻重的位置。
           Oracle备份分物理层次的备份和逻辑层次的备份,物理备份在文件的层次提供完全恢复功能,而逻辑备份主要是备份对象,如表和表空间。Oracle中数据库的恢复其实就是简单地把备份中组成数据库的物理文件拷贝到相应位置即可。一个备份加上归档的redo日志,可以使数据库恢复到redo日志中的最近的时间。数据库包括一致性备份和不一致性备份,一致性备份指备份后没有数据被修改,一般要先把数据库置到offline 状态,然后备份;而不一致性备份指备份后还有数据被修改,并且保存在了归档的 redo日志中,在不一致性备份的时候数据库可以继续进行操作。数据库从不一致性备份恢复后,应该置于offline状态,进行一致性备份,因为此时不会有数据被更改。数据库使用不一致性恢复的时候,必须提供一个备份+归档的redo日志,从日志中恢复可以选择全部恢复,也可以确定一个时间点 ,只恢复到该时间点。
           Oracle中的备份和恢复可以由用户自己来管理,也可由RMAN来管理。本文介绍用户管理方式的基于时间点的恢复。用户管理的基于时间点恢复是一种不完全恢复的手段,例如某个用户错误地Drop了某张表,或者执行了错误的delete,update语句并且commit到了数据库服务器,这时就可以使用用户管理的基于时间点的恢复手段来恢复原始数据。
           基于时间点的恢复需要在线日志和归档日志的支持。因此首先需要将数据调整至归档模式。将Oracle启动至mount状态,调整归档模式,如图1所示:
    图1:查看并更改Oracle归档模式
           下面是一个基于时间点恢复的例子,数据库服务器是Oracle 9i R2。
    1.  事先做好数据库的冷备份。
    2.  用某个用户登录,进行如下数据操作:
     

    18:54:49 SQL> select * from test;
    NAME
    --------------------
    mary
    18:54:58 SQL> insert into test values('jason');
    已创建 1 行。
    18:55:19 SQL> commit;
    提交完成。
    18:55:22 SQL> select * from test;
    NAME
    --------------------
    mary
    jason

     3.  关闭数据库,恢复之前备份的文件。

    4.  启动数据库至mount状态,更改session的时间格式:

    SQL> alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';
     
    会话已更改。
     5.  恢复数据库至提交插入数据”jason”之前,即18:55:22,完成介质恢复之后,重新设置日志的SCN号并且打开数据库。

    SQL> recover database until time '2008-05-09 18:55:20';
    完成介质恢复。
    SQL> alter database open resetlogs;
     
    数据库已更改。
     6.  重新登录用户,验证数据是否恢复到18:55:22之前,即未插入数据”jason”之时。

    18:55:36 SQL> conn jason@cake
    请输入口令:  *****
    已连接。
    18:55:38 SQL> select * from test;
    NAME
    --------------------
    mary
          针对基于时间点恢复的方式,需要注意,Oracle对时间点只能精确到秒。另外,实际应用中对于时间点的把握不可能像本例中这样精确,往往只记得大概时间,这时可以通过Oracle 9i提供的日志挖掘来得到具体时间点,当然这也需要联机日志和归档日志的支持.

上一篇:单例模式的详细讲解流程
下一篇:Struts配置文件详解
分享到:

版权所有 ©株洲健坤科技职业培训学校    学校地址:株洲市天元区黄山路205号健坤大厦(天元区消防中队对面)

咨询报名热线:400-8812-866    邮箱地址:4008812866@b.qq.com   备案号: 湘ICP备10202015号  

北大青鸟学费是多少 湖南北大青鸟怎么样
株洲北大青鸟好不好 株洲北大青鸟学费多少 株洲北大青鸟学校这么样
秒速时时彩走势