前提: 1.删除了表的一大部分: 2.已经对含有可变长度行的表(含有VARCHAR, BLOB或TEXT列的表)进行了很多更改. -------------------------------------------------------------------------------------------- 作用: 利用未使用的空间,释放出来,并整理数据文件的碎片. --------------------------------------------------------------…
本文收集于本人的笔记本,由于找不到原文出处.在此省略,如哪位知道可以联系我加上. 核心是利用mysql系统表和“optimize table 表名”命令,对mysql数据表进行空间的释放.由于delete和drop table都不会释放表空间(truncate 命令会释放表空间[将所有的数据都删除]),所以需要利用optimize 命令进行释放. 这个存储过程目的是给一个库的所有表来整理碎片的.一个表随着插入很频繁,或者一直更新不停的,就会积累好多碎片.如果及时整理一下,查询效率会高出好多. D…
一.表的重命名 flashback table test2 to before drop rename to test3;--[to test3]将表重命名 drop table test3 purge; --彻底删除表 二.清除表中的数据 truncate操作 同没有where条件的delete操作十分相似,只是把表里的信息全部删除,但是表依然存在. 例如:truncate table  XX Truncate不支持回滚,并且不能truncate一个带有外键的表,如果要删除首先要取消外键,然后…
硬盘空间不足,打算删除数据库中的多余数据,但删除数据后,硬盘硬盘空间不能释放.[delete后用:alter table table_name move    truncate后用:alter table table_name deallocate unused 均不可解决] 解决方法: --delete/truncate删除,释放表空间.降低高水位线.resize释放磁盘空间相关优化汇总--查询DBF文件.数据库空间.高水位线占用情况 select /*+ ordered use_hash(a…
高水位的介绍 数据库运行了一段时间,经过一些列的删除.插入.更改操作有些表的高水位线就有可能和实际的表存储数据的情况相差特别多,为了提高检索该表的效率,建议对这些表进行收缩: 查找高水位线的表 查找表需要的存储空间:表以数据块的形式存储在数据文件中,表的存储结构是:行×行数,如果知道了总共有多少行,每行的平均长度,两者相乘,再除于90%的使用率,那么就可以知道实际需要存储的空间: 表的存储结构; 从统计信息得出平均每行的长度和总共的行数,从而知道存储的SIZE: 查找表实际存储的空间:数据实际存…
PS:下面是Oracle 11g最常用的基本管理命令,包括创建用户.表空间,权限分配等.以下命令本人都验证操作过,并加上了本人的小结与说明. 1.启动oracle数据库: 从root切换到oracle用户进入: su - oracle 进入sqlplus环境,nolog参数表示不登录: sqlplus /nolog 以管理员模式登录: sqlplus / as sysdba 启动数据库 startup; 停止数据库 shutdown immediate 远程连接数据库 sqlplus /nolo…
随着互联网的快速发展,各行各业的数据量也是与日俱增,而数据库的数据量也是直线增长,但是,如果表DML太多,则可能会在高水位线以下出现太多空白. 因此,只能将数据文件缩小到高水位线,因为高水位线以下有一些空白.因此,在这种情况下(删除太多),要在数据文件上占用更多空间,首先,重组表,重置高水位线,然后再次缩小数据文件.这样我们可以在磁盘级别上释放更多的空间. 文档资料和脚本来自support文献编号: 2348230.1,1019709.6,1020182.6,186826.1等. 一.遇到的案例…
1.查看表空间里面的对象 SELECT OWNER AS OWNER, SEGMENT_NAME AS SEGMENT_NAME, SEGMENT_TYPE AS SEGMENT_TYPE, SUM (BYTES) / 1024 / 1024 AS SEGMENT_SIZE FROM DBA_SEGMENTS WHERE TABLESPACE_NAME = 'TBS' GROUP BY OWNER, SEGMENT_NAME, SEGMENT_TYPE; 2.里面的普通表按照如下move到新表空…
--UNDO表空间汇总 --查看全部的表空间名字 SELECT NAME FROM V$TABLESPACE; --创建新的UNDO表空间,并设置自己主动扩展參数; CREATE UNDO TABLESPACE UNDOTBS2 DATAFILE 'D:\ORACLE\PRODUCT\10.1.0\ORADATA\ORCL\UNDOTBS02.DBF' SIZE 10M REUSE AUTOEXTEND ON NEXT 100M MAXSIZE UNLIMITED; --注意:在OPEN状态下某…
[创建数据库实例]cmd------>dbca[创建表空间-sql创建]create tablespace NSTC_WS logging datafile 'D:\app\dell\oradata\GWM\DATAFILE\NSTC_WS.DBF' size 500m autoextend on next 50m maxsize 20480m extent management local; select * from dba_data_files CREATE TABLESPACE NSTC…