`
longgangbai
  • 浏览: 7311534 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Oracle 针对表的误删除

 
阅读更多
    Flashback是ORACLE9i开始新特性,但9I只支持FlashQuery,即根据回滚段读取表某个时间点的数据。到了10G,Oracle通过Recyle bin(回改站)与FlashArea(闪回区)实现快速恢复删除表((Flashback Table)和数据库时间点恢复((Flashback Database)(不需要全备份哦)。
从Oracle10g开始,有一个被称为回收站的虚拟容器,用于存放所有被删除的对象。
闪回技术
    当一个表被删除时,他并不是真正的删除而只是将它放在回收站里,主要这表还在回收站里,他就可以恢复,该回收站放在表所在的表空间里,
oracle 并不保证所有删除的表都能闪回成功。因为当用户在某一个表空间上创建一个新表时,oracle首先使用空闲的磁盘空间,当磁盘空间不
足时,采用回收站的空间。因此在创建表空间时,最好留足够的磁盘空间以方便日后进行恢复工作。


使用范围:仅仅使用于delete,drop情况,如果是用truncate或drop table tttttt purge删除的话,就只有查看日志文件了。
制造故障:
delete from sales where prod_id>100;
解决
1.针对delete的情况
开启表的行移动功能。
alter table sales enable row movement;
闪回数据:
flashback table sales to timestamp to_timestamp('20110805 HH24:mi:ss');


oracle 版本为Oracle11gR1
1.登录系统
conn sys/ticket as sysdba
查看回收站是否为on表示打开
show parameter bin
如果没有打开,修改数据库
alter system set recyclebin=on scope=spfile;
关闭数据库从其服务
shutdown immediate;
startup ;
确认回收站打开
show parameter bin
conn scott/tiger;
查看被删除的表的信息
show recyclebin;
当回收站中回收表信息太多时候,采用purge清除
purge table  表名


创建测试案例
创建测试表
create table test(value varchar(1));
插入数据
insert into test  values('1');
查看回收站信息
show recyclebin;
删除表
drop table test;
查看回收站信息
show recyclebin;
闪回数据
flashback table test to before drop;
测试
select * from test;


当采用如下清除删除语句,不能恢复
drop table test purge;

 

分享到:
评论

相关推荐

    利用 Oracle 系统触发器防止误删除表操作

    ### 利用Oracle系统触发器防止误删除表操作 #### 背景介绍 在企业级应用中,数据库的安全性和稳定性至关重要。Oracle作为一款广泛使用的数据库管理系统,提供了丰富的功能来保障数据安全。其中,系统触发器是Oracle...

    更改Oracle数据库表的表空间实践.pdf

    一种是针对少量表的移动,可以使用`ALTER TABLE`命令,直接指定新的表空间。另一种情况是移动一个用户下的所有表,这通常涉及删除现有表后再重建,并在重建时指定新的表空间,这种方法操作繁琐且容易出错。 在本文...

    oracle本表去重的语句优化

    在Oracle数据库中,进行表内数据去重是一项常见的任务,特别是在处理大量数据时。面对一个包含一亿条记录,且每个记录只有一个字段`mobile`的`bao_mobile_temp`表,如何高效地去除重复数据,是本文要探讨的核心问题...

    oracle误删数据表还原的二种方法(oracle还原)

    在Oracle数据库管理中,数据安全至关重要,而意外删除数据表是一种常见的错误操作。本文将详细介绍两种在Oracle中恢复误删数据表的方法。 1. **利用Undo表空间和Flashback功能** Oracle数据库提供了强大的闪回功能...

    oracle数据恢复工具

    物理恢复主要是针对数据文件、控制文件、重做日志文件等物理组件的损坏或丢失,而逻辑恢复则涉及事务错误、误删除数据等问题。"Oracle数据恢复工具"在这些领域提供支持,帮助用户在数据灾难发生时尽可能地恢复数据...

    Oracle数据库中数据误操作的补救方法.pdf

    Oracle数据库中的数据误操作补救方法是DBA面临的重要任务,因为一旦数据被错误修改或删除,可能造成重大损失。Oracle提供了多种恢复策略,包括数据的导入/导出功能、备份/恢复功能以及闪回技术。 一、Oracle的导入/...

    oracle中文版

    7. **闪回技术**:闪回功能允许用户撤销错误操作,如误删除数据,或者查看数据库的历史状态。 8. **归档日志模式**:在归档日志模式下,Oracle记录所有的事务,以便在发生故障时能进行完整的恢复。 9. **联机重做...

    Oracle恢复truncate删除表的数据.docx

    在Oracle数据库中,`TRUNCATE TABLE`是一个用于删除表中所有数据的命令,与`DELETE`语句不同,`TRUNCATE`不记录任何删除操作,因此它不能通过闪回查询(Flashback Query)来恢复。当你执行`TRUNCATE TABLE`后,数据...

    Environment variable ORACLE_UNQNAME not defined错误解决

    2. **配置文件问题**:如果在`.bash_profile`、`.bashrc`等配置文件中设置了`ORACLE_UNQNAME`但配置有误,也可能导致此错误。 3. **Oracle管理工具需求**:部分Oracle管理工具(如Enterprise Manager Console)在...

    Oracle 表空间时点恢复(TSPITR)

    时点恢复则意味着可以选择将表空间恢复到一个特定的时间点,这通常用于处理误操作、错误的数据输入或需要撤销的数据定义语言(DDL)操作,如误删表或改变表结构。与全库级别的闪回相比,TSPITR对数据库的影响更小,...

    ora-01033:oracle initialization or shutdown in progress 解决方法

    根据描述中的信息,问题产生的具体原因是因为误删除了位于`oracle/oradata/oradb`目录下的某个文件。这导致Oracle在启动时未能找到必要的配置文件,从而触发了ora-01033错误。 具体来说,Oracle在启动时会尝试加载...

    ORACLE常用维护命令

    当归档日志文件被误删除时,需要在RMAN环境中使用`crosscheck archivelog all`命令来与控制文件或Catalog同步,确保备份的准确性。 3. **KILL ORACLE会话**: 通过`V$SESSION`视图找到要结束的会话的`SID`和`...

    老白ORACLE面试题

    7. 对于误删除的数据文件,如果数据库处于非归档模式且没有备份,则可尝试使用ALTER DATABASE DATAFILE '文件路径' OFFLINE DROP来强制打开数据库。之后,可以通过查询DBA_TABLES, DBA_OBJECTS和DBA_EXTENTS视图,...

    Oracle数据库日常运维及应急故障处理手册

    对于数据误删除的情况,如果没有配置相应的闪回机制,可能需要从测试环境数据库中查找数据或者通过备份恢复。 Oracle数据库通过自动任务进行维护,如自动收集统计信息的任务。通过查询特定的视图可以查看自动任务的...

    oracle 10g flashback(数据恢复)

    ` 可以恢复被误删除的表。这一操作需要用户具有相应的权限,如 `Flashback any table` 的系统权限或针对特定表的 `Flashback` 权限,以及对该表的 `SELECT`, `INSERT`, `DELETE`, `ALTER` 权限等。 示例代码如下...

    oracle11g 在win7下自动开启/关闭监听和服务文件

    针对这一问题,我们可以利用批处理文件(.bat)来实现自动化操作。 批处理文件是基于DOS命令的脚本文件,可以执行一系列命令,简化用户的操作。在这个案例中,我们有两个批处理文件:`oracle start.bat` 和 `...

    Oracle教程 误添加数据文件删除方法

    本文将详细介绍在Oracle 10g R2版本中如何正确删除误添加的数据文件,特别是针对非SYSTEM表空间的情况。 首先,确认数据库版本是Oracle 10g R2,可以通过查询`v$version`视图来验证。例如: ```sql SQL> select * ...

    Oracle系统权限说明

    - 删除权限(DROP ANY...): 包括删除簇、索引、存储过程、角色、序列、快照、同义词、表、触发器和视图。 这些权限通常由DBA授予,以确保只有授权的用户才能执行特定的操作。权限管理有助于防止数据的误操作和...

    Oracle Flashback技術介紹

    - **应用场景**:当某个表的数据被误删除或修改时,可以通过该功能快速恢复表的数据。 - **优点**:操作简单,恢复速度快。 ##### 4. Flashback Drop - **定义**:允许恢复已经被删除的对象,如表或索引。 - **...

Global site tag (gtag.js) - Google Analytics