資料庫表的線上重定義
以下是我個人在最佳化資料庫時,透過資料庫提供的線上重定義特性,將一個普通的資料表,定義為分割槽表的方法,步驟如下,希望對需要這麼做的人有幫助。
1、在裸裝置上劃新塊,並新建需要的tablespace。
2、選擇或新增資料庫表上的分割槽鍵,對於新增欄位需要初始化鍵值。
3、建立需要重定義表T的中間表T2(按分割槽鍵分割槽的分割槽表),要求欄位名及型別完全一直,其他包括主鍵、索引、約束什麼的都不需要在T2上建立。
4、對T和T2表執行再線重定義步驟,如下:
--開始線上重定義表,資料同步
exec DBMS_REDEFINITION.START_REDEF_TABLE('MS', 'T', 'T2 ');
declare
ret number;
begin
--資料庫表之間的約束同步
dbms_redefinition.copy_table_dependents('MS', 'T', ' T2',1,true,true,true,false,ret);
end;
/
--同步兩個表之間的資料
exec dbms_redefinition.sync_interim_table('MS', 'T', ' T2');
--完成線上重定義
exec DBMS_REDEFINITION.FINISH_REDEF_TABLE('MS', 'T', 'T2');
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9399028/viewspace-678636/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 線上重定義引起的資料庫掛起資料庫
- oracle 表線上重定義Oracle
- oracle表線上重定義Oracle
- 【Oracle】線上重定義表Oracle
- 海量資料處理_表分割槽(線上重定義)
- Oracle表的線上重定義(一)Oracle
- Oracle中重建表的線上重定義Oracle
- oracle線上重定義表步驟Oracle
- dbms_redefinition線上重定義表
- 摘自_老楊大師_線上重定義引起的資料庫掛起資料庫
- 利用DBMS_REDEFINITION線上重定義表
- 線上重定義表ORACLE 11GOracle
- ORACLE 線上重新定義表分割槽表重定義為普通表。Oracle
- 【TABLE】oracle表線上重定義注意事項Oracle
- oracle實驗記錄 (線上重定義表)Oracle
- oracle 線上重定義Oracle
- Oracle線上重定義Oracle
- Oracle的線上重定義(轉)Oracle
- 在oracle 9i下線上重定義表Oracle
- 普通錶轉換分割槽表-線上重定義
- 分割槽表和dbms_redefinition包線上重定義表
- 使用DBMS_REDEFINITION線上重定義表普通表為分割槽表
- 線上重定義造成某核心OLAP系統資料庫無規律間歇性重啟資料庫
- 使用ORACLE線上重定義將普通表改為分割槽表Oracle
- 線上重定義 ?普通錶轉換成分割槽表
- OCM實驗-使用線上重定義方式遷移表
- 【Oracle】利用線上重定義的方式改變普通表為分割槽表Oracle
- 10g線上重定義新特性——對單獨的分割槽進行線上重定義
- 使用線上重定義方法改造普通表為分割槽表實戰
- oracle分割槽表線上重定義欄位not null問題OracleNull
- 線上重定義表(Redefine Tables Online) - dbms_redefinition
- ORACLE 普通錶轉換成分割槽表(線上重定義)Oracle
- 線上重定義拷貝表結構的NOT NULL約束問題Null
- Online Redefinition線上重定義(三)--多表關聯重定義案例
- Online Redefinition線上重定義(二)--單表複雜案例
- 線上重定義表導致constraint變成novalidateAI
- ORACLE 普通錶轉換成分割槽表(線上重定義)(zt)Oracle
- Oracle 12.2使用物件資料型別來重定義表Oracle物件資料型別