ZT:處理Oracle資料庫中一張有效的Drop大表
好像這個文章涉及的表空間是本地管理的表空間。
本文中透過詳細步驟來講解Oracle資料庫中有效的Drop表。
一、流程簡介
1、先不直接使用Drop table命令,取而帶之用帶有REUSE STORAGE子句的Tuncate table命令。因為沒有Extents要被回收,Trunate table命令執行很快,只是段的highwater mark簡單的被調整到段頭的block上。
2、使用帶有KEEP子句的alter table命令逐漸的回收表的Extents,以減輕對Cpu的壓力。
二、舉例說明
假定有一個表名字為BIGTAB,系統的cpu資源很有限,根據過去的經驗drop這樣的一張表要花掉數天的時間。如下的操作就可以在不大量耗用cpu的情形下很有效的Drop這張大表。
1. Truncate table, 使用REUSE STORAGE子句:
SQL> TRUNCATE TABLE BIGTAB REUSE STORAGE;
2. 如果要花費3天(72小時) 去drop這張表,可以把時間分散到6個晚上,每個晚上drop 1/3Gb資料.
Night 1:
SQL> ALTER TABLE BIGTAB DEALLOCATE UNUSED KEEP 1707M; (2Gb*5/6)
Night 2:
SQL> ALTER TABLE BIGTAB DEALLOCATE UNUSED KEEP 1365M; (2Gb*4/6)
Night 3:
SQL> ALTER TABLE BIGTAB DEALLOCATE UNUSED KEEP 1024M; (2Gb*3/6)
Night 4:
SQL> ALTER TABLE BIGTAB DEALLOCATE UNUSED KEEP 683M; (2Gb*2/6)
Night 5:
SQL> ALTER TABLE BIGTAB DEALLOCATE UNUSED KEEP 341M; (2Gb*1/6)
Night 6:
SQL> DROP TABLE BIGTAB;
同樣的方法也對LOB段適用:
SQL> ALTER TABLE
DEALLOCATE UNUSED KEEP
三、其它需要注意的地方
1、如果你不注意的已經執行了drop操作,那這種方法就不能再使用了,因為Drop table操作會首先把表段轉化成臨時段,然後開始清理臨時段中的extents,即使Drop操作被中斷了,Smon會接後使用者程式繼續執行臨時段的清理工作。
2、這種方法只適合表段。
好像
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/267265/viewspace-83052/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle資料庫快速Drop 大表Oracle資料庫
- [zt] 如何處理Oracle資料庫中的壞塊[final]Oracle資料庫
- 故障分析 | DROP 大表造成資料庫假死資料庫
- mysql,sqlserver資料庫單表資料過大的處理方式MySqlServer資料庫
- oracle為資料庫每張表建立序列Oracle資料庫
- oracle 資料庫鎖表處理 ORA-00031Oracle資料庫
- 資料庫如何處理大資料訪問資料庫大資料
- Activiti 23張資料庫表資料庫
- Oracle 10g 中誤刪除(drop)表的恢復處理Oracle 10g
- 資料庫優化之表碎片處理資料庫優化
- Oracle 資料庫碎片整理(zt)Oracle資料庫
- 資料庫之建立表前的判斷處理資料庫
- 【SQL 資料庫】將一張資料表資訊複製到另一張資料表SQL資料庫
- ORACLE資料庫壞塊的處理 (處理無物件壞快的方法)Oracle資料庫物件
- [zt] 處理LOB(大物件)表enqueue HW問題的一個方法物件ENQ
- 有效的處理較大的點陣圖
- Oracle資料庫中的逐行處理問題NEOracle資料庫
- 近期處理的Oracle資料庫問題總結Oracle資料庫
- 教你如何處理Oracle資料庫中的壞塊Oracle資料庫
- MySQL處理資料庫和表的常用命令MySql資料庫
- [zt]為了提高資料庫的處理速度,怎樣設計資料庫?具體方法有哪些?資料庫
- Oracle 9i資料壞塊的處理(ORA-01578) ztOracle
- Oracle資料庫中索引的維護 ztOracle資料庫索引
- Oracle資料庫中索引的維護(zt)Oracle資料庫索引
- Oracle資料庫資料鎖機制解析(zt)Oracle資料庫
- ORACLE資料庫壞塊的處理 (一次壞快處理過程)Oracle資料庫
- Oracle資料庫無效物件問題處理Oracle資料庫物件
- Oracle資料庫處理多媒體資訊(轉)Oracle資料庫
- 大資料處理的基本流程大資料
- DBus資料庫表結構變更處理方案資料庫
- java大資料處理:如何使用Java技術實現高效的大資料處理Java大資料
- 剖析大資料平臺的資料處理大資料
- 修改Oracle資料庫字符集(zt)Oracle資料庫
- oracle臨時表空間過大的原因&&處理Oracle
- [資料庫][分庫分表]分庫分表之後,id主鍵如何處理資料庫
- ZT oracle 分割槽表資料定期遷移到其他資料庫測試方案Oracle資料庫
- SELECT大表的處理
- ZT 寫有效的歷史資料遷移sqlSQL