高水位線 指令碼

2022-02-07 19:59:17 字數 880 閱讀 3422

1

create

table hwm as

select * from dba_objects;

2sql> select segment_name, segment_type, blocks from dba_segments

3where segment_name='hwm';

4 dba_segments.blocks 表示分配給這個表的所有的資料庫塊的數目56

sql> analyze table hwm estimate statistics;78

sql> select table_name,num_rows,blocks,empty_blocks

9from user_tables

10where table_name='hwm';

11 user_tables.blocks表示已經使用過的資料庫塊的數目,即水線。

12 user_tables.empty_blocks 代表分配給該錶,但是在水線以上的資料庫塊,即從來沒有使用的資料塊。

1314

sql> select

count (distinct

15 dbms_rowid.rowid_block_number(rowid)||

16 dbms_rowid.rowid_relative_fno(rowid)) "used"

17from hwm;

18 有多少塊容納資料

1920

sql> delete

from hwm;

21sql> commit;

22sql> truncate

table hwm;

23

ORACLE的高水位線

這幾天一直在看乙個問題,乙個統計程式突然統計的資料量不正常了,從頭查到尾,覺得程式和配置都沒有問題,但就是統計出的結果不對,但發現有乙個程式的入庫檔案還存留很多,推斷可能是資料還沒入庫完全,但是什麼導致的呢,以為是那部分檔案太大,入庫太慢,但後來發現還是資料庫的問題,乙個temp表查詢空表都花費很長...

oracle 高水位線詳解

一 什麼是水線 high water mark 所有的oracle段 segments,在此,為了理解方便,建議把segment作為表的乙個同義詞 都有乙個在段內容納資料的上限,我們把這個上限稱為 high water mark 或hwm。這個hwm是乙個標記,用來說明已經有多少沒有使用的資料塊分配...

oracle 高水位線問題

查詢高水位線 50295 0 28185 0 select blocks,empty blocks from dba tables where table name todayotherconsumerecords and owner iccardyiwu alter table todayothe...