11g資料庫大表資料快速清理方法 - insert+append+parallel+exchange (2)
2. 由於2013-2014資料是表中較少量的資料,採用insert到其他表的方式處理,而不使用delete ,其中的parallel根據實際CPU設定.
# insert_ap_inv.sql
spool insert_ap_inv.log
set timing on
alter session enable parallel DML ;
insert /*+ append */ into AP.AP_INVOICE_DISTS_ARCH_WQ
select /*+ parallel(32) */ * from AP.AP_INVOICE_DISTS_ARCH_WQ a
where a.last_update_date>=to_date('20130101','yyyymmdd');
commit;
set timing off
spool off
exit
nohup sqlplus / as sysdba @insert_ap_inv.sql &
3. 對原表和中間分割槽表(只有一個分割槽)進行資料置換 (注意只會進行資料置換, 索引不會有任何動作,這裡沒有使用including indexes, including indexes 表示). 將Local indexes 一同exchange出來, 此選項需要用來與之exchange的table 有建立一樣的Index)
alter table AP.AP_INVOICE_DISTS_ARCH_WQ exchange partition APINV_PART01 with table AP.AP_INVOICE_DISTS_ARCH without validation;
4. 進行exchange後原表的索引可能會變成unusable 狀態,需要對原表中索引進行rebuild .
select 'alter index '||owner||'.'||index_name||' rebuild parallel 32 nologging ;' from dba_indexes where table_name =
'AP_INVOICE_DISTS_ARCH';
將查詢出來的語句儲存為 rebuild_idx2.sql 檔案 ,後臺執行。
nohup sqlplus / as sysdba @rebuild_idx2.sql &
5. 資料置換後需要對錶進行統計資訊重新收集 。
# gather_ap_inv.sql
spool gather_ap_inv.log
set timing on
EXEC dbms_stats.gather_table_stats(ownname => 'AP',tabname => 'AP_INVOICE_DISTS_ARCH',method_opt => 'FOR ALL COLUMNS SIZE
AUTO',degree=>32,cascade => TRUE);
set timing off
spool off
exit
後臺執行 : nohup sqlplus / as sysdba @gather_ap_inv.sql &
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/35489/viewspace-1204790/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 11g資料庫大表資料快速清理方法 - insert+append+parallel+exchange (1)資料庫APPParallel
- FlashText:語料庫資料快速清理利器
- Oracle資料庫快速Drop 大表Oracle資料庫
- 資料分析 | 資料清理的方法
- 清理資料庫監聽日誌最好方法資料庫
- 清空資料庫中所有表資料的方法資料庫
- 大資料資料庫讀寫分離分庫分表大資料資料庫
- 清理oracle資料庫空間Oracle資料庫
- (2) 電商資料庫表設計資料庫
- Greenplum資料庫,分散式資料庫,大資料資料庫分散式大資料
- 大資料圖資料庫之TAO資料庫大資料資料庫
- mysql主庫清理資料,從庫保留MySql
- 客快物流大資料專案(五十一):資料庫表分析 物流專案 資料庫表設計大資料資料庫
- sql 資料庫 龐大資料量 需要分表SQL資料庫大資料
- Mysql 大資料表 資料匯入到SqlServer 中的方法MySql大資料Server
- 11g從活動資料庫複製資料庫資料庫
- 大資料4.2 -- hive資料庫大資料Hive資料庫
- 面試資料系列(2): 資料庫面試資料庫
- 資料庫2資料庫
- 資料預處理-資料清理
- mysql,sqlserver資料庫單表資料過大的處理方式MySqlServer資料庫
- Oracle 11g資料庫Oracle資料庫
- 快速掌握 MongoDB 資料庫MongoDB資料庫
- 11g文件學習2----建立資料庫資料庫
- 【資料庫資料恢復】如何恢復Oracle資料庫truncate表的資料資料庫資料恢復Oracle
- 建立資料庫表資料庫
- 【C/C++】資料庫刪除大表C++資料庫
- 故障分析 | DROP 大表造成資料庫假死資料庫
- DB2資料庫匯出表結構與匯入、匯出表資料DB2資料庫
- ABAP資料庫表的後設資料資料庫
- oracle資料庫兩表資料比較Oracle資料庫
- 大資料,大資料,大資料大資料
- 大資料:快速有效地檢索大量資料大資料
- 資料庫大會資料庫
- Oracle 11g系列:資料庫Oracle資料庫
- 快速轉移資料的方法
- 資料庫分庫分表資料庫
- 安全快速修改Mysql資料庫名的5種方法MySql資料庫