海量資料遷移之資料抽取流程
在之前的一些博文中花了大篇幅介紹了採用外部表抽取的一些細節,可能細節到了,基本原理的內容還希望再補充補充。
採用外部表抽取資料的流程圖如下:
大體標註了一下抽取的基本結構,我們會盡量保證不去碰原本的資料來源,會建立兩個臨時的使用者,一個是隻讀使用者,這個使用者上只有同義詞,只具有資料來源中的select許可權。這就對應上面紅色標註的1,而另外一個使用者是外部表使用者,所有通過建立外部表都會在這個使用者下進行,生成了dump檔案之後,我們可以隨時刪除外部表,這個時候為了保證相關的drop操作不會牽扯到資料來源,外部表使用者會繼承只讀使用者中的select許可權。這就對應紅色標註的2.
當開始抽取資料的時候,會去查詢是否有許可權讀取資料,會找到只讀使用者,最終能夠讀取資料來源的資料,這就對應紅色標註的3,4
當滿足了基本的條件,就開始生成外部表的dump,可以為一個表生成多個dump,而且這個過程是並行的,這就對應紅色標註的5
對於步驟5,是抽取的關鍵,基本的原理可以參考下面的虛擬碼,黃色標註的重點部分。
採用外部表抽取資料的流程圖如下:
大體標註了一下抽取的基本結構,我們會盡量保證不去碰原本的資料來源,會建立兩個臨時的使用者,一個是隻讀使用者,這個使用者上只有同義詞,只具有資料來源中的select許可權。這就對應上面紅色標註的1,而另外一個使用者是外部表使用者,所有通過建立外部表都會在這個使用者下進行,生成了dump檔案之後,我們可以隨時刪除外部表,這個時候為了保證相關的drop操作不會牽扯到資料來源,外部表使用者會繼承只讀使用者中的select許可權。這就對應紅色標註的2.
當開始抽取資料的時候,會去查詢是否有許可權讀取資料,會找到只讀使用者,最終能夠讀取資料來源的資料,這就對應紅色標註的3,4
當滿足了基本的條件,就開始生成外部表的dump,可以為一個表生成多個dump,而且這個過程是並行的,這就對應紅色標註的5
對於步驟5,是抽取的關鍵,基本的原理可以參考下面的虛擬碼,黃色標註的重點部分。
CREATE TABLE MO1_MEMO_EXT
ORGANIZATION EXTERNAL
(
TYPE ORACLE_DATAPUMP
DEFAULT DIRECTORY xxxxx
LOCATION (
‘xxxx1.dmp’,‘xxxx2.dmp’)
)
parallel xx as
SELECT /*+ parallel(t xx) */
*
FROM 只讀使用者.MO1_MEMO;
我們使用了外部表的oracle_datapump引擎,可以在指定的目錄下生成多個dump檔案,我們可以指定並行度,指定多個dump的名稱等等。這些都需要通過程式設計來控制和管理這些複雜的部分。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/23718752/viewspace-1457835/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 使用impdp,expdp資料泵進入海量資料遷移
- 使用資料泵(expdp、impdp)遷移資料庫流程資料庫
- 從雲資料遷移服務看MySQL大表抽取模式MySql模式
- Kafka資料遷移Kafka
- Harbor資料遷移
- gitlab資料遷移Gitlab
- 資料庫遷移資料庫
- Laravel 學習之資料庫遷移Laravel資料庫
- ORM實操之資料庫遷移ORM資料庫
- 資料遷移(1)——通過資料泵表結構批量遷移
- 雲資料庫管理與資料遷移資料庫
- Mysql資料遷移方法MySql
- 【Hive】hive資料遷移Hive
- 【Redis】 redis資料遷移Redis
- redis資料庫遷移Redis資料庫
- congregate遷移gitlab資料Gitlab
- 系統資料遷移
- 資料庫遷移 :理解資料庫
- laravel資料庫遷移Laravel資料庫
- Fastdfs資料遷移方案AST
- 伺服器資料遷移的方法-硬體不同如何遷移資料伺服器
- 遷移資料庫資料考慮問題資料庫
- Oracle資料庫(資料泵)遷移方案(上)Oracle資料庫
- Oracle資料庫(資料泵)遷移方案(下)Oracle資料庫
- 運維效率之資料遷移自動化運維
- 達夢遷移工具之MySQL資料庫遷移到達夢MySql資料庫
- linux mysql資料庫遷移LinuxMySql資料庫
- django資料庫遷移-15Django資料庫
- geoserver資料儲存遷移Server
- 用rman遷移資料庫資料庫
- 資料庫遷移手記資料庫
- 遷移MySQL 5.7資料庫MySql資料庫
- 資料庫遷移神器——Flyway資料庫
- Redis migrate 資料遷移工具Redis
- dm資料庫遷移命令資料庫
- SQL Server資料庫遷移SQLServer資料庫
- SAP資料遷移需要多久?
- 資料遷移方案選擇
- AWS RDS Oracle資料遷移Oracle