爱问知识人 爱问教育 医院库

SQL如何实现Oracle数据库数据恢复?

首页

SQL如何实现Oracle数据库数据恢复?

PL/SQL如何实现Oracle数据库数据恢复?

提交回答

全部答案

    2017-07-27 15:35:55
  •   数据恢复是数据库本身一个极其重要的功能,通常重要的数据可以通过其系统的数据备份功能来实现,所以在实际的开发中,重要的数据往往容易恢复,反而是一些平常的数据因为误操作而引起一些麻烦。
    对于有经验的开发人员来说,往往会对那些开发需要的基表(基表就是提供数据源的数据表)做一些备份。
      这样,即使以后出现一些数据误操作也不会导致重大的事故。 更为实用而又很少为开发人员所使用的方法就是采用倒叙查询,鉴于前面已经有了一定的技术铺垫,现在就可以使用DBMS_FLASHBACK包来对数据进行恢复了。为方便讲述,假定一个基表emp_table,其表记录如下: Emp_noEmp_nameEmp_salary001 Jacky 5000002 Rose 6000003 John 7000 即此表仅有3条记录,那么由于对数据库的误操作,导致第一条记录被删除,那么执行下面的SQL语句:select * from emp_table; 其执行结果为:Emp_no Emp_name Emp_salary002 Rose 6000003 John 7000 由于已经执行了提交操作(COMMIT),所以无法进行回滚(ROLLBACK),这样原来的数据就无法用正常方法进行恢复。
      不过,由于误操作的时候在不久以前(假设是5分钟之前),在这种情况下,可以使用DBMS_FLASHBACK包来恢复数据,可以在SQL*PLUS里键入如下代码:execute dbms_flashback。
      enable_at_time(sysdate-5/1440); 此时,将数据库调整到5分钟之前的状态,如果再执行查询表的命令就会为如下结果:Emp_no Emp_name Emp_salary001 Jacky 5000002 Rose 6000003 John 7000。

    无***

    2017-07-27 15:35:55

类似问题

换一换
  • 系统软件 相关知识

  • 电脑网络技术
  • 电脑网络

相关推荐

正在加载...
最新资料 推荐信息 热门专题 热点推荐
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200

热点检索

  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
返回
顶部
帮助 意见
反馈

确定举报此问题

举报原因(必选):