在ORACLE 10g中引入了RECYCLE BIN这个东东,好处就是当你删除了一张表或索引什么的后并不是完全删除,就像WINDOWS中的回收站一样,好处就是防止误删除,可以对误删除的表进行恢复,当然也可以清空RECYCLE BIN。
介绍下RECYCLEBIN里一些简单的东西
先建立一张表,名FOO
SQL>CREATE TALBE FOO(ID NUMBER(5),NAME VARCHAR2(5));
查看当前SCHEME下的所有表的名字
SQL>SELECT TALBE_NAMES FROM USER_TALBES;
TABLE_NAME
------------------------------
FOO
删除表FOO
SQL>DROP TALBE FOO;
SQL>SELECT TALBE_NAMES FROM USER_TALBES;
TABLE_NAME
------------------------------
BIN$Z2ptJ6PcRk6mJbM/0BmmAg==$0
--如果只想看RECYCLEBIN内的表名,可以用 SELECT OBJECT_NAME FROM USER_RECYCLEBIN;效果同上显示
发现有一个名为'BIN$Z2ptJ6PcRk6mJbM/0BmmAg==$0'的表,这个表就是FOO表DROP掉以后在RECYCLE BIN内产生的表,RECYCLE BIN会以特殊的方法来保证每张被删除的表在RECYCLE BIN内的表名都不一样,即使在未被删除时表名是相同的。
如果想看被删除表的详细点的内容,可用
SQL>SHOW RECYCLEBIN; --这句在SQL*PLUS内可用,但PL/SQL DEV中显示不出内容,不知道怎么会事
或着
SQL>SELECT ORIGINAL_NAME,OBJECT_NAME,TYPE,DROPTIME FROM USER_RECYCLEBIN;
ORIGINAL_NAME OBJECT_NAME TYPE DROPTIME
-------------------------------- ------------------------------ ------------------------- -------------------
FOO BIN$Z2ptJ6PcRk6mJbM/0BmmAg==$0 TABLE 2007-11-18:21:53:02
也可以用
SQL>DESC "BIN$Z2ptJ6PcRk6mJbM/0BmmAg==$0"; --来看被删除表的结构,注意要双引号!!这一句
PL/SQL DEV中也不能用,会显示没有这个表,在SQL*PLUS中可用。
现在对删除后表名的命名简单说一下:
当一个表被删除并移动到"回收站"中,它的名字要进行一些转换。这样的目的显而易见是为了避免同类对象名称的重复。(这一点和Windows操作系统的回收站不同,Windows中的回收站经过了特殊的处理,操作系统文件可以重名。)
转换后的名字格式如下:
BIN$unique_id$version 其中BIN代表RecycleBin
unique_id是数据库中该对象的唯一标志,26个字符长度
version表示该对象的版本号
删除recyclebin中的对象
我们用PURGE,语句PURGE TABLE "TABLE_NAME";
注:双引不要忘记,对RECYCLEBIN中对象操作都要有" "。
如上例,则:
SQL>purge table "BIN$6qAKR9ljQo+l+1gDCV8xCQ==$0";
SQL>PURGE RECYCLEBIN; --可以清空RECYCLEBIN;
恢复recyclebin中的对象
我们用FLASHBACK,中文名"闪回"
语句FLASHBACK TABLE [已删除TABLE名|"RECYCLEBIN中的名字"] TO BEFORE DROP;
如上例,则:
SQL>FLASHBACK TABLE FOO TO BEFORE DROP;
闪回完成。
但当你在RECYCLEBIN内有2张相同名字的表时候,只有通过"RECYCLEBIN中的名字"来闪回指定的表,用上面方法只闪回第一个被删除的同名表。
分享到:
相关推荐
Oracle 10g 引入了 Recycle Bin 回收站功能,类似于操作系统中的回收站。当用户 drop table 时,实际上只是将其重命名,并将 table 以及相关联的对象如 index、constraint 等放到回收站(RecycleBin)中。后续如果...
《Oracle 10G 实验手册》:深入解析Oracle闪回功能 Oracle 10G引入了一系列创新功能,其中最为显著的是闪回技术(Flashback)。这一特性在Oracle 9i的基础上进行了重大改进,极大地简化了数据库管理员(DBA)的工作...
在Oracle 10g中,当你执行 `DROP` 语句删除表、视图或其他对象时,这些对象并不会立即被物理删除,而是被移到回收站中。回收站本质上是一个数据字典表,存储着被删除对象的信息。这些对象依然占用存储空间,直到用户...
需要注意的是,在 Oracle 中,删除的表并不会立即从数据库中消失,而是会被移动到回收站(Recycle Bin),因此使用 **Flashback Drop** 命令可以在一定时间内恢复这些被删除的对象。 #### Oracle Flashback Version...
1. **默认设置**:自Oracle 10g版本起,默认情况下Recycle Bin功能是开启的。 2. **对象存储**:删除的表或其他对象不会立即从数据库中永久删除,而是被移动到Recycle Bin中。 3. **访问权限**:只有具有SYSDBA权限...
### Oracle 10g 闪回技术总结 Oracle 10g 引入了一系列闪回技术,极大地增强了数据库管理和恢复的能力。本文将详细介绍 Oracle 10g 的三种闪回技术:全库闪回、表被 DROP 后的闪回以及表被 DML 操作之后的闪回,并...
- 闪回删除和闪回数据库利用了Oracle 10g的回收站(Recycle Bin)和闪回恢复区(Flash Recovery Area)功能。 - 开启撤销表空间自动管理回滚信息是使用闪回技术的前提,相关参数如UNDO_MANAGEMENT(设置为AUTO)、...
Oracle自10g版本起引入了回收站(Recycle Bin)的概念,这一特性允许用户恢复已删除的对象,包括表、索引等。通过回收站机制,即使一个表被意外删除,也可以轻松将其恢复到删除前的状态。 #### 回收站的工作原理 当...
- Flashback是Oracle 10g中一项关键的技术,它可以实现在不同的层级上(如行、事务、表甚至是整个数据库)进行数据回滚。 - 例如,在发生小范围的人为错误时,可以在几分钟内快速完成错误的纠正工作,而无需进行...
#### 一、数据库ORACLE 10g R2调优 ##### 1. 修改`open_cursors`和`session_cached_cursors`的参数值 - **命令行调整方法**: - 查看当前设置:`SQL> show parameter cursors` - 调整`open_cursors`的值:`SQL> ...
Oracle 10g 的新特性之一是引入了回收站(Recycle Bin)功能,这是一个类似于操作系统回收站的设计,用于在数据库层面提供数据恢复的便捷方式。在 Oracle 10g 之前,如果用户误删了表,恢复过程相对复杂。但有了回收...
这是Oracle 10g引入的回收站(Recycle Bin)功能的一部分。 6. **闪回数据库**(Flashback Database):在数据库层面实现恢复,可以将整个数据库回退到过去某一时间点或SCN。这需要使用到闪回恢复区(Flash ...
Oracle 10g Flashback 技术是一种强大的数据库恢复和数据修正工具,它在9i版本引入,并在10g中得到了显著增强。Flashback主要包含三个关键特性:Flashback Query、Flashback Table和Flashback Database。 **...
这一特性最早出现在Oracle 9i版本中,但在Oracle Database 10g中得到了进一步的增强和完善。 ### 闪回删除的原理 当一个表被删除时,并不是立即从数据库中永久清除,而是移动到了回收站(Recycle Bin)。回收站...
注意:不同版本的Oracle数据库对Recycle Bin的控制方式略有差异,如在11g中需使用`deferred`关键字。 #### 四、DDL复制验证 完成上述配置后,可以通过创建新表、修改表结构等DDL操作,测试GoldenGate是否能够正确...
闪回 DROP 操作可以通过 Recycle Bin 进行恢复,Recycle Bin 是 Oracle 中的一种逻辑空间,用于存储删除的对象。 闪回 DROP 操作的优点是可以快速恢复删除的表,避免了数据丢失的风险。例如,以下命令可以将删除的...
Oracle提供了回收站(Recycle Bin)功能,可临时存储被删除的数据,有助于数据的恢复。MySQL的InnoDB引擎提供了类似的功能,但使用上有所不同。 ### 查询效率性能对比 1. **SELECT操作**:查询性能是数据库性能评估...
Oracle数据库自10g版本开始引入了回收站功能(Recycle Bin),这一特性为数据库管理员提供了一种简单而强大的方式来恢复误删的数据对象。通过回收站功能,用户可以在不使用备份的情况下恢复已删除的表、索引等数据库...
当表被DROP后,如果没有立即被其他数据覆盖,Oracle会将其放置在**回收站**(Recycle Bin)中,这使得用户可以在一定时间内恢复被删除的表。 #### 三、误删除数据的具体恢复方法 ##### 3.1 DELETE误删除的恢复方法 ...