Oracle中recyclebin的保留策略

【3天快速入门WPF】11-附加属性 创建一个静态类,用于定义附加属性。使用方法注册附加属性。提供Get和Set方法来获取和设置附加属性的值。通过以上步骤,我们可以在WPF中轻松实现和使用附加属性。附加属性的主要用途包括为控件添加自定义行为、控制布局信息(如Grid.Row和)以及实现动态样式。 阅读详情
        我们知道,Oracle 10g引入了recyclebin的概念,当我们删除一个表的时候,若不指定purge,系统只是将这个表重命名为BIN$开头的名称,并在数据字典中修改相关的数据。
       Administrator's Guide中是这么描述recyclebin的:recycle bin实际上是一个包含了删除的对象的相关信息的数据字典表。被删除的表以及相关的对象(比如索引、约束、嵌套表等等)并没有被移除,并且依然占用着空间。它们会继续使用用户的空间配额,直到明确将它们从回收站中清除,或者是另一种很少见的情况:由于表空间的空间限制,数据库必须将它们清除。
       由此我们可以知道,在Oracle 10g以后,若启用了recyclebin功能,当你drop一个表的时候,它会仍然占用着原来的空间。
       我们可以使用user_recyclebin或dba_recyclebin来查看回收站中的对象信息,或者使用recyclebin,它是user_recyclebin的公共同义词。
       文档中提到了,除了手动purge,这些回收站中的对象只有在表空间出现空间不足情况时才会被清除。我们可以做个测试(测试环境为RAC10.2.0.1+ASM)

       新建一个表空间,给它20m的容量
SQL> create tablespace test1 datafile size 20m;


Tablespace created.



然后我们在这个表空间上创建一个测试表a
SQL> create table w1.a tablespace test1 as select * from dba_objects;

Table created.

SQL> select owner,segment_name,round(bytes/1024/1024,2)||' MB' m from dba_segments where tablespace_name='TEST1';

OWNER SEGMENT_NAME M
------------ ---------------------------------------------------------------------------------------
W1 A 6 MB

SQL>


一张表占用6M空间,我们再创建2张一样的测试表
SQL> create table w1.b tablespace test1 as select * from dba_objects;

Table created.

SQL> create table w1.c tablespace test1 as select * from dba_objects;

Table created.

SQL> select round(sum(bytes)/1024/1024,2)||' MB' from dba_segments where tablespace_name='TEST1';

ROUND(SUM(BYTES)/1024/1024,2)||'MB'
-------------------------------------------
18 MB



此时表空间已经使用了18M。这时我们把这三张表都删除
SQL> drop table w1.a;

Table dropped.

SQL> drop table w1.b;

Table dropped.

SQL> drop table w1.c;

Table dropped.

SQL> select owner,object_name,original_name from dba_recyclebin where ts_name='TEST1';

OWNER OBJECT_NAME
------------------------------ ------------------------------
ORIGINAL_NAME
--------------------------------
W1 BIN$r6HZooW/xpzgQKjAb01Spw==$0
B

W1 BIN$r6HZooW+xpzgQKjAb01Spw==$0
A

W1 BIN$r6HZooXAxpzgQKjAb01Spw==$0
C

SQL> col owner format a4
SQL> col segment_name format a35
SQL> col m format a10
SQL> select owner,segment_name,round(bytes/1024/1024,2)||' MB' m from dba_segments where tablespace_name='TEST1';

OWNE SEGMENT_NAME M
---- ----------------------------------- ----------
W1 BIN$r6HZooXAxpzgQKjAb01Spw==$0 6 MB
W1 BIN$r6HZooW+xpzgQKjAb01Spw==$0 6 MB
W1 BIN$r6HZooW/xpzgQKjAb01Spw==$0 6 MB

SQL>


可以看到,3张表到了回收站中,空间也没有释放。
此时20m的表空间还剩余2m可用,如果我再创建一张同样的表呢
SQL> alter session set tracefile_identifier='rctest';

Session altered.

SQL> alter session set sql_trace=true;

Session altered.

SQL> create table w1.d tablespace test1 as select * from dba_objects;

Table created.

SQL> alter session set sql_trace=false;

Session altered.


SQL> select owner,object_name,original_name from dba_recyclebin where ts_name='TEST1';

OWNE OBJECT_NAME ORIGINAL_NAME
---- ------------------------------ --------------------------------
W1 BIN$r6HZooW/xpzgQKjAb01Spw==$0 B
W1 BIN$r6HZooXAxpzgQKjAb01Spw==$0 C



可以看到,A表被干掉了。我们看看从trace文件里能找到些什么
执行create table前,系统先查询test1表空间是否online。执行create table时,先检查相同的命名空间中是否已经存在相同的名称。接下来开始更新相关的数据字典,准备插入数据。此时发现空间不够,怎么办?注意下面的信息:


select obj#, type#, flags, related, bo, purgeobj, con#
from
RecycleBin$ where ts#=:1 and to_number(bitand(flags, 16)) = 16 order
by dropscn

注意这个排序:order by dropscn

接下来Oracle做了什么呢:


drop table "W1"."BIN$r6HZooW+xpzgQKjAb01Spw==$0" purge

删除了这个表以后,更新相关的数据字典,并插入新的数据

 

我们可以得出这样的结论:当删除表的时候,若不指定purge,会将表放入到回收站中。在创建新的段时,若表空间中没有足够的剩余空间,Oracle会按dropscn顺序从回收站中删除一些对象。如果数据文件指定了autoextend,那么这个优先级次序是:先删除回收站中的对象,再扩展数据文件

在删除用户的时候,系统首先从回收站中purge相关的表,然后对用户下的表采用如下的删除命令


drop table "W1"."D" cascade constraints purge force

然后释放掉所占用的空间

【人工智能】广度优先搜索(BFS)在人工智能中的应用(Python源码) 本文系统阐述了广度优先搜索(BFS)算法在人工智能领域的核心原理与应用。作为无信息搜索算法,BFS通过FIFO队列实现节点遍历,保证在无权图中的最优性。文章详细解析了BFS的伪代码实现和Python编程示例,并通过机器人路径规划案例展示了其实际应用场景。测试结果表明,BFS能有效解决包含障碍物的网格寻路问题,验证了算法在AI领域的实用价值。该研究为理解基础搜索算法及其工程应用提供了重要参考。 阅读详情

相关推荐

MicroLogix1400编程(使用RSLogix 500 + RSLinx Classic Lite)

MicroLogix1400编程

noscallion的博客 1万+

oracle 修改静态参数,Oracle 11g中recyclebin已经是静态参数,在线不能修改

[oracle@rhel63single ~]$ sqlplus / as sysdbaSQL*Plus: Release 11.2.0.4.0 Production on Mon Apr 20 17:19:32 2015Copyright (c) 1982, 2013, Oracle. All rights reserved.Connected to an idle instance.SQL&...

weixin_30362743的博客 205

拆解歌尔2718硅麦:2.75mm超小封装背后的MEMS技术解析

本文深度解析歌尔2718硅麦的2.75mm超小封装技术,探讨MEMS麦克风在微型化过程中的声学性能与结构可靠性平衡。通过ASIC芯片堆叠、纳米级应力控制等创新技术,歌尔2718在TWS耳机和智能手机中实现卓越性能,同时克服微型化带来的声学挑战。

weixin_28292761的博客 610

goldengate开启DDL配置@ddl_setup.sql执行报错

开启DDL配置: 1、关闭数据库回收站: SQL>alter system set recyclebin=off scope=both; 2、编辑globals参数文件,标明支持DDL的GG对象存放在哪个schema下: GGSCI>view param ./globals GGSCHEMA ogg 如果由于某些特殊的需求自定义DDL相关对象的名称的话,可以通过重定义位于Gol...

2071

从NASA官网到分析图:MOD09A1地表反射率数据的完整处理流程(含QC筛选)

本文详细介绍了MOD09A1地表反射率数据的完整处理流程,从NASA官网数据下载到QC筛选,再到NDVI图生成。特别强调了质量控制(QC)信息在筛选可靠像元中的关键作用,帮助研究人员获取高质量遥感数据。

weixin_42542669的博客 111

Arcgis 10.3 与 ArcGIS Engine 10.3 安装与破解

Arcgis 10.3 与 ArcGIS Engine 10.3 安装与破解

weixin_52127098的博客 4725

oracle 11g 回收站(recyclebin)的使用

Flashback是以undo segment中的内容为基础的,因此受限于undo_retenton参数,要使用flashback的特征,必须启动自动撤销表空间。               在oracle11g中,出现了一个新的特征,oracle flashback data

DreamDB的专栏 1万+

计算机毕设项目十四:美团酒店评论情感分析完整数据代码-可直接运行

计算机毕设项目十四:美团酒店评论情感分析完整数据代码-可直接运行

693

利用recyclebin的保留策略恢复被删除的表

oracle 10g有了一个recyclebin的保留策略,我们现在看看这个策略是怎么工作的。 创建一个15M的测试表空间 SQL> create tablespace tsp_test datafile '/u01/app/oracle/oradata/orcl/tsp_test01.dbf' size 15M; Tablespace created.在这个表空间中创建一个用户,默认表空间

aizaikuerle的专栏 1502

【ARM CoreLink 系列 4 -- NIC-400 控制器详细介绍】

正常情况下,一个NIC的实现,可以包含一百多个master和几十个slave,每个master和每个slave都会有一些寄存器,这些寄存器可以被 programming,实际实践中就会对 AMIB 或者 ASIB 或者 IB,当它需要具有 programming的时候,给它指定一个node number。为什么指定Node Number呢?首先,从CPU的角度,它需要有一个1M对齐的地址空间,在这1M地址空间上,对每个ASIB或者AMIB这样的接口给它一个node number以后,

CodingCos的博客 5241

YOLOv11 改进 - SPPF模块 | 发论文神器!LSKA注意力改进SPPF,增强多尺度特征提取能力,高效涨点!!!

本文介绍了Large Separable Kernel Attention (LSKA)模块及其在YOLOv11中的结合应用。LSKA旨在解决Visual Attention Networks (VAN)使用大内核卷积时的计算效率问题,通过将2D深度卷积层的卷积核分解为级联的水平和垂直1-D卷积核,降低了计算复杂度和内存占用,且使VAN更关注物体形状。我们将集成LSKA的SPPF_LSKA模块引入YOLOv11,大量实验表明,改进后的模型在对象识别、检测、分割和稳健性测试上表现出色。

魔改工程师的博客 1279

定制表空间保留策略

在大型数据库中,回收站很大,垃圾很多,表空间查询起来特别慢。为了防止意外操作,不可能每次drop表的时候加上perge,这时候垃圾越来越多,查表空间要等很久。这时,定制一个表空间保留策略就显得非常有必要。下面将我的脚本共享一下,加入job中便可自动清理。 create or replace procedure lhj_delete_recyclebin ( preserve_date in nu

莫等闲 835

rk3568 点亮双LVDS 屏

承接文章《rk3568点亮LCD(lvds)》中仅仅只能使用亮单LVDS;经过厂商的努力,陆续发布新补丁。目前支持双lvds显示,缺憾是需要自己额外移植相关补丁。受限于通信频率和VOP编码能力,支持最大分辨仍然是1920x1080、60fps。

weixin_35723192的博客 3007

oracle清空回收站中数据

oracle用户可以使用purge recyclebin来清空自己的回收站; dba可以使用purge dba_recyclebin来清空系统中所有的...

congban8141的博客 590

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

ORACLE10回收站-Recyclebin

从Oracle10g开始,Oracle引入了flashback drop的新特性,这个新特性,允许你从当前数据库中恢复一个被drop了的对象。在执行drop操作时,现在Oracle不是真正删除它,而是将该对象自动将放入回收站。对于一个对象的删除,其实仅仅就是简单的重令名操作。 所谓的回收站,是一个虚拟的容器,用于存放所有被删除的对象。在回收站中,被删除的对象将占用创建时的同样的空间,你甚至还

欧辰的专栏 878

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

oracle 闪回drop

闪回drop:将某些误删除的表,恢复到删除前的状态:数据来源是表空间的回收站机制;原理:当一个表被删除之后,它并没有被马上覆盖,仅仅是再它所占用的空间上,标识了一个删除标记;然后,表名被改成了一个回收站的名字,相关的元数据信息存放到了不同的数据字典当中;只要它的空间,没有被覆盖,那么就能够还原回来;闪回drop:1.查看当前的回收站机制是否开启(默认开...

weixin_34221073的博客 196

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

Oracle DB 使用闪回技术2

• 描述和使用Oracle Total Recall – 创建和启用闪回数据归档(FDA) – 管理FDA – 查看元数据 • 描述和使用闪回回收站 – 从回收站还原删除的表 – 管理回收站的空间使用量 – 查询回收站   Oracle Total Recall 概览   自动跟踪数据库历史更改: • 在你指定的保留期内在表级别启用。 • 所有后续更改都是透明

一抹曦阳-Oracle 3837

【GaussDB】基于CSN/TIMESTAMP闪回表到历史时间。

4.基于TIMESTAMP 闪回test3;3.闪回TEST2 到:28126。2.操作数据并记录时间。

weixin_43346403的博客 539

FlashBack闪回技术

文章转载自:http://www.2cto.com/database/201410/343570.htmlFlashback 技术是以Undo segment中的内容为基础的, 因此受限于UNDO_RETENTON参数。要使用flashback 的特性,必须启用自动撤销管理表空间。在Oracle 11g里又出了一个新特性:Oracle Flashback Data Archive.FDA通过将变化...

zhengcaihua0的博客 1547

闪回技术全了解

闪回技术: Flashback 技术可以细分以下4种: Flashback Database, Flashback Drop, Flashback Query(分Flashback Query, Flashback ...

cory0931的博客 229

ogg 学习

--并发进程的数据量决定GG内存的大小,在source system端,最少需要一个Extract 进程和一个data-pump进程,在target system 端, 至少需要一个replicat 进程 --在每个GG instance 上,GGSCI 命令结构最多支持300个Extract和 replicat 并发进程,每个GG instance 需要一个Manager 进程。 --每个E

"杰"出虚拟平台-数据运维~~ 1086
上一篇: RAC 11.2 体系结构(三)
下一篇: Data Guard 知识简介(一) 11g新特性、介绍及物理standby的配置
小灰狼W
博客等级 码龄18年 908粉丝 32原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值