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

MySQL表空间收缩

表数据的存放位置由参数innodb_file_per_table控制: 设置为OFF,表的数据存放在系统共享表空间(ibdata为前缀的文件) 设置为ON,表数据存储在一个以.ibd为后缀,以表名为前缀的文件中...表数据单独存放成一个文件更容易管理,在我们执行drop table命令的时候,系统会直接删除这个文件,但如果是放在共享表空间中,即使表删掉空间也不会回收。 InnoDB的标记删除?...通过上述可以说明,即使我们使用delete命令将整个表的数据删除,所有的数据页虽然可以被复用,但是磁盘文件不会缩小。这些可以复用而没有被使用的空间称为空洞。...如何减少空洞,收缩表空间? 重建表。 如何重建表?...该重建方法的弊端是如果遇到比较大的表,扫描原表数据和构建临时文件是极其消耗IO和CPU资源的。 更加安全的缩小表空间的做法推荐使用gh-ost这款开源工具。 什么是inplace?

3.8K10

收缩undo表空间

或者是在指定了自动扩展及其最大值而月底或年末的批量数据计算导致undo表空间疯狂超范围增长后不再释放。对于这些情形我们需要手动收缩表空间以达到节省空间资源以及数据库管理开销,如rman备份等。...本文列出了收缩undo表空间的基本步骤并给出示例。       ...有关表空间,undo表空间的文章可参考: Oracle 表空间与数据文件 Oracle 回滚(ROLLBACK)和撤销(UNDO) 检查及设置合理的undo表空间 1、undo表空间收缩的基本步骤...d、使用原始undo表空间名创建一个新的小尺寸的undo表空间并且且换回系统undo,删除过渡undo表空间(此步骤可选) 2、收缩undo表空间示例 --环境 goex_admin@CICCFIX>...--再次尝试收缩到10g出现错误提示,数据库中不存在事务,而undo表空间得不到释放 goex_admin@CICCFIX> alter database datafile '/u02/database

2.7K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    收缩临时表空间

    当排序操作、重建索引等大型操作无法在内存中完成时,临时表空间将为排序提供便利。一般情况下临时表空间为多个用户,多个会话所共 享。不能为会话分批空间配额。...与之相关的内容参考: Oracle 表空间与数据文件 临时表空间的管理与受损恢复 Oracle 彻底 kill session 一、临时表空间何时释放         检索数据的会话游标关闭时,...-->过大临时表空间上的那些用户需要迁移到新建的临时表空间 -->查询dba_users视图查询哪些用户位于过大的临时表空间之上 -->并使用下面的命令将其切换到新的临时表空间 alter user...3、通过重启数据库,临时表空间所耗用的大小有时候并不能缩小。 4、在Oracle 11g之前一般是通过创建中转临时表空间来达到缩小的目的。...,因此如果系统缺省的临时表空间过大删除前应该新置一个系统缺省的临时表空间。

    3.1K30

    Oracle表空间数据库文件收缩

    这里主要说的场景是磁盘空间本身很大,但表空间对应的数据文件初始化的时候就直接顶满了磁盘空间,导致经常收到磁盘空间满的报警。...d.extent_management LIKE 'LOCAL'   AND d.contents LIKE 'TEMPORARY'   ORDER by 1 / prompt exit EOF 3.查询可直接收缩表空间数据文件...四、总结 针对oracle的数据文件收缩(磁盘空间收缩),我们一般可通过当前磁盘空间查看(df -h)——>执行可直接收缩的查询命令和收缩命令——>执行大表高水位收缩——>执行表空间高水位收缩(降低文件高水位线...)——>再次执行直接回收表空间数据文件命令 直接收缩数据文件的方式参考本文上述步骤即可完成。...大表的高水位收缩参考:https://www.linuxidc.com/Linux/2018-11/155309.htm 那么如何降低表空间的数据文件高水位,进而完成表空间数据文件回收呢?

    2.2K20

    oracle表空间操作

    1,查询表空间剩余 -- 剩余量 select tablespace_name,sum(bytes) from dba_free_space group by tablespace_name; -- 总量...bytes) from DBA_DATA_FILES group by tablespace_name; 2,查询数据库原始文件  select * from DBA_DATA_FILES; 3,增加表空间大小的四种方法...方法1:给表空间增加数据文件 ALTER TABLESPACE app_data ADD DATAFILE 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\EDWTEST\APP03...\PRODUCT\10.2.0\ORADATA\EDWTEST\APP02.DBF' RESIZE 100M; 4,更改表及分区表的表空间 可以通过alter方法,将一个表移动到另外一个表空间中: sql...备注二: 其实如果对两个表空间都有权限的话,可以通过 create spaceTwo.tablename as select * from spaceOne.tablename; 之后再删除spaceOne

    84700

    oracle表空间操作

    1,查询表空间剩余 -- 剩余量 select tablespace_name,sum(bytes) from dba_free_space group by tablespace_name; -- 总量...bytes) from DBA_DATA_FILES group by tablespace_name; 2,查询数据库原始文件  select * from DBA_DATA_FILES; 3,增加表空间大小的四种方法...方法1:给表空间增加数据文件 ALTER TABLESPACE app_data ADD DATAFILE 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\EDWTEST\APP03...\PRODUCT\10.2.0\ORADATA\EDWTEST\APP02.DBF' RESIZE 100M; 4,更改表及分区表的表空间 可以通过alter方法,将一个表移动到另外一个表空间中: sql...备注二: 其实如果对两个表空间都有权限的话,可以通过 create spaceTwo.tablename as select * from spaceOne.tablename; 之后再删除spaceOne

    66211

    oracle 表空间tablespace

    一、Oracle 表空间的组成 Everoone knows Oracle数据库真正存放数据的是数据文件,Oracle表空间是逻辑上的概念,他在物理上是并不存在的,把多个DataFile合并到一起就是一个表空间...左图是Oracle中DataBase和tablepspace和DataFile的关系 如果不理解上图,可以看下图: ? 表空间就好像是背景,而其中的土地就相当于是数据文件,北京就是由一块块土地构成。...DataFile,一个DataFile只能术语一个tablespace 注:上面的代码都不是最小的单位,只是大致上的关系,比如tablespace还可以进行划分,它不仅仅包含DataFile,还包含索引等,下图Oracle...存储结构会做稍详细的介绍 Oracle数据库的存储结构 ?  ...DataBase和Schema的关系:因为一个数据库可以创建多个用户来进行管理,而每创建一个用户对应的都会创建一个Schema,所以一个数据库可以对应多个Schema,Schema的具体创建过程和作用请参考Oracle

    2.8K81

    Oracle 表空间详解

    修改表空间的状态 修改表空间的数据文件 删除表空间 用户表空间限额 表空间概述 Oracle的表空间属于Oracle中的存储结构,是一种用于存储数据库对象(如:数据文件)的逻辑空间,是Oracle中信息存储的最大逻辑单元...表空间是在数据库中开辟的一个空间,用于存放数据库的对象,一个数据库可以由多个表空间组成。可以通过表空间来实现对Oracle的调优。...(Oracle数据库独特的高级应用) 表空间的分类 永久表空间:存储数据库中需要永久化存储的对象,比如二维表、视图、存储过程、索引。...对表空间的操作 表空间的操作方式: 字典管理:Oracle中的数据字典可以存储所有的表空间分配信息,但是如果数据库中所有的空间分配都放在数据字典中。...SQL> desc dba_tablespaces #Oracle管理员级别的数据字典中记录了管理员级别用户所使用的表空间名称、默认表空间和临时表空间。

    2.8K20

    oracle如何删除表空间文件_oracle删除dbf文件表空间

    很多小伙伴在刚刚学习Oracle的时候,想要删除不要的表空间。但很多情况下,没有进行正确的操作,这个就会导致Oracle无法使用,那如何正确的删除表空间呢?...具体的操作如下: 删除无任何数据对象的表空间: 首先使用PL/SQL界面化工具,或者使用oracle自带的SQL PLUS工具,连接需要删除的表空间的oracle数据局库。...确认当前用户是否有删除表空间的权限,如果没有 drop tablespace,请先用更高级的用户(如sys)给予授权或者直接用更高级的用户。...用drop tablespace xxx ,删除需要删除的表空间。...删除有任何数据对象的表空间 使用drop tablespace xxx including contents and datafiles;来删除表空间。

    3.7K20
    领券