ORACLE 線上重新定義表分割槽表重定義為普通表。
需求:
源表A 目前166G 已經做了分割槽 做的是hash 分割槽,但是目前。表需要做調整 需要用另外一個欄位做列表分割槽。
計劃:
1、將源錶轉化為普通表。
2、將普通錶轉化為分割槽表。
操作:
1、expdp 備份表 166G 大概十幾分鍾就備份完成.
expdp xx/xxxxdirectory=exp_dir dumpfile= xxxx.dmp tables=ADAPTER_ORIGINALDATA logfile= xxxx.log parallel=10
2、備份表的索引ddL使用工具
3、建立新的表空間
create tablespace xxxdatafile ‘xxxxx.dbf’
size 1G autoextend on next 500M maxsize 10g
將表空間賦給使用者
alter user adapter
quota unlimited on xxxxx;
CREATE TABLE "ADAPTER"."xxxx"
( "EVENTID" CHAR(32) NOT NULL ENABLE,
"RECORDCLASSIFYING" VARCHAR2(32),
"RECORDTITLE" VARCHAR2(50),
"EFFECTIVETIME" DATE,
"AUTHORORGANIZATION" VARCHAR2(56),
"SOURCEID" VARCHAR2(32),
"VERSIONNUMBER" VARCHAR2(10),
"AUTHOR" VARCHAR2(32),
"SYSTEMTIME" DATE,
"UPLOADTIME" DATE,
"HEADER" VARCHAR2(4000),
"BODY" BLOB,
"DOCFORMAT" VARCHAR2(8),
"ZIPTYPE" VARCHAR2(8),
"PROCESSFLAG" CHAR(1),
"ORIGINALBODY" BLOB,
"MPIPROCESSFLAG" CHAR(1),
"MPI" VARCHAR2(32),
"DCID" CHAR(16),
"CREATETIME" DATE,
"AUTHORORGANIZATION_TEXT" VARCHAR2(56)
) TABLESPACE xxxxxx;
5、開始重定義
execute dbms_redefinition.start_redef_table('hzwsj','old_table','mid_table');
execute dbms_redefinition.sync_interim_table('hzwsj','old_table','mid_table');
execute dbms_redefinition.finish_redef_table('hzwsj','old_table','mid_table');
6、建立索引7、完成。
注意:兩個源表和中間表需要相同主鍵。
在重定義過程中
execute dbms_redefinition.start_redef_table('hzwsj','old_table','mid_table'); 這一步 為轉移資料步驟。
完成後的mid_table 可刪除。
166G 資料 POWER 7 處理器 128G 記憶體 大概需要兩個小時。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26764973/viewspace-1277127/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 使用ORACLE線上重定義將普通表改為分割槽表Oracle
- 使用DBMS_REDEFINITION線上重定義表普通表為分割槽表
- 【Oracle】利用線上重定義的方式改變普通表為分割槽表Oracle
- 使用線上重定義方法改造普通表為分割槽表實戰
- 普通錶轉換分割槽表-線上重定義
- ORACLE 普通錶轉換成分割槽表(線上重定義)Oracle
- 線上重定義 ?普通錶轉換成分割槽表
- ORACLE 普通錶轉換成分割槽表(線上重定義)(zt)Oracle
- 指令碼:線上重定義,從普通表到分割槽表,redefinition_table.sh指令碼
- oracle 線上重新定義,普通表改變分割槽表,分割槽表可以更改型別、分割槽欄位等Oracle型別
- 分割槽表和dbms_redefinition包線上重定義表
- 利用線上重定義功能將普通錶轉換為分割槽表問題
- oracle 表線上重定義Oracle
- oracle表線上重定義Oracle
- 【Oracle】線上重定義表Oracle
- oracle分割槽表線上重定義欄位not null問題OracleNull
- 線上表格重定義研究,比如將普通錶轉換為分割槽表等
- 海量資料處理_表分割槽(線上重定義)
- 線上重定義分割槽表和NOLOGGING APPEND分割槽表對比APP
- Oracle表的線上重定義(一)Oracle
- oracle線上重定義表步驟Oracle
- 線上重定義的操作步驟__普通錶轉換為分割槽表的實驗案例
- Oracle中重建表的線上重定義Oracle
- 線上重定義表ORACLE 11GOracle
- ogg環境線上重定義普通表到分割槽表實戰及生產操作注意事項-orastarAST
- 【TABLE】oracle表線上重定義注意事項Oracle
- oracle實驗記錄 (線上重定義表)Oracle
- dbms_redefinition利用線上重定義把普通錶轉化為分割槽表的一些測試
- dbms_redefinition線上重定義表
- 在oracle 9i下線上重定義表Oracle
- 資料庫表的線上重定義資料庫
- 利用DBMS_REDEFINITION線上重定義表
- Oracle使用聯機重定義來給表增加新列與分割槽Oracle
- Oracle普通表修改為分割槽表的方法Oracle
- Oracle線上將普通錶轉分割槽表Oracle
- oracle 普通表-分割槽表改造流程Oracle
- oracle9i 普通表改為分割槽表Oracle
- 批次轉換分割槽表為普通表