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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

alter table move与shrink space

發布時間:2024/4/17 编程问答 50 豆豆
生活随笔 收集整理的這篇文章主要介紹了 alter table move与shrink space 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

http://www.xifenfei.com/1051.html

都知道alter table move 或shrink space可以收縮段,用來消除部分行遷移,消除空間碎片,使數據更緊密,但move跟shrink space還是有區別的。
Move會移動高水位,但不會釋放申請的空間,是在高水位以下(below HWM)的操作。
而shrink space 同樣會移動高水位,但也會釋放申請的空間,是在高水位上下(below and above HWM)都有的操作。

Move解決問題:
a. 我們可以使用move將一個table從當前的tablespace上移動到另一個tablespace上:
alter table t move tablespace tablespace_name;
b. 我們還可以用move來改變table已有的block的存儲參數,如:
alter table t move storage (initial 30k next 50k);
c.另外,move操作也可以用來解決table中的行遷移的問題。

使用move的一些注意事項:
a. table上的index需要rebuild:
在前面我們討論過,move操作后,數據的rowid發生了改變,我們知道,index是通過rowid來fetch數據行的,所以,table上的index是必須要rebuild的。
alter index index_name rebuild online;

b.move時對table的鎖定
當我們對table進行move操作時,查詢v$locked_objects視圖可以發現,table上加了exclusive lock

c.關于move時空間使用的問題:
當我們使用alter table move來降低table的HWM時,有一點是需要注意的,這時,當前的tablespace中需要有1倍于table的空閑空間以供使用

Shrink space語法:
alter table
shrink space [ | compact | cascade ];
alter table
shrink space compcat;
收縮表,但會保持 high water mark;
alter table
shrink space;
收縮表,降低 high water mark;
alter table
shrink space cascade;
收縮表,降低 high water mark,并且相關索引也要收縮

用shrink有兩個前提條件:
1、表必須啟用row movement,如:
alter table nonsrt.TAB_EZG_BIZ_UNCONTRACTED enable row movement;
alter table nonsrt.TAB_EZG_BIZ_UNCONTRACTED shrink space;
2、表段所在表空間的段空間管理(segment space management)必須為auto

segment shrink分為兩個階段:
1、數據重組(compact):通過一系列insert、delete操作,將數據盡量排列在段的前面。在這個過程中需要在表上加RX鎖,即只在需要移動的行上加鎖。由于涉及到rowid的改變,需要enable row movement.同時要disable基于rowid的trigger.這一過程對業務影響比較小。
2、HWM調整:第二階段是調整HWM位置,釋放空閑數據塊。此過程需要在表上加X鎖,會造成表上的所有DML語句阻塞。在業務特別繁忙的系統上可能造成比較大的影響。
注意:shrink space語句兩個階段都執行。
shrink space compact只執行第一個階段。
如果系統業務比較繁忙,可以先執行shrink space compact重組數據,然后在業務不忙的時候再執行shrink space降低HWM釋放空閑數據塊。

?

總結

以上是生活随笔為你收集整理的alter table move与shrink space的全部內容,希望文章能夠幫你解決所遇到的問題。

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