ZKX's LAB

如何降低Oracle表的高水位 如何查看oracle表的高水位

2021-04-04知识2

Oracle里面 表的高水位是怎么会事情? 就是说的HWM哪个东西 在MSSM的FREELIST下,高水位High Water Mark代表所有相关块,高水位以上就是未格式化unformatted 的数据块,INSRT数据时不能直接使用。当FREELIST中不包含可插入数据块时 HWM默认每次上升5个数据块。对于ASSM管理的BITMAP 数据段而言,Oracle允许在数据段的中部出现unformatted blocks未格式化的数据块,基于以下的原因:一、在以前 HWM以下的数据块必然是formatted,为了维护这一点代价是昂贵的:长时间持有HW enqueue 队列锁对并发的抑制过于频繁的持有HW enqueue在Oracle研发看来是罪恶的上涨HWM 而不格式化 这样的话更有效率,因为格式化往往涉及到 IO,是一种较慢的操作二、在直接路径加载过程中,最后的一个extent中的数据块将被全部format 格式化,而如果下一次还是direct load直接路径加载数据的话,它不会从Freelist上获取数据块,而是使用HWM以上新的数据盘区extent。如果这个数据段是典型的一直在direct load加载数据的话,则可能在freelist上有很多unused block从来不被使用,而被浪费了。这可能造成空间的浪费,尤其是在Extent size 很大的时候 或者 数据段几乎从来不传统路径插入数据的时候。保留这些数据块为unformatted则可以让加载数据时利用。

oracle 如何查看表 高水位线 select blocks,empty_blocks from dba_tables where table_name='xxx' and owner='xx';blocks就是已经分配的2113空5261间即HWM,实际4102分1653配的空间,不是实际大小

什么是oracle的高水位线? 现在解释下什么是“高水位”:oracle的逻辑存储结构:表空间—>;段—>;区—>;块 块:是粒度最小的存储单位,现在标准的块大小是8K,ORACLE每一次I/O操作也是按块来操作的,也就是。

#如何查看oracle表的高水位

随机阅读

qrcode
访问手机版