1. 程式人生 > >數據泵---EXPDP

數據泵---EXPDP

運行 通過 example xxxxxx 信息 mat imp -- 進入

EXPDP/IMPDP只能在數據庫服務器段運行

特點:

采用路徑上載和直接路徑裝入技術,提高了執行效率

可以在數據庫服務器端多線程並行執行大量數據的導入與導出

可以使用DBMS_DATAPUMP PL/SQL API建立、檢測和調整數據庫導出、導入任務

數據泵技術具有重新啟動作業的能力

註意:EXPDP實用程序與EXP實用程序相互之間不相容

創建目錄對象

使用CREATE DIRECTORY語句創建目錄對象

create or replace directory dumpdir as 'xxxxxx'

使用GRANT語句為用戶授予目錄對象讀寫權限。

grant read,write on directory to hr;

可以查詢數據字典視圖DBA_DIRECTORIES查看數據庫所有的目錄對象

select * from DBA_DIRECTORIES;


導出模式

全庫導出模式

通過FULL指定,導出整個數據庫。用戶需要具有DATAPUMP_EXP_FULL_DATABASE 角色

模式導出模式--------將一個或多個模式中的對象元數據幾行數據導出到轉儲文件中

通過參數SCHEMAS指定,是默認的導出模式。導出指定模式中的所有對象

有DATAPUMP_EXP_FULL_DATABASE 角色------可以指定要進行導出的角色列表,包括導出模式的定義以及模式具有的系統權限

沒有DATAPUMP_EXP_FULL_DATABASE 角色--------只能導出用戶對應的模式。不能導出SYS模式的對象,如果沒有在導出模式中明確指出,參照的模式對象不會被導出

表導出模式

通過參數TABLES指定,導出指定模式中指定的所有表,分區,及其依賴對象。

如果指定了參數TRANSPORTABLE=ALWAYS,則只有對象元數據被導出。

如果要導出的表不屬於當前用戶模式,需要具有DATAPUMP_EXP_FULL_DATABASE角色。

註意:表中的列的數據類型定義不會被導出,因此需要在目標數據庫中也具有列的數據類型的定義。

參照模式中的對象不會被導出。


表空間導出模式---------是將一個或多個表空間的所有表及其依賴對象的元數據及行數據導出到轉儲文件

通過參數TABLESPACES指定,導出指定表空間中所有表以及其依賴對象的元數據和行數據


傳輸表空間導出模式

通過參數TRANSPORT_TABLESPACES指定,導出指定表空間中所有表及其依賴對象的元數據

表空間包含的數據文件需要單獨導出進行復制。

傳輸表空間導入的時候需要導入包含表空間元數據的轉儲文件,並指定相應的數據文件。

表空間傳輸模式的導出一旦停止就無法重新開始,而且不能並行進行表空間傳輸模式的導出。

傳輸表空間的導出模式不支持加密列的導出。

不能將導出的傳輸表空間導入低版本的數據中。


命令參數----可以使用expdp help=y 獲得,太多了不想枚舉



交互命令
	Ctrl+C組合鍵進入交互式命令模式

	常用
		add_file
		exit_client
		filesize
		help
		kill_job
		parallel
		start_job
		status
		stop_job
示例 1
	導出hr模式下employees表和departments表,
	轉儲文件為emp_dept.dmp ,
	日誌文件名稱emp_dept.log,
	作業名稱為emp_dept_job,
	導出操作啟動3個進程
	(可以使用query參數設置導出條件,知道出符合條件的行與列數據)
expdp hr/hrdirectory=dumpdir tables=employees,departments dumpfile=emp_dept.dmp logfile=emp_dept.log jobname=emp_dept_job parallel=3

示例 2
	導出hr.employees表中部門號大於50且工資大於7000元的員工信息
expdp hr/hr directory=dumpdir dumpfile=exp2.dmp tables=employees nologfile=y query='employees:"where department>50 and salary>7000"'

示例 3
	在導出hr.employees,hr.departments,hr.locations 數據之前估計所需空間的大小
expdp hr/hr directory=dumpdir estimate_only=yes tables=employees,departments,locations logfile=estimate.log

示例 4 	
	導出hr模式下的所有對象的元書庫以及行數據
expdp hr/hr directory=dumpdir dumpfile=hr.dmp logfile=hr.log schemas=hr job_name=exp_hr_schema

示例 5 
	導出example,users表空間中的所有表及其依賴對象的元數據和行數據
expdp hr/hr directory=dumpdir dumpfile=tsp.dmp tablespaces=example,users

示例 6
	導出example,users表空間中所有元數據
expdp hr/hr directory=dumpdir dumpfile=tts.dmp transport_tablespaces=example,users transport_full_check=y

示例 7
	將當前數據全部導出,不寫日誌文件
expdp hr/hr directory=dumpdir dumpfile=expfull.dmp  full=yes nologfile=yes



數據泵---EXPDP