- 浏览: 143370 次
- 性别:
- 来自: 岳阳
文章分类
最新评论
-
lixinyuan1213:
谢谢了,
Eclipse GBK支持添加 -
可爱的小野人:
3Q
Eclipse GBK支持添加 -
shaka:
我也遇到类似问题,传参数带引号。
但在我实际测试中,只有单引号 ...
js 未结束的字符串常量 -
qingpingguo:
谢谢!!!
Eclipse GBK支持添加
Flashback Drop 是从Oracle 10g 开始出现的, 用于恢复用户误删除的对象(包括表,索引等), 这个技术依赖于Tablespace Recycle Bin(表空间回收站),这个功能和windows的回收站非常类似。
#################################################################################################################
flashback table <user_recyclebin.object_name or user_recyclebin.original_name> to before drop [rename to <new_table_name>];
将回收站里的表恢复为原名称或指定新名称,表中数据不会丢失。
若要彻底删除表,则使用语句:drop table <table_name> purge;
清除指定表:purge table <table_name>;
清除当前用户的回收站:purge recyclebin;
清除所有用户的回收站:purge dba_recyclebin;
1. Tablespace Recycle Bin
从Oracle 10g 开始, 每个表空间都会有一个叫作回收站的逻辑区域,当用户执行drop命令时, 被删除的表和表的关联对象( 包括索引, 约束,触发器,LOB段,LOB index 段) 不会被物理删除, 这些对象先转移到回收站中,这就给用户提供了一个恢复的可能。
初始化参数recyclebin 用于控制是否启用recyclebin功能,缺省是ON, 可以使用OFF关闭。
SQL> show parameter recycle
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
buffer_pool_recycle string
db_recycle_cache_size big integer 0
recyclebin string on
禁用该功能:
SQL> alter system set recyclebin=off;
SQL> alter system set recyclebin=on;
SQL> alter session set recyclebin=off;
SQL> alter session set recyclebin=on;
禁用后删除的对象将直接删除,不会写到Recycle中,当然在删除时,指定purge 参数,表也将直接删除,不会写到recyclebin中。
SQL> drop table name purge;
查看recyclebin中的对象列表:
SQL> select * from A;
ID
----------
1
2
3
SQL> drop table A;
表已删除。
SQL> show recyclebin
ORIGINAL NAME RECYCLEBIN NAME OBJECT TYPE DROP TIME
---------------- ----------------------------- ------------ -------------------
A BIN$RWXQQcTPRde0ws4h9ewJcg==$0 TABLE 2009-10-15:12:44:33
查看recyclebin中对象:
SQL> select original_name,object_name from recyclebin;
ORIGINAL_NAME OBJECT_NAME
-------------------------------- ------------------------------
A BIN$RWXQQcTPRde0ws4h9ewJcg==$0
查看recyblebin对象里的内容:
SQL> select * from "BIN$RWXQQcTPRde0ws4h9ewJcg==$0";
ID
----------
1
2
3
表空间的Recycle Bin 区域只是一个逻辑区域,而不是从表空间上物理的划出一块区域固定用于回收站,因此Recycle Bin是和普通对象共用表空间的存储区域,或者说是Recycle Bin的对象要和普通对象抢夺存储空间。当发生空间不够时,Oracle会按照先入先出的顺序覆盖Recycle Bin中的对象。也可以手动的删除Recycle Bin占用的空间。
1). Purge tablespace tablespace_name : 用于清空表空间的Recycle Bin
2). Purge tablespace tablespace_name user user_name: 清空指定表空间的Recycle Bin中指定用户的对象
3). Purge recyclebin: 删除当前用户的Recycle Bin中的对象
4). Purge dba_recyclebin: 删除所有用户的Recycle Bin中的对象,该命令要sysdba权限
5). Drop table table_name purge: 删除对象并且不放在Recycle Bin中,即永久的删除,不能用Flashback恢复。
6). Purge index recycle_bin_object_name: 当想释放Recycle bin的空间,又想能恢复表时,可以通过释放该对象的index所占用的空间来缓解空间压力。 因为索引是可以重建的。
2. Flashback Drop 实例操作
SQL> select original_name,object_name from recyclebin;
ORIGINAL_NAME OBJECT_NAME
-------------------------------- ------------------------------
A BIN$RWXQQcTPRde0ws4h9ewJcg==$0
SQL> flashback table a to before drop;
闪回完成。
SQL> select * from a;
ID
----------
1
2
3
当我们删除表A后,在新建表A,这时在恢复的时候就会报错,此时我们在闪回时,对表重命名就可以了:
SQL> drop table a;
表已删除。
SQL> create table a
2 (id number(1));
表已创建。
SQL> flashback table a to before drop ;
flashback table a to before drop
*
第 1 行出现错误:
ORA-38312: 原始名称已被现有对象使用
SQL> flashback table a to before drop rename to B;
闪回完成。
SQL> select * from B;
ID
----------
1
2
3
当我们删除表A,在新建表A,在删除它,这是在Recycle Bin中就会有2个相同的表明,此时恢复我们就要指定object_name才行.
SQL> select * from B;
ID
----------
1
2
3
SQL> drop table B;
表已删除。
SQL> create table B(name varchar(20));
表已创建。
SQL> drop table B;
表已删除。
SQL> select original_name,object_name from recyclebin;
ORIGINAL_NAME OBJECT_NAME
-------------------------------- ------------------------------
B BIN$vYuv+g9fTi2exYP9X2048Q==$0
B BIN$geQ9+NekSjuRvzG+TqDVWw==$0
SQL> flashback table "BIN$vYuv+g9fTi2exYP9X2048Q==$0" to before drop;
闪回完成。
SQL> select * from B;
ID
----------
1
2
3
一旦完成闪回恢复,Recycle Bin中的对象就消失了. Flashback Drop 需要注意的地方:
1). 只能用于非系统表空间和本地管理的表空间
2). 对象的参考约束不会被恢复,指向该对象的外键约束需要重建。
3). 对象能否恢复成功,取决与对象空间是否被覆盖重用。
4). 当删除表时,信赖于该表的物化视图也会同时删除,但是由于物化视图并不会被放入recycle bin,因此当你执行flashback table to before drop 时,也不能恢复依赖其的物化视图,需要dba 手工介入重新创建。
5). 对于Recycle Bin中的对象,只支持查询.
发表评论
-
Hash code
2011-11-21 15:35 959<script type="text/java ... -
jdbc
2011-11-21 15:36 9692.4、JDBC程序的代码模板 ... -
java集合类总结
2011-11-21 15:34 1342选自:http://android.yaohuiji.com/ ... -
package.private,protected,public
2011-11-21 15:31 4139对类时 package 包内的 public 共有的 ... -
HashMap和Hashtable
2011-11-21 15:32 957hashtable 是先出来滴,hashmap是后出来滴。 ... -
|和||、&&和&
2011-11-14 17:04 24867| : 会检查每一个 条件的真伪,再做“或”运算 (光 ... -
编码的字符串转换
2011-11-14 16:40 937String str="12344"; ... -
重载和重写
2011-11-14 16:34 817本文来自CSDN博客,转载请标明出处:http://blog. ... -
Java语法总结 - 内部类
2011-11-14 16:12 835Java语法总结 - 内部类 引用自: http:/ ... -
final,finally,finalize
2011-11-14 16:04 847final,finally,finallize都是java的关 ... -
csv文件打印
2011-11-02 16:46 1359import org.apache.struts.acti ... -
seasar
2011-10-19 14:42 806Seasar资料,见附件, copy于 中文下载地址 h ... -
java获得文件夹下所有文件路径
2011-09-27 12:12 1450package test;import java.io.Fil ... -
C:\Winnt\System32\Drivers\Etc\host
2011-09-26 16:17 1193在Windows 98系统下该文件在Windows目录,在Wi ... -
java project 和 web project
2011-09-21 13:58 1584java project 是直接运行本地代码 web pro ... -
equels 和 ==
2011-09-20 20:09 1224package test; public class Tes ... -
plsql设置快捷键
2011-09-20 16:38 2509在plsql里设置快捷键, 例如: 输入 sysdate 回 ... -
plsql设置数据库
2011-09-20 16:30 1146D:\app\product\11.1.0\db_1\NETW ... -
html:select下拉框 在jsp的list表格里面设置默认值
2011-09-20 09:56 8363html:select下拉框 在jip的list表格里面设置默 ... -
logic:iterate 的indexid判断循环次数
2011-09-20 09:54 1868logic:iterate循环,indexId做参数传递使用 ...
相关推荐
在Oracle 10g及后续版本中,为了提供更高效的数据管理能力,引入了一个非常实用的功能——**回收站**(Recycle Bin)。这一特性使得数据库管理员能够在不慎删除表等数据库对象后,能够轻松地从回收站中恢复这些对象,...
《Oracle 10G 实验手册》:深入解析Oracle闪回功能 Oracle 10G引入了一系列创新功能,其中最为显著的是闪回技术(Flashback)。这一特性在Oracle 9i的基础上进行了重大改进,极大地简化了数据库管理员(DBA)的工作...
10.6.3 闪回回收站 10.6.4 闪回查询 10.6.5 闪回版本查询 10.6.6 闪回事务查询 10.7 几种备份与恢复方法的比较 第11章 控制文件及日志文件的管理 11.1 控制文件 11.1.1 控制文件概述 11.1.2 多路...
### Oracle 10g 闪回技术总结 Oracle 10g 引入了一系列闪回技术,极大地增强了数据库管理和恢复的能力。本文将详细介绍 Oracle 10g 的三种闪回技术:全库闪回、表被 DROP 后的闪回以及表被 DML 操作之后的闪回,并...
当表被删除时,Oracle 10g 并不会立即将表彻底删除,而是将其重命名,并放置在一个名为“回收站”的特殊逻辑容器中。被删除的表会保留其原有的结构、数据以及相关联的索引和触发器等对象。 - **表的重命名**:删除...
Oracle数据库自10g版本开始引入了回收站功能(Recycle Bin),这一特性为数据库管理员提供了一种简单而强大的方式来恢复误删的数据对象。通过回收站功能,用户可以在不使用备份的情况下恢复已删除的表、索引等数据库...
- 版本比较表总结了Oracle 10g与其他版本的主要区别。 - **重要特性**:提供了版本间功能差异的概览,有助于决策升级策略。 **1.32 新特性回顾** - 新特性回顾部分总结了Oracle 10g的所有新特性。 - **重要特性**:...
### 张浩Oracle11gRAC数据库巡检手册知识点详解 #### 一、Oracle11gRAC数据库巡检背景介绍 Oracle11gRAC(Real Application Clusters)是一种高可用性解决方案,旨在通过在多台服务器上运行一个共享数据库来提高...
需要注意的是,在 Oracle 中,删除的表并不会立即从数据库中消失,而是会被移动到回收站(Recycle Bin),因此使用 **Flashback Drop** 命令可以在一定时间内恢复这些被删除的对象。 #### Oracle Flashback Version...
Oracle自10g版本起引入了回收站(Recycle Bin)的概念,这一特性允许用户恢复已删除的对象,包括表、索引等。通过回收站机制,即使一个表被意外删除,也可以轻松将其恢复到删除前的状态。 #### 回收站的工作原理 当...
总结来说,Oracle 10g的闪回技术在“军卫一号”信息系统中的应用,极大地提升了数据管理和维护的效率,增强了系统的灾难恢复能力,同时也为医院信息系统的安全运行提供了有力保障。对于医院信息系统维护人员来说,...
- 使用Oracle 10g的回收站功能,可以轻松地找到被删除的表并将其恢复到删除前的状态。 - 在实际操作过程中,可以通过查询回收站中的表,选择正确的版本进行恢复。 - **案例二:事务级的回滚操作** - 如果某个...
### Oracle Database 10g OCP 认证全合一考试指南 #### 一、基本概念与背景 **Oracle Database 10g OCP 认证全合一考试指南** 是一本全面覆盖 Oracle Database 10g OCP 认证考试内容的专业书籍。本书不仅包括了 **...
### Oracle10g DBA 监控和调整数据库知识点总结 #### 1. 主动监控数据库 - **警报机制**:警报是用于主动监控数据库的重要工具,当某些量度(如空间使用率、CPU利用率等)超过预设的阈值时,系统会触发警报,通知...
- 清空回收站以确保所有被删除的文件都被永久清除。 ##### 6. 重启计算机 - 完成上述步骤后,重启计算机,以确保所有的更改生效。 #### 四、验证卸载结果 - 在卸载完成后,再次检查控制面板、注册表以及文件系统...
### Oracle 10g 数据库管理、应用与开发标准教程知识点总结 #### 第二章:Oracle数据库物理与逻辑存储结构及实例组件 ##### 物理存储结构 - **数据文件**:存储数据库中的数据。 - **日志文件**:记录数据库的所有...