如果不小心删除了oracle表中不应该删除的数据,这时候又想找回来,该怎么做呢?其实oracle提供了一个强大的回闪功能。
在sql窗口中使用
Begin
dbms_flashback.enable_at_time(to_date('2009-4-23 11:50:03','yyyy-mm-dd hh24:mi:ss'));
End;
这里要注意的是只有system用户才有使用包dbms_flashback权限,如果想其他用户也能使用dbms_flashback,那么必须用system给特定用户授权使用这个包的权限!!
可使用grant execute on dbms_flashback to XXX。
这时候我们再查询表里的数据,数据就是参数中所设时间以前的数据。但启动回闪以后只能进行select操作,而不能做dml操作,那我们又想恢复表里的数据到所设的时间点该怎么做呢?
其实很简单,通过写一段很简单的代码就可以实现啦!!
如:
Declare
Cursor c1 Is
Select *
From cux.cux_tes_temp;
Type tbl_type Is Table Of c1%Rowtype;
l_tbl tbl_type;
Begin
--先用一个游标TYPE存储回闪后的数据
Open c1;
Fetch c1 Bulk Collect
Into l_tbl;
Close c1;
dbms_flashback.disable;--关闭回闪模式,就可以进行DML操作了
For i In 1 .. l_tbl.Count
Loop
Insert Into cux.cux_tes_temp
Values l_tbl
(i);
End Loop;
Commit;
End;
分享到:
相关推荐
在 Oracle 中,delete 方法可以使用闪回方法恢复删除的数据。如果在删除数据后还没有进行大量的操作(只要保证被删除数据的块没有被覆写),就可以利用闪回方式直接找回删除的数据。 首先,需要确定删除数据的时间...
Oracle数据库提供了多种误删除数据的恢复方法,包括闪回恢复和回收站恢复。通过对这些方法的理解和应用,可以有效地避免因误操作而导致的数据丢失问题。同时,在日常维护中,合理地管理回收站和及时回收不再需要的...
综上所述,Oracle闪回技术是数据库管理和恢复的重要组成部分,通过充分利用这些工具,可以在面对数据丢失或错误时迅速、准确地恢复数据,极大地提高了数据安全性。然而,这也需要数据库管理员具备足够的知识和经验,...
### Oracle数据库误删除数据的不同恢复方法 #### 一、引言 在日常的数据库管理工作中,数据误删除是一个常见的问题。对于Oracle数据库来说,它提供了一系列强大的数据恢复工具和技术,帮助管理员快速有效地恢复误...
在Oracle数据库中,`TRUNCATE TABLE`是一个用于删除表中所有数据的命令,它与`DELETE`语句不同,不记录任何删除操作,并且在大多数情况下执行速度更快。然而,一旦执行`TRUNCATE TABLE`,数据通常无法通过常规的...
### Oracle通过快照进行数据恢复 #### 一、引言 ...当然,除了快照之外,Oracle还提供了其他数据恢复机制,如备份与恢复、闪回技术等,这些工具和技术的综合运用将进一步提高数据的安全性和可靠性。
在日常操作中,有时可能会发生误操作,如误删除数据或锁定问题,本篇文章将详细讲解如何在Oracle中恢复误删除数据以及解锁相关操作。 1. **恢复误删除数据** 当你不小心删除了数据库表中的数据时,Oracle提供了一...
在Oracle数据库中,`TRUNCATE TABLE`命令用于删除表中的所有数据,但它与`DELETE`语句有所不同。`TRUNCATE`操作是DDL(Data Definition Language)的一部分,而`DELETE`是DML(Data Manipulation Language)。由于`...
3. **使用闪回功能**:如果数据库启用了闪回功能,可以尝试使用`FLASHBACK DATABASE`或`FLASHBACK TABLESPACE`命令来恢复数据文件到删除前的状态。但请注意,这需要足够的还原窗口,并且可能对其他事务产生影响。 4...
为了使 Oracle 数据库从任何逻辑误操作中迅速地恢复,Oracle 推出了闪回技术。 该技术首 先以闪回查询( Flashback Query)出现在 Oracle 9i 版本中,后来 Oracle 在 10g 中对该技术 进行了全面扩展,提供了闪回...
在Oracle数据库环境中,数据安全是至关重要的,但有时由于误操作,可能会导致数据被意外删除。在这种情况下,了解如何恢复误删数据变得极其关键。Oracle提供了多种机制来帮助用户在不同场景下恢复丢失的数据,包括闪...
通过以上介绍,我们可以看出Oracle闪回技术为用户提供了一种高效且灵活的方式来恢复误删或误改的数据。无论是单个表还是整个数据库,这些工具都大大提高了数据安全性和可用性。希望本文能帮助您更好地理解和应用...
如果在这3小时内发现数据被误删除,那么就可以尝试使用闪回查询恢复数据。 **步骤2:启用闪回** 为了能够查询到过去某个时间点的数据,我们需要先启用闪回功能。这可以通过执行以下PL/SQL代码实现: ```sql EXEC ...
Oracle闪回技术是一种非常实用的功能,它允许用户在不依赖备份的情况下恢复数据。这项技术尤其适用于那些因误删除或更新而导致的数据丢失情况。Oracle 9i版本引入了闪回技术,为用户提供了一种强大的工具来恢复到...
当数据被误删除后,我们可以借助这些工具来尝试恢复。 1. **闪回查询(Flashback Query)**:如果数据库开启了闪回功能,可以通过闪回查询回溯到删除操作之前的状态,查看并恢复数据。`FLASHBACK TABLE table_name ...
要恢复删除的表,应使用以下语句: ```sql FLASHBACK TABLE 表名称 TO BEFORE DROP; ``` 接下来,我们讨论“闪回查询”。闪回查询允许用户查看数据库在某一特定时间点的状态,而不会改变实际的数据。这在追踪数据...
Oracle 闪回功能是Oracle数据库系统提供的一种高级数据恢复机制,尤其适用于处理人为错误导致的偶然数据丢失。在Oracle 9i及之后的版本中,闪回功能得到了显著增强,使得用户可以更方便地恢复误操作,而不必依赖于...
如果表被意外删除,可以使用**闪回删除**功能来恢复它。这是非常强大的工具,因为它可以恢复整个表结构以及其中的所有数据。 #### 示例代码 ```sql FLASHBACK TABLE table_name TO BEFORE DROP; ``` 这条命令将`...
### Oracle闪回功能详解与数据恢复实践 #### 引言 在数据库管理中,数据丢失是一种常见的风险,可能由各种原因造成,如误操作、硬件故障或软件错误等。为应对这种挑战,Oracle数据库自第10g版本起引入了强大的闪回...
利用oracle提供的闪回方法,如果在删除数据后还没做大量的操作(只要保证被删除数据的块没被覆写),就可以利用闪回方式直接找回删除的数据。