首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

删除多行后的Oracle 10g表大小

在Oracle 10g中,删除多行后的表大小并不会立即减小。这是因为Oracle数据库使用了Undo机制来支持事务的回滚和并发控制。当删除多行数据时,这些数据并不会立即从磁盘上删除,而是被标记为"已删除",并且相关的Undo信息会被保留。

删除多行数据后,表的大小不会立即减小,但是这些空间会被标记为可重用。当新的数据插入到表中时,Oracle会尽可能地重用这些空间,以减少磁盘的IO操作,提高性能。

然而,如果你希望立即减小表的大小,可以使用Oracle的表压缩功能。表压缩可以通过压缩重复的数据和使用更高效的存储结构来减小表的大小。你可以使用Oracle的COMPRESS关键字来创建一个压缩表,或者使用ALTER TABLE语句来压缩已有的表。

在云计算领域,腾讯云提供了多种与Oracle数据库相关的产品和服务,包括云数据库Oracle版、弹性MapReduce、云数据库灾备等。你可以通过访问腾讯云官方网站(https://cloud.tencent.com/)来了解更多关于这些产品的详细信息。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

解决sqlite删除数据或者,文件大小不变问题

原因: sqlite采用是变长纪录存储,当你从Sqlite删除数据,未使用磁盘空间被添加到一个内在”空闲列表”中用于存储你下次插入数据,用于提高效率,磁盘空间并没有丢失,但也不向操作系统返回磁盘空间...,这就导致删除数据乃至清空整个数据库,数据文件大小还是没有任何变化,还是很大 解决方法有以下两种: 1、sqlite3中执行vacuum命令即可。...但是第二个方法同样有缺点,只会从数据库文件中截断空闲列表中页, 而不会回收数据库中碎片,也不会像VACUUM 命令那样重新整理数据库内容。...实际上,由于需要在数据库文件中移动页, auto-vacuum 会产生更多碎片。而且,在执行删除操作时候,也有那个.db-journal文件产生。...数据库中需要存储一些额外信息以记录它所跟踪每个数据库页都找回其指针位置。 所以,auto-vacumm 必须在建之前就开启。在一个创建之后, 就不能再开启或关闭 auto-vacumm。

2K20

总结Oracle删除空间遇到问题

问题1:删除空间期间遭遇报错 ORA-29857 问题2:删除空间期间遭遇 ORA-02429 问题3:空间删除完毕,主机磁盘空间不释放 问题1:删除空间期间遭遇报错 ORA-29857 删除空间语句...要删除空间中有一个域索引,这个域索引在删除空间前需要被删除掉。 域索引不能被创建在指定空间,对于域索引,DBA_INDEXES中TABLESPACE_NAME列值总是空值。...with a table in the tablespace to be dropped can be identified from the following query: 要删除与在这个空间中表相关域索引可以通过下面的查询找出来...一旦你找出这些二级对象,你就可以删除它们然后再删除空间。...问题2:删除空间期间遭遇 ORA-02429 对于ORA-02429这个错误,MOS文档描述也很清楚: Drop Tablespace Failed with ORA-02429: cannot

96730
  • Oracle删除几种恢复方法

    删除Oracle数据时候不小心,把delete语句执行错了,把别的给delete,而且还执行了commit!那么如何进行恢复呢,下面介绍几种恢复方法。...,再把查询到数据复制到原来中。...第三种:其他 删除,可以采用如下操作:在 查询user_recyclebin最近操作过名称,然后用闪回(只能用于10G及以上版本)。...select * from user_recyclebin; FLASHBACK TABLE TABLE_NAME TO BEFORE DROP; 如果是删了或修改里面的数据,可以先建立一个快删除修改之前状态数据找回到这个中...究竟是哪个词其实对我们来说并不是最重要,重要是我们知道 SCN 是 Oracle 内部时钟机制, Oracle 通过 SCN 来维护数据库一致性,并通过SCN 实施 Oracle 至关重要恢复机制

    1.7K20

    如何恢复oracle中误删除(drop掉)?

    恢复: flashback table test_drop to before drop; 或者: flashback table "BIN$b+XkkO1RS5K10uKo9BfmuA==$0..." to before drop; 注意: 必须9i或10g以上版本支持,flashback无法恢复全文索引 详解: 以下是一个不该发生却经常发生情况:用户删除了一个非常重要 ― 当然是意外地删除...(在某些时候,这个不幸用户可能就是 DBA!) Oracle9i Database 推出了闪回查询选项概念,以便检索过去某个时间点数据,但它不能闪回 DDL 操作,如删除操作。...唯一恢复方法是在另一个数据库中使用空间时间点恢复,然后使用导出/导入或其他方法,在当前数据库中重新创建。...这一过程需要 DBA 进行大量工作并且耗费宝贵时间,更不用说还要使用另一个数据库进行克隆。

    2.1K20

    如何恢复oracle中误删除(drop掉)?

    恢复: flashback table test_drop to before drop; 或者: flashback table "BIN$b+XkkO1RS5K10uKo9BfmuA==$0"...to before drop; 注意: 必须9i或10g以上版本支持,flashback无法恢复全文索引 详解: 以下是一个不该发生却经常发生情况:用户删除了一个非常重要 ― 当然是意外地删除...(在某些时候,这个不幸用户可能就是 DBA!) Oracle9i Database 推出了闪回查询选项概念,以便检索过去某个时间点数据,但它不能闪回 DDL 操作,如删除操作。...唯一恢复方法是在另一个数据库中使用空间时间点恢复,然后使用导出/导入或其他方法,在当前数据库中重新创建。...这一过程需要 DBA 进行大量工作并且耗费宝贵时间,更不用说还要使用另一个数据库进行克隆。

    1.6K30

    记一次删除大文件磁盘大小异常故障

    起因 日前,收到监控系统邮件告警,告知MySQL备份盘磁盘可用率不足20%,故而通过SSH远程上去,发现是因为保留备份数据副本(全备)过多原因,因为手动删除了较早全备副本,然后,惊奇是,几分钟磁盘可用比仍居高不下...处理过程 检查磁盘相关信息 查看磁盘空间大小,我们发现输出备份盘已用2.2T,可用0 [root@bogon bak]# df -HT Filesystem Type Size...,输出显示使用中备份盘大小为1.0T [root@bogon bak]# du -sh /bak/ 1.0T /bak/ 查看异常进程 lsof被誉为Unix/Linux界瑞士军刀,其用于查看哪些文件被哪些进程所打开.../import.log (deleted) oracle 29336 oracle 35u REG 253,2 1014089334784...bak /dev/sr0 iso9660 3.9G 3.9G 0 100% /media/RHEL-6.8 Server.x86_64 总结 当进程意外被杀死,或临时删除较大体积文件时

    93320

    oracle--二维操作创建修改删除

    oracle学习内容 oracle管理系统学习 oracle数据管理学习 oracle用户管理 oracle二维管理 创建和字段讲解 --创建学习 1、 创建基本语句...会根据存储数据自动增长大小,varchar2(存储上限) char类型:字符类型,用来声明存储字符字符。会开辟指定大小内存来存储数据。...区别1:char存储效率高于varchar2 区别2:char是开辟指定大小内存空间,varchar2是根据数据大小来开辟空间大小 date类型:存储日期类型 第二节课...修改字段名 alter table student rename column sphone to phone; 删除字段...新名 rename student to stu rename stu to student 删除 drop table 名 drop table

    52210

    Oracle库Delete删除千万以上普通堆数据方法

    需求:Oracle数据库delete删除普通堆千万条历史记录。...直接删除影响: 1.可能由于undo空间不足从而导致最终删除失败问题; 2.可能导致undo空间过度使用,影响到其他用户正常操作。 改进方案:每删除1k行就提交一次。...commit; end if; end loop; commit; end; 方法1中变量说明: [del_cursor] 游标名 [table_name] 你要删除数据名...[time_stamp] 你用作过滤条件时间字段名称 Note 两种方法核心思路都是把一个大事物拆分成了若干个小事物,无论采用哪种方法,都建议先在对应测试环境中测试再考虑是否可以在实际生产使用...顺便说一句,这样应该要综合考虑下是否可以改造成分区

    1.9K20

    【DB笔试面试469】Oracle中如何删除中重复记录?

    题目部分 Oracle中如何删除中重复记录? 答案部分 平时工作中可能会遇到这种情况,当试图对表中某一列或几列创建唯一索引时,系统提示ORA-01452 :不能创建唯一索引,发现重复记录。...这个时候只能创建普通索引或者删除重复记录再创建唯一索引。 重复数据可能有这样两种情况:第一种是中只有某些字段一样,第二种是两行记录完全一样。...删除重复记录结果也分为两种,第一种是重复记录全部删除,第二种是重复记录中只保留最新一条记录,在一般业务中,第二种情况较多。...1、删除重复记录方法原理 在Oracle中,每一条记录都有一个ROWID,ROWID在整个数据库中是唯一,ROWID确定了每条记录是在Oracle哪一个数据文件、块、行上。...2、删除重复记录方法 若想要删除部分字段重复数据,则使用下面语句进行删除,下面的语句是删除中字段1和字段2重复数据: DELETE FROM 名 WHERE (字段1, 字段2) IN (

    2.7K30

    104-oracle删除重复记录几种方法

    如果是小,随便怎么折腾都行; 如果是大(至少1千万条记录以上,或者占用10G以上空间), 我们可能需要想办法加快这个速度 , 这时可以参考下面方法: 要求: 删除t1 object_name字段上重复记录...先查表总记录数和需要删除重复记录数,dup_cnt就是需要删除重复记录数: --如果是多个字段去重,一起写到 group by 后面 select /*+ parallel(8) */...如果不想锁,可以去掉enable_parallel_dml hint. 这个方法对删除少量重复记录也是可用....注意: 如果上索引比较多, 消耗时间会更长,如果业务允许,可以先禁用索引: alter index xxx unusable; 删除操作完成再重建索引: alter index xxx rebuild...下面的方法3会把大事务拆分. 3.可以把大事务拆分, 比如拆分成10次: 把要删除记录rowid保存到临时分区, 然后逐个批次执行: --创建临时分区保存待删除rowid及对应批次: --

    67120

    针对mysql delete删除数据占用空间不变小问题

    开发环境 MySQL 前言 物流规则匹配日志表记录订单匹配规则相关日志信息,方便管理员维护和查阅不匹配订单,四个月时间,该日志数据就有174G,当前,这么大数据量,不仅对数据库造成了很大负载压力...但是短期内,还需要数据库中部分日志记录,故而有了下面的删除记录、优化操作。 日志大小一览 本身有六七百万条数据,从六七百万删到五百多万,发现数据占用空间大小一点也没变,如下图所示。...网上查到需要释放删除数据占用空间、也就是优化或碎片整理,使用到命令是:OPTIMIZE TABLE tableName。...,都不是真删除,只是MySQL给记录加了个删除标识,自然这样操作数据占有空间也不会变小了 注意:DELETE FROM ueb_logistics_rule_logs; 这条sql语句执行,就清空了数据...解决方法 主要就是执行下面三条sql语句(轮询删除delete,避免一次性删除数据太多造成MySQL负载崩溃,另外数据量大时候需要等待网站访问流量小时候执行) DELETE FROM ueb_logistics_rule_logs

    1.8K21

    Oracle中,如何正确删除空间数据文件?

    DROP DATAFILE 可以使用如下命令删除一个空间里数据文件: ALTER TABLESPACE TS_DD_LHR DROP DATAFILE n; --n为数据文件号 ALTER TABLESPACE...③ 不能删除一个空间中第一个添加数据文件,否则会报错,形如“ORA-03263: cannot drop the first file of tablespace TS_DD_LHR”。...PURGE;”或者在已经使用了“DROP TABLE XXX;”情况下,再使用“PURGE TABLE "XXX在回收站中名称";”来删除回收站中,否则空间还是不释放,数据文件仍然不能DROP...需要注意是,据官方文档介绍说,处于READ ONLY状态空间数据文件也不能删除,但经过实验证明,其实是可以删除。...OS级别删除了数据文件恢复 若使用了“ALTER DATABASE DATAFILE N OFFLINE DROP;”命令,则并不会删除数据文件,这个时候可以先ONLINE再用“ALTER TABLESPACE

    7.2K40

    Oracle-使用切片删除方式清理非分区超巨数据

    ---- Step2.2: 连接数据库,获取分片 使用oracle用户登录主机,在/oracle目录下通过sqlplus登录 如果数据量过大,可以分片多一些,少量多次删除 artisandb:[/oracle...<99999999; COMMIT; 实际在很大上这样删除数据是不理想也不可行,几点理由: 1....rowid_chunk.sql脚本是根据大小均匀地分割成指定数目的区域,试想当一些要更新或者删除历史数据集中分布在segment某些位置时(例如所要删除数据均存放在一张前200个Extents...中),因为脚本是根据大小均匀分割区域,所以某些区域是根本没有我们所要处理数据,由这些区域构造出来DML语句都是无意义....Oracle在版本11.2中引入了DBMS_PARALLEL_EXECUTE 新特性来帮助更新超大

    1.4K20

    Oracle 空间创建标准(二)

    这是我参与「掘金日新计划 · 8 月更文挑战」第18天,点击查看活动详情 >> Oracle 空间创建标准(二) 2.5 为lob字段单独创建空间 3....空间管理 在Oracle体系中,一个数据库实例可以有多个空间; 默认smallfile空间可以有多个数据文件,单个数据文件最大为32G; 数据文件可以设置初始化大小,也可以设置自动扩展,扩展最大即为...\ 3.1 空间创建 create tablespace tbs_name datafile ``'+DATA01' size 10G AUTOEXTEND on MAXSIZE 30G ; 由于oracle...; Oracle 10G R2 之后版本中 可以删除某个空数据文件 此操作慎用 3.4 删除空间 drop tablespace tbs_name  including contents and...一个临时空间可以被多个用户所使用,在临时空间中创建段叫做"临时段",oracle只会为一个实例创建一个临时段,这个临时段被实例中所有排序操作共享使用,但是临时段每个区只能由一个事务使用。

    1.1K50

    MySQL InnoDB 共享空间和独立空间

    一、基本概念 共享空间:Innodb所有数据保存在一个单独空间里面,而这个空间可以由很多个文件组成,一个可以跨多个文件存在,所以其大小限制不再是文件大小限制,而是其自身限制。...共享空间缺点 所有的数据和索引存放到一个文件,虽然可以把一个大文件分成多个小文件,但是多个及索引在空间中混合存储,当数据量非常大时候,做了大量删除操作空间中将会有大量空隙,特别是对于统计分析...共享空间分配不能回缩:当出现临时建索引或是创建一个临时操作空间扩大,就是删除相关也没办法回缩那部分空间了(可以理解为oracle空间10G,但是才使用10M,但是操作系统显示mysql...空间为10G),进行数据库冷备很慢; 四、独立空间优缺点 独立空间优点 每个都有自已独立空间,每个数据和索引都会存在自已空间中,可以实现单在不同数据库中移动。...空间可以回收(除drop table操作处,空不能自已回收)Drop table操作自动回收空间,如果对于统计分析或是日值删除大量数据可以通过:alter table TableName engine

    4K30

    通过openpyxldelete_rows删除了1000多行,但结果的话这些序号并没有缩减?(文末赠书)

    各位大佬想请教下:原来我表格序号为2800多行,通过openpyxldelete_rows 删除了1000多行,但结果的话这些序号并没有缩减 导致显出一大片空白行,请问这个有什么方法可以处理吗?...给了一个代码,如下所示: from openpyxl import load_workbook # 打开Excel文件 workbook = load_workbook('111.xlsx') # 选择工作...worksheet = workbook['Sheet1'] # 替换'Sheet1'为实际工作名称 # 删除单个行号为5行,连同格式一起删除 worksheet.delete_rows(5)...# 删除行号从3到7行(包括行号3和7),连同格式一起删除 worksheet.delete_rows(3, 7) # 保存更新Excel文件 workbook.save('222.xlsx...这篇文章主要盘点了一个Python自动化办公Excel列删除处理问题,文中针对该问题,给出了具体解析和代码实现,帮助粉丝顺利解决了问题。

    29320

    删除数据库分区,索引不可用(失效)解决方案

    业务背景 由于业务系统中常用存储数据量过大(6.5 亿条记录,合共 4.8TB 大小),使用 Oracle 数据库查询效率较低,对业务使用造成了一定影响。...与业务人员及系统厂商商议,决定在系统生产环境中进行 Oracle housekeep(数据清理)操作,将相关业务当前时点 90 天以前数据删除,并将其数据生命周期配置为 90 天(即只保留...删除尚存分区中时间戳在 90 天以前数据:delete 创建过渡用于删除若干张数据:create 以重命名方式删除若干张数据(将若干张原重命名,再将过渡重命名为原名):rename... REBUILD [ONLINE]; 方案可行性分析:此方案缺点是在下一次对分区进行分区删除,索引状态又会变为不可用,需要添加相应语句重建索引。...分区索引失效情况 除了手动将索引置为无效外,分区索引在一些分区 DDL 操作也会变成不可用失效状态。那么哪些操作会让分区索引失效,哪些操作不会呢?

    2.7K11

    Oracle 11g 临时空间管理

    在临时空间中,针对特定实例所有排序操作共享一个排序段,并且每个执行需要临时空间排序操作实例都存在排序段。排序段是由在启动使用临时空间进行排序第一个语句创建,只有在关闭时才释放。...网络上有人猜测在磁盘空间分配上,oracle 使用是贪心算法,如果上次磁盘空间消耗达到 1GB,那么临时空间就是 1GB。也就是说当前临时空间文件大小是历史上使用临时空间最大大小。.../orcl/temp02.dbf' resize 100M; 二、临时空间组 临时空间组是 ORACLE 10g 引入一个新特性,它是一个逻辑概念,不需要显示创建和删除。...数据库执行大型排序操作可能会导致临时空间增长和占用大量磁盘空间。排序操作完成,额外空间不会被释放;它只是被标记为免费,可以重用。...--将 temp 空间收缩为10G alter tablespace temp shrink space keep 10G; --自动将空间临时文件缩小到最小可能大小 ALTER TABLESPACE

    2.3K41
    领券