天天看點

91-oracle普通表改分區表的幾種方法

在對很多客戶的oracle資料庫做優化的時候發現, 很多系統都有一些大表沒有做分區, 導緻性能不佳和維護不便.

下面介紹4種普通表改分區表的方法, 供參考:

方法1:

建立分區表, 然後insert select; 或者在建立新分區表的同時插入(CTAS ,create table as select). 完成後做兩次rename table操作.

方法2:

線上重定義, 使用DBMS_REDEFINITION, 步驟有點複雜 ,網上有很多介紹該方法的文章, 可以百度一下.

方法3:

建立隻有一個分區的分區表, 用exchange partition将原表變成分區表後,再split partition.

方法4:

适用12.2+版本, 可以直接通過alter table xxx modify 指令, 将表直接改成分區表, 支援online不停業務.

推薦使用方法3和4, 符合版本要求就用4. 其他幾個方法版本8.x以上都支援.

上面隻是簡單介紹了方法, 具體還有很多細節, 包括global index/local index的選擇, 如何用最短時間完成,減少對業務的影響等. 多測試,多比較,實踐出真知.

另外, 分區字段和分區類型的選擇, 也是非常重要的, 需要結合業務好好研究再做決定. oracle的分區是一個很好的功能, 以後有機會可以作為一個教育訓練技術專題給大家分享.

如果大家還有更好的方法, 請在留言區留下您的建議, 多謝!

大表操作有風險, 祝一帆風順!