日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

oracle计算表的大小,简要分析估算oracle表的大小

發布時間:2023/12/10 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 oracle计算表的大小,简要分析估算oracle表的大小 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

查詢oracle表的大小有幾種方法,筆者簡要分析下他們的異同

環境,newsadmin.newlog,原本有244,459,078條記錄,delete后,現在只有51,109,919記錄。

一、segments

select bytes/1024/1024/1024 from dba_segments where segment_name='NEWLOG';

結果是27.26GB這個結果和

select sum(blokcs)*8/1024/1024 from dba_segments where segment_name='NEWLOG';

是完全一致的。

這個結果就是我們說的,該表在tablespace中實際占的大小。

二、show_space

并非oracle自帶的一個procedure,而是thomas寫的一個腳本,非常好用,可以前往

http://www.itpub.net/thread-239697-1-1.html

下載安裝

begin

sys.show_space(p_segname => 'NEWLOG',p_owner => 'NEWSADMIN');

end;

這樣可以看到一個分析結果

Segments................................NEWLOG

Segments Type...........................TABLE

Partition Name..........................

Unformatted Blocks .....................0

FS1 Blocks (0-25) ?.....................5

FS2 Blocks (25-50) .....................4336

FS3 Blocks (50-75) .....................12537

FS4 Blocks (75-100).....................2834583

Full Blocks ? ? ? ?.....................718526

Total Blocks............................3574016

Total Bytes.............................29278339072

Unused Blocks...........................0

Unused Bytes............................0

Last Used Ext FileId....................16

Last Used Ext BlockId...................924672

Last Used Block.........................128

解釋下,FS1 Blocks (0-25)是指,空閑度為0-25%的塊,所以從這里可以看見75-100和full blocks占得比例十分驚人,這就說明HWM非常高。我們可以粗略計算一下:

(2834583*2+12537*4+4336*6+5*8)/1024/1024=5.48GB,這是估算的實際表的大小。而上面顯示的Total Bytes.............................29278339072就是之前我們查詢到的,BLOCKS*db_block_size的大小。

筆者用exp不帶索引不帶觸發器的導出,大小為5.75GB和預估基本一致。

C:\Documents and Settings\yantaiwanhua15>exp user/password@remote file=d:\1.dmp tables=newsadmin.newlog triggers=n indexes=n

三、expdp

大家都知道expdp有個功能就是導出前預估大小,筆者博客之前有介紹過

5. ESTIMATE

指定估算被導出表所占用磁盤空間分方法.默認值是BLOCKS

ESTIMATE={BLOCKS | STATISTICS}

設置為BLOCKS時,oracle會按照目標對象所占用的數據塊個數乘以數據塊尺寸估算對象占用的空間,設置為STATISTICS時,根據最近統計值估算對象占用空間

Expdp scott/tiger TABLES=emp ESTIMATE=STATISTICS DIRECTORY=dump DUMPFILE=a.dump

第一種是根據blocks計算,就和前文描述的一致,是一種在HWM較低的情況下相對準確的方法。STATISTICS是根據表的統計信息進行估計,相對來說準確多。

但是使用expdp備份時,盡量不要使用estimate參數,因為這個額外操作是非常消耗資源的。

總結

以上是生活随笔為你收集整理的oracle计算表的大小,简要分析估算oracle表的大小的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。