oracle 回收站管理

oracle10g,在pl/sql中选中删除后会出现类似:BIN$nJ5JuP9cQmqPaArFei384g==$0的表。

1.查看回收站

select from user_recyclebin;

2.清空回收站

purge recyclebin;

3.清空回收站中的某个表

--如下方式删除会提示:SQL命令未正确结束。

purge table BIN$/UpBuh+LQ9yZGN95BFsk5Q==$0

--正确写法如下:

purge table "BIN$/UpBuh+LQ9yZGN95BFsk5Q==$0";

--如下方式删除会提示:SQL命令未正确结束。

drop table BIN$/UpBuh+LQ9yZGN95BFsk5Q==$0

--而如下这样写,则会提示:无法对回收站中的对象执行DDL/DML。

drop table "BIN$0iJ7/rWFQrSGdZexvGv3qQ==$0"

4.恢复回收站

FLASHBACK TABLE "BIN$0iJ7/rWFQrSGdZexvGv3qQ==$0" TO BEFORE DROP

这是10g 的新特性

在10g中,如果启用flash drop功能,在drop表时,数据库不会直接删除,而是将其放在回收站中,当空间出现短缺时,才会逐渐回收这部分空间。

bin$表示表放在了回收站,你想要的话还可以找回来

删除的话一个方法是直接删delete tanle bin$.....;

另一种方法就是使用 purge table table_name;

drop table时, 不产生他们,修改你的drop语句

写成 :

DROP TABLE TABLE_NAME PURGE ;

转载:

以前只知道Windows有个回收站,今天听说Oracle也有个回收站!

在Oracle中可能不小心会DROP掉一个表,如果没有定期做备份的话,将会带来很大的麻烦。如果有的情况下,每天的数据都很重要,而定期备份的周期又稍长,情况恐怕也不容乐观!

不过还好Oracle有个回收站,概念就跟Windows里的回收站一模一样。

比如有以下误操作:

DROP TABLE drop_test;

这个时候再用SELECT语句查询此表时,将会提示表或视图不存在。但可以用如下语句查询到这个表还在Oracle回收站中:

SELECT FROM user_recyclebin WHERE original_name=‘drop_test’;

那么现在就可以用如下语句进行恢复:

FLASHBACK TABLE drop_test TO BEFORE DROP

但是,要注意的是,如果用toad工具进行鼠标操作,即右键drop table时,如果选择了purge选项,那么就是永久性删除,在oracle的回收站也不会存在了,所以在进行表的删除的时候一般不要选择该选项,除非你很肯定该表不再使用。

时间: 2024-11-05 14:47:27

oracle 回收站管理的相关文章

ORACLE回收站机制介绍及管理

ORACLE回收站机制介绍 从ORACLE 10g开始,引入了一个叫回收站(RecycleBin)的概念.它的全称叫Tablespace Recycle Bin.回收站实际是一个逻辑容器(逻辑区域),原理有点类似于WINDOW系统的回收站.它以表空间中现有已经分配的空间为基础,而不是从表空间上物理划出一个固定区域用作回收站.这意味着回收站和表空间中的对象共用存储区域.系统没有给回收站预留空间.因此,当表被DROP后,如果可用空间充足,并且没有对回收站进行清理,那么被DROP掉的对象会一直存在回收

5.创建表,使用alter进行表信息的增删改,Oracle回收站,集合运算

 1  Oracle基于用户的管理方案 2 DDL语句可以管理数据库的对象有:视图   索引  序列  同义词   约束 3  创建一个表,有2个条件(1 有权限:2有表空间) Oracle给你提供了默认的resource. 4 创建表,表信息的增删改,Oracle回收站 DDL 管理数据库的对象 表 视图 索引 序列 同义词 约束(..... ) oracle基于用户的管理方案 借助于管理工具可以方便 看到数据库各个对象.... 1 创建一个表 2个条件(1 有权限  2 有表空间) or

Oracle权限管理详解

转载--CzmMiao的博客生活 Oracle 权限 权限允许用户访问属于其它用户的对象或执行程序,ORACLE系统提供三种权限:Object 对象级.System 系统级.Role 角色级.这些权限可以授予给用户.特殊用户public或角色,如果授予一个权限给特殊用户"Public"(用户public是oracle预定义的,每个用户享有这个用户享有的权限),那么就意味作将该权限授予了该数据库的所有用户.对管理权限而言,角色是一个工具,权限能够被授予给一个角色,角色也能被授予给另一个角

Oracle 客户端管理软件安装

1.首先,先说明下为什么要安装Oracle客户端管理工具? 因为Oracle服务端过大,而且消耗的资源过多,大部分公司会把服务端装在公司的服务器上,而不会装在员工的电脑上,所以这个时候就需要使用Oracle客户端管理工具来远程连接到Oracle服务端上.综上所述:Oracle客户端管理工具就是用来远程连接Oracle服务端的一种工具.下面简单介绍几种常用的Oracle客户端. 2.Oracle客户端介绍 (1)SQL Developer SQL Developer是Oracle自带的客户端工具,

[转]Oracle DB 管理ASM实例

? 描述使用ASM 的好处 ? 管理ASM 实例 ? 创建和删除ASM 磁盘组 ? 扩展ASM 磁盘组 ? 通过使用各种实用程序检索ASM 元数据 Automatic Storage Management Automatic Storage Management (ASM) 将文件系统与卷管理器纵向集成在一起,这是一项专门为Oracle DB 文件建立的技术.使用ASM 可管理单个对称多处理(SMP) 计算机,或通过管理集群的多个节点来支持Oracle Real Application Clus

oracle 用户管理

1. 用户进程 Ps –elf | greporacleocl |grep–v grep 2. 数据库进程 Ps –elf |greporacleorcl 3. 守护进程 Ps –elf |grep oha 大池:在SGA中,大池是一个可选的缓冲区域,管理员可以根据需要对其进行配置,在大规模输入输出及备份过程中需要大池作为缓存空间,例如,大数据操作.数据库备份与恢复之类的操作. Java池:Java池是一个可选的缓冲区,但是在安装java或者java程序时必须设置Java池,它用于编译Java语

Oracle内存管理(之五)

[深入解析--eygle]学习笔记 1.4. 2其他内存组件 Large Pool-大池是SGA的一个可选组件,通常用于共享服务器模式(MTS). 并行计算或 RMAN的备份恢复等操作. Java Pool-Java池主要用于JVM等Java选件. Streams Pool-Streams pool是Oracle10g引入的概念,为Oracle的Streams功能所使用,如果不定义该参数,这部分内存将从Shread Pool中分配 对于SGA各部分内存分配,可以从数据库的视图中查询得到: 17:

Oracle内存管理(之二)

[深入解析--eygle] 学习笔记 1.2.2 UGA和CGA UGA(用户全局区)由用户会话数据.游标状态和索引区组成.在共享服务器模式下,一个共享服务进程被多个用户进程共享,此时UGA是Shared Pool或Large Pool的一部分,而在专用服务器模式下,UGA则是PGA的一部分. 不考虑Shared  Server模式,在Dedicated模式下,PGA与UGA关系,就如同Process和Session的关系,PGA是服务于进程的内存结构,包含进程信息:而UGA是服务于会话的,它包

Oracle内存管理(之四)

[深入解析--eygle]学习笔记 1.3 SGA管理 SGA指系统全局区(System Global Area),是一块用于加载数据.对象并保存运行状态和数据库控制信息的一块内存区域,在数据库实例启动时分配,当实例关闭时释放,每个实例都拥有自己的SGA区. 在第一章曾经?到,当数据库启动到nomount状态时,SGA已经分配,同时启动后台进程,在SQL*Plus中通过show sga命令可以看到SGA的分配情况: [email protected] SQL>show parameter sga