什么是Oracle高水位线

什么是Oracle高水位线,第1张

在Oracle数据的存储中,可以把存储空间想象为一个水库,数据想象为水库中的水。水库中的水的位置有一条线叫做水位线,在Oracle中,这条线被称为高水位线(High-warter mark, HWM)。在数据库表刚建立的时候,由于没有任何数据,所以这个时候水位线是空的,也就是说HWM为最低值。当插入了数据以后,高水位线就会上涨,但是这里也有一个特性,就是如果你采用delete语句删除数据的话,数据虽然被删除了,但是高水位线却没有降低,还是你刚才删除数据以前那么高的水位。也就是说,这条高水位线在日常的增删 *** 作中只会上涨,不会下跌。

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压缩)

水位是指自由水面相对于某一基面的高程,水面离河底的距离称水深。计算水位所用基面可以是以某处特征海平面高程作为零点水准基面,称为绝对基面,常用的是黄海基面;也可以用特定点高程作为参证计算水位的零点,称测站基面。

水位是反映水体水情最直观的因素,它的变化主要由于水体水量的增减变化引起的。水位过程线是某处水位随时间变化的曲线,横座标为时间,纵座标为水位。

扩展资料:

1、水位观测常用设备:

常用的有水尺和自计水位计。按照水尺的构造形式不同,可分为直立式、倾斜式、矮桩式、和悬锤式。观测时,水面在水尺上的读数加上水尺零点的高程就是当时的水位值。

自计水位计能将水位变化的连续过程记录下来,也能将所观测的数据以数字或图像的形式传送至数据库,使得水位观测工作趋于自动化和遥测化。

2、水位观测数据的整理工作:

主要包括日平均水位、月平均水位、年平均水位的计算。对于日平均水位,常用算数平均法或面积包围法进行计算。

由逐日平均水位可计算月平均水位、年平均水位和保证率水位。水文年鉴中载有各观测站日平均水位表和月、年平均水位,月、年极值水位数据。汛期水位过程记载于汛期水位要素摘录表中。

参考资料来源:百度百科——水位

参考资料来源:百度百科—水位(测绘学名词)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9845190.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存