降低oracle高水位线方法总结(包括验证结果)
2017-01-02 12:22
309 查看
1. 执行表重建指令 alter table table_name move(验证不可行,不降低水位线,但可释放表空间)
当你创建了一个对象如表以后,不管你有没有插入数据,它都会占用一些块,ORACLE也会给它分配必要的空间.同样,用ALTER TABLE MOVE释放自由空间后,还是保留了一些空间给这个表.
ALTER TABLE ... MOVE 后面不跟参数也行,不跟参数表还是在原来的表空间,Move后记住重建索引.
查询失效索引语句:select index_name,table_name,tablespace_name,status From dba_indexes Where owner='HNUNICOM' And status<>'VALID';
重建索引语句:alter index INDEX_NAME rebuild tablespace TABLESPACE_NAME;
如果以后还要继续向这个表增加数据,没有必要move,只是释放出来的空间,只能这个表用,其他的表或者segment无法使用该空间。
2. 执行alter table table_name shrink space;(已经验证成功,推荐使用,可释放数据库和磁盘空间空间,大表可同时降低表自身和表空间的高水位线,小表则只可以降低表自身的高水位线,原因不详)
注意,此命令为Oracle 10g新增功能,执行该指令之前必须允许行移动 alter table table_name enable row movement;
3. 复制要保留的数据到临时表t,drop原表,然后rename临时表t为原表(未验证)
4. 用EXP导出后,删除原表/表空间,之后用IMP重新导入(验证成功)
5. Alter table table_name deallocate unused(验证不可行,不降低水位线)
注:这证明,DEALLOCATE UNUSED为释放HWM上面的未使用空间,但是并不会释放HWM下面的自由空间,也不会移动HWM的位置.
6. 尽量使用truncate(验证不可行,不降低水位线,可释放数据库空间,但truncate后表默认空间大小为删除前的空间大小,如想释放计算机磁盘空间,需要用方法2压缩)
PS:注意上文的磁盘空间与数据库空间是不同的概念
http://ierda.blog.163.com/blog/static/77469587201331041718680/
当你创建了一个对象如表以后,不管你有没有插入数据,它都会占用一些块,ORACLE也会给它分配必要的空间.同样,用ALTER TABLE MOVE释放自由空间后,还是保留了一些空间给这个表.
ALTER TABLE ... MOVE 后面不跟参数也行,不跟参数表还是在原来的表空间,Move后记住重建索引.
查询失效索引语句:select index_name,table_name,tablespace_name,status From dba_indexes Where owner='HNUNICOM' And status<>'VALID';
重建索引语句:alter index INDEX_NAME rebuild tablespace TABLESPACE_NAME;
如果以后还要继续向这个表增加数据,没有必要move,只是释放出来的空间,只能这个表用,其他的表或者segment无法使用该空间。
2. 执行alter table table_name shrink space;(已经验证成功,推荐使用,可释放数据库和磁盘空间空间,大表可同时降低表自身和表空间的高水位线,小表则只可以降低表自身的高水位线,原因不详)
注意,此命令为Oracle 10g新增功能,执行该指令之前必须允许行移动 alter table table_name enable row movement;
3. 复制要保留的数据到临时表t,drop原表,然后rename临时表t为原表(未验证)
4. 用EXP导出后,删除原表/表空间,之后用IMP重新导入(验证成功)
5. Alter table table_name deallocate unused(验证不可行,不降低水位线)
注:这证明,DEALLOCATE UNUSED为释放HWM上面的未使用空间,但是并不会释放HWM下面的自由空间,也不会移动HWM的位置.
6. 尽量使用truncate(验证不可行,不降低水位线,可释放数据库空间,但truncate后表默认空间大小为删除前的空间大小,如想释放计算机磁盘空间,需要用方法2压缩)
PS:注意上文的磁盘空间与数据库空间是不同的概念
http://ierda.blog.163.com/blog/static/77469587201331041718680/
相关文章推荐
- 降低oracle高水位线方法总结(包括验证结果)
- 6种降低高水位方法,详细验证步骤
- 对基于qmail的smtp用户验证的总结和完整安装设置方法
- ArcIMS根据查询结果定位的方法总结(C#+ADF)
- oracle列转行方法总结
- 七、ZMCP功能验证方法及总结
- ORACLE 降低 HWM 的集中方法
- 如何在ORACLE中实现将查询结果存到一个新表中,包括表结构和查询结果?
- Oracle中约束的添加方法总结
- Oracle几种查找和删除重复记录的方法总结
- C#中验证控件的使用方法总结(续前篇)
- Oracle PL/SQL转换方法总结
- VNI—2015:验证错误的解决方法总结
- Oracle多行转换成字符串方法总结
- Oracle多行转换成字符串方法总结
- Oracle多行转换成字符串方法总结
- Oracle行列转换实现方法总结
- 关闭和启动Oracle的几种方法总结 ZT
- Oracle SQL 内置函数的使用方法及结果
- Oracle Timesten使用方法总结