資料庫表的線上重定義
以下是我個人在最佳化資料庫時,透過資料庫提供的線上重定義特性,將一個普通的資料表,定義為分割槽表的方法,步驟如下,希望對需要這麼做的人有幫助。
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 9i下線上重定義表Oracle
- 線上重定義方式將普通表修改為分割槽表
- 壓縮錶轉非壓縮表(線上重定義)
- 指令碼:線上重定義,從普通表到分割槽表,redefinition_table.sh指令碼
- 線上重定義的操作步驟__普通錶轉換為分割槽表的實驗案例
- 分散式資料庫的定義和特點分散式資料庫
- Mybatis實現分包定義資料庫MyBatis資料庫
- 【MySQL】自定義資料庫連線池和開源資料庫連線池的使用MySql資料庫
- 資料庫建表和上線指令碼常見規範資料庫指令碼
- ZBlog的資料庫表是可以設定字首-修改ZBlog資料庫字首資料庫
- linq如何設定連線資料庫的字串資料庫字串
- 自定義帶監控的資料庫連線池資料庫
- PostgreSQL資料庫連線保持設定SQL資料庫
- 資料庫表連線的簡單解釋資料庫
- 聯機重定義表在10g的改進
- 如何建立最簡單的 ABAP 資料庫表,以及編碼從資料庫表中讀取資料 (上)資料庫
- Kettle自定義資料庫連線型別連線HGDB資料庫型別
- 線上製作資料庫ER模型資料庫模型
- db2匯出資料庫定義及遷移資料DB2資料庫
- 我應該手動修改線上資料庫的資料嗎?資料庫
- 資料庫表的基本操作和編碼格式設定資料庫
- ABAP 資料庫表 Size Category 欄位的準確含義資料庫Go
- 線上ER模型設計:視覺化MySQL資料庫建表及操作模型視覺化MySql資料庫
- 資料庫架構和物件、定義資料完整性-SQL Server資料庫架構物件SQLServer
- Book Track for Mac書籍線上資料庫Mac資料庫
- Oracle資料庫 ASM磁碟線上擴容Oracle資料庫ASM
- Mysql資料庫自定義函式的定義、使用方法及操作注意事項MySql資料庫函式
- 如何在MySQL資料庫中定義外來鍵ZMMySql資料庫
- zabbix上對mysql資料庫做分割槽表MySql資料庫
- SAP 資料庫表 TCURX 在定義貨幣欄位小數點位數中的重要作用資料庫
- 重學java之類的定義Java
- 資料庫中AS的使用意義資料庫
- 如何確定一個嚴重規範化的資料庫系統?資料庫
- ABAP資料庫表的後設資料資料庫
- DBA福利-資料庫線上實訓平臺資料庫
- 資料庫安全定義以及重要性簡單講解資料庫
- MYSQL學習與實驗(一)——資料庫定義與操作MySql資料庫
- PostgreSQL 17重磅登場——世界上最成功的資料庫SQL資料庫