10G新特性筆記之資料泵技術

empo007發表於2007-11-12
與EXP/IMP是客戶端應用程式不同,資料泵是伺服器端應用程式[@more@]

1、體系結構
Direct Path API (DPAPI):10G因為DPAPI的使用,減少了資料轉換和分析
External Table:資料泵使用oracle datapump訪問驅動處理External Table資料
DBMS_DATAPUMP包用於以DPAPI的方式處理資料匯入匯出
expdp/impdp用來呼叫DBMS_DATAPUMP
DBMS_METADATA用於處理METALDATA資料的匯入匯出
2、機制
expdp可以將資料匯出到一個檔案也可以透過DBLINK把資料匯出到一個資料庫中,impdp則相反
資料泵的核心是master table (MT),任何與資料泵作業相關的JOB都是由MT管理的。
當發起一個EXPDP/IMPDP程式,影子程式就被建立了,影子程式接收到DBMS_DATAPUMP.OPEN請求,就建立資料泵JOB,該JOB包含MT的建立,用於不同程式間通訊的AQ的建立以及主控程式的建立。當JOB執行的時候,影子程式不斷獲取客戶端狀態資訊,客戶端DETACH,影子程式也消失。
主控程式(MCP)控制資料泵的執行,它管理JOB的狀態、JOB的描述、JOB的重新啟動等。主控程式名為DMnn.主控程式按照parallel引數啟動一定數目的工作程式,工作程式名為DWnn.
3、優點
a.有兩種資料訪問方式:直接路徑方式和外部表方式,當無法使用直接路徑方式,會自動選擇外部表方式。
b.客戶端可以DETACH和REATTACH正在執行的資料泵JOB
c.可以重新啟動資料泵JOB
d.細粒度資料物件篩選(引數EXCLUDE、INCLUDE和CONTENT)
e.可以指定version引數,用於生成和那個版本相容的DUMP FILE
f.企業版可以進行並行操作(引數PARALLEL)
g.可以估計空間消耗(引數ESTIMATE_ONLY)
h.可以透過DBLINK,直接匯入到另一個資料庫中
i.可以改變資料檔名(引數REMAP_DATAFILE),schemas名(引數REMAP_SCHEMA)和表空間名(引數REMAP_TABLESPACE)
4、檔案存放位置
三種匯出檔案:DUMP檔案,log檔案和SQL檔案
不支援絕對路徑
需要使用資料庫目錄物件,可以透過DIRECTORY:FILENAME方式,也可以透過指定DIRECTORY引數,否則將會使用DATA_PUMP_DIR環境變數
5、DUMP FILE
支援多個檔名(以逗號分隔),
或者%U模板
6、TRANSFORM引數
該引數可以指定是否匯出或者匯入表或者索引的儲存選項
7、幾個檢視
V$SESSION_LONGOPS
DBA_DATAPUMP_JOBS
DBA_DATAPUMP_SESSIONS
V$SESSION
8、如何ATTACH
expdp system/manager ATTACH = EXP_TS1
ATTACH後可以執行STOP_JOB、start_job和KILL_JOB
9、外部表
外部表的資料不能DML
可以透過parrallel和location引數指定並行度(一個位置並行度為1)
可以透過下面的語句建立外部表:
CREATE TABLE emp_ext
(first_name, last_name, department_name)
ORGANIZATION EXTERNAL
(
TYPE ORACLE_DATAPUMP
DEFAULT DIRECTORY ext_dir
LOCATION (’emp1.exp’,’emp2.exp’,’emp3.exp’)
)
PARALLEL
AS
SELECT......
10、外部表的Projected Columns
如果外部表的projected column屬性為REFERENCED,那麼對錶的查詢將只基於某些列的有效,如果屬性為all,那麼對錶的查詢將基於所有列的有效

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/85922/viewspace-982006/,如需轉載,請註明出處,否則將追究法律責任。

相關文章