oracle 各種遷移總結
最近做了很多遷移,本來想有空寫個oracle 各種遷移總結,但是發現我同事已經寫了,就偷懶一下。下面是我同事的一個總結,我先摘錄一下,然後在補充一下:
http://www.vmcd.org/2012/10/lob%e5%ad%97%e6%ae%b5%e8%bf%81%e7%a7%bb%e6%b5%85%e8%b0%88/
最近做了一次文描系統的遷移,涉及到大量的lob表,對於這種文描表的處理,其實不建議放在oracle 的lob欄位中.對於LOB相信大家肯定遇到過各種問題
LOB的直接讀寫往往會對儲存層面造成很大的壓力,瞬間的併發嚴重的可能導致系統的崩潰.相信維護過秒殺系統的同學深有感觸。
鑑於這次的遷移.總結了一點經驗,對於文描這種應用(圖書,藥物等)首先應該考慮檔案系統,在資料庫層面通過指標來訪問,其次可以考慮nosql的應用
(推薦mongodb),對於這次的遷移來說考慮了一下幾種方式:
示例表為:
[oracle@db-2-16 ~]$
OWNER TABLE_NAME SIZE_MB
—————————— —————————— ————
PROD_DATA2 PDDESC 78,165
這是一張將近80GB的lob表 (pddesc column nclob)
SQL> select segment_name from dba_lobs where table_name=’PDDESC’;
SEGMENT_NAME
——————————
SYS_LOB0000017343C00008$$
SQL> select sum(bytes)/1024/1024 from dba_segments where segment_name=’SYS_LOB0000017343C00008$$’;
SUM(BYTES)/1024/1024
——————–
74117
LOB欄位大小為74GB
對於這種表考慮了第一種方法:oracle goldengate
想通過ogg單獨抽這種表,由於這次遷移是10g-11g ogg正好有用武之地,測試發現ogg的初始化極其緩慢(老毛病了) 放棄 同理測試DDS DSG 同樣很慢。
方法二:採用了expdp 使用parallel 8 方式匯出預計需要5個小時以上 放棄 採用exp query PK mod=8 預計8小時以上 放棄。
方法三:採用CTAS 通過dblink方式 這種方法的好處是節省了傳輸的時間,直接在目標端進行資料的插入注意這種方式有一個要求不能夠直接create table as select 這也跟kamus討論過,DDL parallel 是不支援LOB欄位的表的:
DDL statements
Some examples are CREATE TABLE AS SELECT,CREATE INDEX,REBUILD INDEX,REBUILD INDEX PARTITION and MOVE/SPLI/COALESCE PARTITION.
You can normally use parallel DDL where you use regular DDL. There are, however, some additional details to consider when designing your database.
One important restriction is that parallel DDL cannot be used on tables with object or LOB columns.
All of these DDL operations can be performed in NOLOGGINGmode for either parallel or serial execution.
The CREATE TABLE statement for an index-organized table can be parallelized either with or without an AS SELECT clause.
Different parallelism is used for different operations.Parallel create (partitioned) table as select and parallel create (partitioned) index run with a degree of parallelism equal to the number of partitions.
採用手工insert append的方式將主鍵分為20個分割槽.多個SQL 同時插入這種方式預估時間為2個小時,是可以接受的。
方法四:利用prebuild MV快速遷移這是最便宜也是最省心的(當然如果你的ogg不需要收費的話..) 這種方法可以參考楚天的文章:
利用prebuild MV快速遷移跨平臺資料庫實施及其總結
測試結果為complete refresh 花了將近8個小時。不過一旦初始化完成,後面將大大簡化遷移時候的操作,只需要drop掉mv即可。
方法五: 也是我們最終採用的PCIE卡直接抽取 flash技術在公司已經大量運用了.具體操作為搭建一個檔案存放在fusion-IO上的物理DG,遷移停機之後active這個DG 使用expdp匯出這張表。驚訝的是匯出這張表僅僅只需要20分鐘,強大的fusion-io!
同樣測試了華為的超高速SSD 表現還可以需要40分鐘左右。這種方法的好處在於物理DG十分的可靠,在遷移之前可以最大劃的保證資料的完整性(ogg,mv可能丟資料) 這樣就省去了表資料的對比工作,同樣20分鐘的表現完全可以接受。
這裡大致談了lob欄位的遷移方法,其實對於lob欄位的運用關鍵還在於設計。在大資料即將到來的今天,合理的運用各種技術才是最重要的。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/758322/viewspace-748523/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 移動平臺各種路勁總結
- Oracle跨平臺遷移的簡單總結Oracle
- 程式猿的年終總結,各種版本各種殘
- css各種佈局總結CSS
- js各種驗證總結JS
- 前端各種迴圈用法總結前端
- 資料遷移部分問題總結
- Core Data 版本遷移經驗總結
- iOS 總結遇到的各種坑兒iOS
- Unix各種括號的用法總結
- 從Oracle遷移到MySQL的各種坑及自救方案OracleMySql
- Datapump資料遷移的實踐總結
- 曠日持久的資料遷移總結
- oracle體系結構梳理----各種程式Oracle
- oracle 查詢結果的各種格式Oracle
- LaTeX中各種常用盒子的使用總結
- 各種平臺解壓壓縮總結
- 從request獲取各種路徑總結
- 模擬Oracle行遷移和行連結Oracle
- datapump跨平臺升級遷移的總結
- 大型資料庫跨平臺遷移總結資料庫
- Oracle體系結構之-Oracle中各種名稱Oracle
- caffe中各種cblas的函式使用總結函式
- Linux Shell中各種括號用法總結!Linux
- 關於Android中各種尺寸的總結Android
- Oracle遷移文章大全Oracle
- Oracle遷移文件大全Oracle
- oracle遷移OCR盤Oracle
- ORACLE 資料遷移Oracle
- GoldenGate資料遷移的問題總結(一)Go
- GoldenGate資料遷移的問題總結(二)Go
- expdp/impdp跨版本升級遷移問題總結
- 資料整合式遷移的一些總結
- 資料遷移中的幾個問題總結
- Oracle獲取繫結變數的各種方法Oracle變數
- 總結logminer使用及各種問題處理
- 總結iOS 8和Xcode 6的各種坑iOSXCode
- Http協議中的各種長度限制總結HTTP協議