Oracle 大數據量備份跟清理

tags:    時間:2013-12-24 18:04:43
Oracle 大數據量備份和清理
問題是這樣的,有一張表,存量20億,事實上,有10億的數據是不會被查詢到的,但是又不能說直接刪掉這10億條記錄。所以,這裡就涉及到兩個問題:
1、10億的記錄怎麼做備份比較好?
2、10億的記錄怎麼做刪除比較好?

首先,同一個磁碟空間上,不具備一次性備份10億的存儲空間,肯定需要分多次備份。

我現在考慮到的問題

1、刪除10億的數據,會產生歸檔日誌。如果要關閉歸檔模式,好像是需要重啟資料庫?
2、備份10億數據,比較好的參考方式:expdb。另外兩種exp和spool方式,只能作為備用。
3、有同學推薦使用goldengate軟體工具。這個工具,是否比expdb效率更高?


大俠們,出來吧!20億的數據量,是不是很刺激?來玩一下吧……

至於為什麼要設計一個單表來存儲20多億的數據,就不要嘲笑了,我也想不明白當時的設計者是不是誠心的……

------解決方案--------------------
可否分區解決?
------解決方案--------------------
另外加磁碟空間,加資料庫文件,加表空間,加表,再把數據導過去,再把本表數據刪掉
其實只要空間,你慢慢導過去應該不是問題
------解決方案--------------------
http://blog.csdn.net/yuzhenhuan01/article/details/6620853

看看這個對你是否有用吧
------解決方案--------------------
1:創建一個新的分區表

2:設置新表,原表分別 nologging
alter table tablename no logging;

3:insert into 新表;

insert 可以分批寫入到新表

delete from 原表的數據。

4:然後原表,新表 恢復logging;
alter table  tablename logging;

推薦閱讀文章

Bookmark the permalink ,來源:互聯網