Data Pump的體系結構

2021-05-26 08:57:29 字數 1343 閱讀 6097

data pump是乙個伺服器端實用程式。我們可以從某個使用者程序(使用sql*plus或者通過enterprise manager)啟動data pump,但是其所有工作都是由伺服器程序完成。因為執行在伺服器上的data pump程序直接訪問資料檔案與sga(不必通過會話進行訪問),所以與過去的export/import實用程式相比,使用data pump能夠能夠顯著地改善效能。此外,我們也可以先啟動乙個data pump作業,接著分離這個作業並使其在後台執行。隨後,為了監視這個作業的進度,我們隨時可以重新連線該作業。

許多程序都涉及乙個data pump作業,兩個佇列、若干檔案以及乙個表。接下來,我們首先接受這些程序。

對於unix系統來說,使用者程序位expdp和impdp;對於windows系統來說,使用者程序位exp.exe和impdp.exe。這些使用者程序使用者程序用於啟動、控制和監視data pumpe作業。此外還存在乙個enterprise manager介面,我們將在後面部分對個介面進行討論。expdp或impdp使用者程序通過某個普通的伺服器程序建立乙個針對指定資料庫的會話。這個會話隨後可以發出控制和監視data pump作業的命令。啟動乙個data pump作業時,至少會啟動下列兩個程序:乙個data pump master程序(dmnn),乙個或多個工作程序(命名dwnn)。如果多個data pump作業同時執行,那麼每個作業都具有自己的dmnn程序以及自己的dwnn程序。正如名稱的含義一樣,主程序控制工作程序。如果啟用並行技術,那麼每個dwnn程序都可以使用兩個或多個並行執行伺服器(名稱為pnnn)。

我們需要為每個data pump作業建立下列兩個佇列:乙個控制佇列和乙個狀態佇列。dmnn程序會分割所執行的工作,並且將組成指定作業的不同任務放置在控制佇列中。工作程序獲取並執行這些任務,同時可能利用並執行伺服器。控制佇列在一次遞送(deliver-exactly-once)模型上運作,也就是說dmnn程序將訊息放入佇列,而獲取訊息的工作程序則從佇列中刪除這些訊息。狀態佇列用於完成監視功能,dmnn程序在這個佇列中放入描述作業狀態的訊息。狀態佇列在發布(publish-and-subscribe)模型上運作,也就是說具有適當許可權的任何會話可以通過查詢這個佇列來監視指定作業的進度。

data pump生成的檔案具有下列三種形式:sql檔案、轉儲檔案以及日誌檔案。sql檔案是描述指定作業所包含物件的若干ddl語句。我們可以將不包含任何資料的sql檔案生成為可能針對檔案編制目的而從資料庫中方便獲取資訊的形式,也可以將其生成位能夠重新建立資料庫的一組指令碼。轉儲檔案包含匯出的資料,這些資料使用xml標記進行格式話。使用xml意味著:為了描述資料,轉儲檔案中存在相當大的系統開銷。與hr示例模式總regions表相似的乙個小型表會產生94kb的轉儲檔案,但是對於這種很小的表來說,系統開銷可能過大,因此轉儲檔案對於更大的表來說毫無價值。日誌檔案則描述了指定作業執行的歷史。

mysql 體系結構 了解MySQL體系結構

mysql 資料庫體系結構圖 mysql 由以下幾部分組成 1 connectors 不同語言中與 sql 的互動 show variables like connection variable name value character set connection utf8 collation c...

簡述mysql體系結構 MySQL體系結構

一 mysql登入方式 一 tcp ip方式 遠端 本地 mysql uroot poldboy123 h 10.0.0.51 p3306 二 socket方式 mysql uroot poldboy123 s tmp mysql.sock 二 例項介紹 例項 mysqld後台守護程序 主線程 ma...

軟體體系結構 軟體體系結構概論

開學到現在我已經上了三節軟體體系結構的課程,現在我想把自己學到的整理歸納一下。此篇隨筆對應於教材軟體體系結構概論一章。首先談一談我剛接觸這門課程是的感受。那就是 我靠 軟體也會有體系結構?以前只學過資料結構 演算法 基本的程式語言,覺得程式設計無非就是使用者給我需求,我便按照需求來程式設計序就好,從...