阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Oracle recyclebin详解(闪回删除的表)

472次阅读
没有评论

共计 2764 个字符,预计需要花费 7 分钟才能阅读完成。

在 SOA 应用数据库上运用 DBMS_REDEFITION 包进行在线非分区表转换分区表操作时,本想 DROP 掉建的临时表 cube_scope_temp 不小心后面忘记加 ”temp” 直接执行了,我等意识到这个问题的时候已经晚了,因为项目建设等遗留问题,数据库是非归档模式,也没有做备份,因为怕影响业务,一时也没想到 Oracle 回收站 recyclebin 这个方法,直接将备份的建表语句新建了表,保证了业务正常开展,正苦于怎么恢复数据时,突然想 oracle 10g 提供了回收站这个特性,成功实施数据恢复!

Oracle 回收站 recyclebin 是 10g 才有的新特性,当我们 drop table cube_scope【purge】时,如果不指定 purge 时,系统只是将这个表重命名为 BIN$ 开头的名称,并在数据字典中修改了相关数据,表所占用的物理空间并没有真正的回收,此时所占用的空间还是原来的表空间,当表空间不够用时,Oracle 会跟据 DROPSCN# 自动进行逐个清理回收站中对像所占用的空间,10g 默认是打开回收站功能的。

一、如何查看是否开启回收站功能?

SQL> show parameter recyclebin

NAME                                TYPE        VALUE

———————————— ———– ——————————

recyclebin                          string      on

on:表示表空间启用的回收站功能,建议所有数据都开启这个功能,百利而无一害!

备注:该参数可以设置成 session 级别打开,也可以设置成 system 级别,不用重启就可以生效

二、如何不经过回收站直接删除并释放所占用空间?

SQL> drop table cube_scope purge

备注:此命令相当于 truncate+drop 操作,一般不建议这么操作!

三、如何将回收站 recyclebin 中的对像还原?

SQL> flashback table cube_scope to before drop

表名可以是回收站系统的 dba_recyclebin.object_name 也可以是 dba_recyclebin.original_name

但是此时问题来了,我已经用备份的 DDL 语句重建了一个新的表,这个时候再用此命令还原显然会报错,这个时候怎么办呢,只能还原成一个别名,具体操作命令是

SQL> flashback table cube_scope before drop rename to cube_scope_old

既然恢复了删除前的表中数据,现在只能从 cube_scope_old 中的数据插入 cube_scope 中

SQL> insert into cube_scope select * from cube_scope_old t

成功恢复了数据,是不是可以收工了?没有,还有什么忘记做了?想想?

注意:如果将表 drop 掉,那么索引也被 drop 掉了,用这种方法把表找回来了,但是你的索引呢?你的约束呢?表恢复后一定要将表上的索引重建建立起来(切记),索引丢了最多影响性能,约束没了可能会造成业务数据混乱(一定要注意)

四、如何手工清除回收站中的对像?

SQL> purge table orabpel.cube_scope_old – 清除具体的对像

注意:如果此时是 DBA 用户操作其它用户数据,清除回收站中的表时要加上用户名,否则报表不在回收站中

SQL> purge tablespace ORAPEL  – 清除指定的表空间对像

SQL> purge tablespace ORAPEL user orabpel – 删除表空间指定用户下的所有对像

SQL> purge recyclebin  – 清空整个回收站

五、show recyclebin 为什么没有数据呢?

首先们需要明白一点,recyclebin 是 user_recyclebin 的同义词,如此你当前的登陆用户是 system 此时运用

show recyclebin 是没有数据据的

六、如果同一对像多次删除怎么在 recyclebin 中识别?

dba_recyclebin 中对每删除一个对像都会以 BIN$ 进行命名,同时会有相应的 dropscn、createtime、droptime 可以跟据这些对像进行定位,然后进行恢复

七、ORACLE 空间利用原则

1. 使用现有的表空间的未使用空间

2. 如果没有了空闲空间,则检查回收站,对于回收站的对象按照先进先出的原则,对于最先删除的对象,

oracle 在空间不足之时会最先从回收站删除以满足新分配空间的需求

3. 如果回收站也没有对象可以清理,则检查表空间是否自扩展,如果自扩展则扩展表空间,然后分配新空

4. 如果表空间非自扩展,或者已经不能自扩展(到达最大限制),则直接报表空间不足错误,程序终止

八、DROP 掉的对像是不是都会经过回收站?

以下几种 drop 不会将相关对像放进回收站 recyclebin 中

* drop tablespace : 会将 recyclebin 中所有属于该 tablespace 的对像清除

* drop user:会将 recyclebin 中所有属于该用户的对像清除

* drop cluster : 会将 recyclebin 中所有属于该 cluster 的成员对像清除

* drop type : 会将 recyclebin 中所有依赖该 type 对像清除

另外还需要注意一种情况,对像所在的表空间要有足够的空间,不然就算 drop 掉经过 recyclebin 由于空间不足 oracle 会自动删除的哦(切记)!

======================================================================================

注意:

一、show recyclebin 指令只能在非 system 用户下可以查看回收站中保存的当前用户下的被删除对象。

因为:闪回技术只能保护非系统表空间中的表,而且这些表还必须保存在本地管理的表空间中,在一个表被删除时依赖于该表的绝大多数的数据库对象也受到回收站的保护。但是位图索引 (bitmap index) 和引用完整性约束(外键约束)等并不受到回收站的保护。

二、闪回删除的表以后建立在该表上的主键约束,主键对应的唯一索引等都会被连带闪回,但是约束的名字和索引的名字是按照 recyclebin 的命名规则命名的。并且在闪回以后不能 rename 和 drop 必须使用闪回后 的名称。

更多 Oracle 相关信息见Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12

本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-01/139634.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-22发表,共计2764字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19348
评论数
4
阅读量
7801278
文章搜索
热门文章
开发者必备神器:阿里云 Qoder CLI 全面解析与上手指南

开发者必备神器:阿里云 Qoder CLI 全面解析与上手指南

开发者必备神器:阿里云 Qoder CLI 全面解析与上手指南 大家好,我是星哥。之前介绍了腾讯云的 Code...
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
云服务器部署服务器面板1Panel:小白轻松构建Web服务与面板加固指南

云服务器部署服务器面板1Panel:小白轻松构建Web服务与面板加固指南

云服务器部署服务器面板 1Panel:小白轻松构建 Web 服务与面板加固指南 哈喽,我是星哥,经常有人问我不...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
星哥带你玩飞牛NAS-1:安装飞牛NAS

星哥带你玩飞牛NAS-1:安装飞牛NAS

星哥带你玩飞牛 NAS-1:安装飞牛 NAS 前言 在家庭和小型工作室场景中,NAS(Network Atta...
我用AI做了一个1978年至2019年中国大陆企业注册的查询网站

我用AI做了一个1978年至2019年中国大陆企业注册的查询网站

我用 AI 做了一个 1978 年至 2019 年中国大陆企业注册的查询网站 最近星哥在 GitHub 上偶然...
【1024程序员】我劝你赶紧去免费领一个AWS、华为云等的主机

【1024程序员】我劝你赶紧去免费领一个AWS、华为云等的主机

【1024 程序员】我劝你赶紧去免费领一个 AWS、华为云等的主机 每年 10 月 24 日,程序员们都会迎来...
安装Black群晖DSM7.2系统安装教程(在Vmware虚拟机中、实体机均可)!

安装Black群晖DSM7.2系统安装教程(在Vmware虚拟机中、实体机均可)!

安装 Black 群晖 DSM7.2 系统安装教程(在 Vmware 虚拟机中、实体机均可)! 前言 大家好,...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
星哥带你玩飞牛NAS硬件03:五盘位+N5105+双网口的成品NAS值得入手吗

星哥带你玩飞牛NAS硬件03:五盘位+N5105+双网口的成品NAS值得入手吗

星哥带你玩飞牛 NAS 硬件 03:五盘位 +N5105+ 双网口的成品 NAS 值得入手吗 前言 大家好,我...
星哥带你玩飞牛NAS-16:飞牛云NAS换桌面,fndesk图标管理神器上线!

星哥带你玩飞牛NAS-16:飞牛云NAS换桌面,fndesk图标管理神器上线!

  星哥带你玩飞牛 NAS-16:飞牛云 NAS 换桌面,fndesk 图标管理神器上线! 引言 哈...
星哥带你玩飞牛NAS-5:飞牛NAS中的Docker功能介绍

星哥带你玩飞牛NAS-5:飞牛NAS中的Docker功能介绍

星哥带你玩飞牛 NAS-5:飞牛 NAS 中的 Docker 功能介绍 大家好,我是星哥,今天给大家带来如何在...
支付宝、淘宝、闲鱼又双叕崩了,Cloudflare也瘫了连监控都挂,根因藏在哪?

支付宝、淘宝、闲鱼又双叕崩了,Cloudflare也瘫了连监控都挂,根因藏在哪?

支付宝、淘宝、闲鱼又双叕崩了,Cloudflare 也瘫了连监控都挂,根因藏在哪? 最近两天的互联网堪称“故障...
告别Notion焦虑!这款全平台开源加密笔记神器,让你的隐私真正“上锁”

告别Notion焦虑!这款全平台开源加密笔记神器,让你的隐私真正“上锁”

  告别 Notion 焦虑!这款全平台开源加密笔记神器,让你的隐私真正“上锁” 引言 在数字笔记工...