在oracle数据库操作中,经常会有不小心误删除数据、drop表的情况出现。以前,这种情况发生后,开发人员通常会去求助DBA或管理者,使用数据库备份恢复去找回这些数据。
从oracle 9i、10g开始,你可以不必去用备份来恢复了。有一种快速恢复方法,称之为flashback。你可以flashback query,也可以flashback table。
(miki西游 @mikixiyou 原文链接: http://mikixiyou.iteye.com/blog/1682086
)
一、FLASHBACK QUERY
适应范围:表中的数据持续变化,需要看到某个时间点错误删除修改了某些记录,可以根据这些记录再进行数据恢复。
--闪回到15分钟前
select * from orders as of timestamp (systimestamp - interval '15' minute) where ......
这里可以使用DAY、SECOND、MONTH替换minute,例如:
SELECT * FROM orders AS OF TIMESTAMP(SYSTIMESTAMP - INTERVAL '2' DAY)
--闪回到某个时间点
select * from orders as of timestamp to_timestamp ('01-Sep-04 16:18:57.845993', 'DD-Mon-RR HH24:MI:SS.FF') where ...
--闪回到两天前
select * from orders as of timestamp (sysdate - 2) where.........
二、FLASHBACK TABLE
1、表已经drop掉之后使用,可以快速恢复。
flashback table orders to before drop;
如果drop的表已经重新建立了一个同名称的表,那么需要加上rename to子句。
flashback table order to before drop rename to order_old_version;
2、表的数据错误删除或修改后,没有后续数据变化,可以快速恢复。
第一步,首先要启用行迁移
alter table order enable row movement;
第二步,闪回表
到15分钟前:
flashback table order to timestamp systimestamp - interval '15' minute;
到某个时间点:
FLASHBACK TABLE order TO TIMESTAMP TO_TIMESTAMP('2007-09-12 01:15:25 PM','YYYY-MM-DD HH:MI:SS AM')
分享到:
相关推荐
如果闪回数据库选项开启,可以尝试使用`FLASHBACK TABLE`命令来恢复数据: ```sql FLASHBACK TABLE table_name TO BEFORE TRUNCATE; ``` 请注意,这仅在`ALTER DATABASE ENABLE FLASHBACK ARCHIVE`已执行且未达到闪...
Oracle 恢复误删除数据 Oracle 数据库是企业级的关系数据库管理系统,广泛应用于各种行业。然而,在实际操作中,误删除数据是一种常见的错误。因此,了解如何恢复误删除数据是非常重要的。本文将详细介绍 Oracle ...
对于Oracle数据库来说,它提供了一系列强大的数据恢复工具和技术,帮助管理员快速有效地恢复误删除的数据。本文将详细介绍Oracle数据库中不同场景下的数据恢复方法。 #### 二、Delete误删除的解决方法 **1. 原理**...
**闪回整个表**:如果表结构没有发生变化,可以直接使用闪回整个表的方式来恢复数据。 ```sql ALTER TABLE 表名 ENABLE ROW MOVEMENT; FLASHBACK TABLE 表名 TO TIMESTAMP TO_TIMESTAMP('删除时间点', 'yyyy-mm-dd ...
Flashback 技术不仅仅是一种简单的数据恢复工具,它提供了一系列功能,使得用户能够在多种情况下恢复数据,包括但不限于误删除、数据损坏、错误更新等场景。 #### Oracle Flashback Database **Oracle Flashback ...
数据库误删除东西恢复 在日常的数据库管理中,误删除数据是一种常见的...使用 Flashback 语句和 Flashback Table 语句可以快速恢复误删除的数据。同时,了解当前数据库中的锁、用户和权限、视图等信息也是非常重要的。
在日常操作中,有时可能会发生误操作,如误删除数据或锁定问题,本篇文章将详细讲解如何在Oracle中恢复误删除数据以及解锁相关操作。 1. **恢复误删除数据** 当你不小心删除了数据库表中的数据时,Oracle提供了一...
Oracle数据库提供了多种强大的工具,使得在发生误删误操作时能有效地恢复数据。这些工具包括Flashback Query、Flashback Drop、Flashback Table以及Flashback Database。以下是对这些特性的详细解释: 1. **...
- **Flashback Database Log**:包含数据块的前镜像,用于恢复数据。 - **Flash Recovery Area**:存储Flashback Database Log的地方。 #### 四、启用 Flashback Database - **配置 Flash Recovery Area**: - **...
Oracle Flashback技术是Oracle数据库10g及后续版本中的一项重要特性,它提供了一种快速、简单的方式来恢复数据,尤其适用于逻辑错误引起的数据库损坏场景。Flashback技术允许用户查看、查询和恢复数据至任意历史时间...
"Oracle_FlashBack恢复数据.pdf"文件可能涵盖了使用`FLASHBACK QUERY`和`FLASHBACK TRANSACTION`等不同方法来恢复特定的数据行或事务。这些功能允许我们基于时间点或者事务ID来恢复数据,极大地增强了数据安全性和可...
以下是一些关键的知识点,涵盖了如何恢复误删除的数据、解除锁定、处理账户锁定以及查询数据库用户和权限的相关信息。 1. **恢复误删除数据**: - Oracle 提供了闪回技术来恢复误删除的数据。通过 `AS OF ...
为了最大限度地减少这些意外事件的影响,Oracle提供了丰富的工具和技术来帮助恢复数据。具体到“恢复刚删除的数据”这一场景,可以采用以下几种策略: 1. **闪回查询(Flashback Query)** 2. **闪回表(Flashback ...
Oracle误删除表数据后的数据恢复详解Oracle7.X 回滚表空间数据文件误删除处理方法Oracle7.X 回滚表空间数据文件误删除处理方法Oracle7.X 回滚表空间数据文件误删除处理方法误删除$ORACLE_HOME/dbs下的参数文件、密码...
当数据被误删除后,我们可以借助这些工具来尝试恢复。 1. **闪回查询(Flashback Query)**:如果数据库开启了闪回功能,可以通过闪回查询回溯到删除操作之前的状态,查看并恢复数据。`FLASHBACK TABLE table_name ...
Oracle数据库管理系统提供了强大的数据恢复和管理功能,包括对误删除数据的恢复、锁定问题的处理以及用户和权限的管理。以下是一些关键知识点的详细解释: 1. **误删除数据恢复**: 当误删数据库表时,Oracle的闪...
本文将详细讲解如何在Oracle中恢复误删除数据、解除锁定,以及查询和管理用户权限。 1. **恢复误删除数据** 当意外删除表中的数据时,Oracle提供了一种称为"闪回"的技术。在10g及更高版本中,可以使用`AS OF ...
为了更好地理解Flashback如何工作,下面通过一个具体的例子来演示如何使用Flashback来恢复一张被误删除部分记录的表。 ##### 实验环境配置 - 操作系统:Red Hat 5 - 数据库:Oracle 10g ##### 步骤1:创建实验表 `...
在提供的"恢复oracle中用plsql误删除drop掉的表.txt"文件中,可能详细介绍了如何使用PL/SQL来执行上述的Flashback操作。通常,当表被误删除后,如果没有启用Recyclebin或者表已被回收站清理,可能需要依赖RMAN...