中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

數據泵EXPDP導出工具和IMPDP導入工具的使用

發布時間:2020-06-19 17:38:13 來源:網絡 閱讀:1752 作者:yemingtian 欄目:數據庫

數據泵EXPDP導出工具和IMPDP導入工具的使用 


一、EXPDP和IMPDP使用說明

Oracle Database 10g引入了最新的數據泵(Data Dump)技術,數據泵導出導入(EXPDP和IMPDP)的作用

1)實現邏輯備份和邏輯恢復。

2)在數據庫用戶之間移動對象。

3)在數據庫之間移動對象。

4)實現表空間搬移。


二、數據泵導出導入與傳統導出導入的區別

在10g之前,傳統的導出和導入分別使用EXP工具和IMP工具,從10g開始,不僅保留了原有的EXP和IMP工具,還提供了數據泵導出導入工具EXPDP和IMPDP。使用EXPDP和IMPDP時應該注意的事項:

1)EXP和IMP是客戶端工具程序,它們既可以在可以客戶端使用,也可以在服務端使用。

2)EXPDP和IMPDP是服務端的工具程序,他們只能在ORACLE服務端使用,不能在客戶端使用。

3)IMP只適用于EXP導出文件,不適用于EXPDP導出文件;IMPDP只適用于EXPDP導出文件,而不適用于EXP導出文件。

4)數據泵導出包括按表導出,按用戶導出,按表空間導出,按數據庫導出4種方式。


三、EXPDP/IMPDP參數說明

可通過expdp/impdp help=y查看:

$ expdp help=y
$ impdp help=y


四、EXPDP實戰案例

使用EXPDP工具時,其轉儲文件只能被存放在DIRECTORY對象對應的OS目錄中,而不能直接指定轉儲文件所在的OS目錄.因此,使用EXPDP工具時,必須首先建立DIRECTORY對象.并且需要為數據庫用戶授予使用DIRECTORY對象權限。

操作步驟如下:

a)命令行打開sqlplus

sqlplus /nolog
conn / as sysdba

b)創建邏輯目錄,該命令不會在操作系統創建真正的目錄(最好手工先建好),最好以administrator等管理員創建。

SQL>create directory dir as 'd:\dump'; --dir名稱可以隨便命名 需要手工創建d:\dump

c)查看管理理員目錄(同時查看操作系統中是否存在,因為Oracle并不關心該目錄是否存在,如果不存在,則出錯)

SQL>select * from dba_directories;

d)給scott用戶賦予在指定目錄的操作權限,最好以sys,system等管理員賦予。

SQL>grant read,write on directory dir to scott;

e)在unix下要注意directory目錄的讀寫權限問題。

更改directory目錄文件夾的權限:chown -R oracle:dba /dump_dir


1)按表導出表

$ expdp scott/tiger directory=dump_dir DUMPFILE=dept.dmp TABLES=dept;

多表導出用逗號分隔:

$ expdp scott/tiger tables=emp,dept dumpfile=expdp.dmp directory=dump_dir;

 

2)按用戶導出

$ expdp scott/tiger directory=dump_dir dumpfile=schema.dmp logfile=schema.log schemas=system;

 

3)按表空間導出

$ expdp scott/tiger directory=dump_dir dumpfile=tb.dmp logfile=tb.log tablespaces=users

 

4)全庫導出

$ expdp system/manager directory=dump_dir dumpfile=full.dmp full=Y;
$ expdp scott/tiger directory=dump_dir dumpfile=full.dmp full=Y;

注:提示scott用戶沒有相應的權限,給scott相應的權限或使用system來做全庫導出 。

SQL> grant exp_full_database to scott;
Grant succeeded.

 

5)并行進程parallel導出

$ expdp scott/tiger@orcl directory=dump_dir dumpfile=scott3.dmp parallel=40 job_name=scott3;

 

6)按查詢條件導

$ expdp scott/tiger directory=dump_dir dumpfile=expdp.dmp Tables=emp query='WHERE deptno=20';

 

六、IMPDP 實戰案例

1)按表導入

刪除用戶scott的emp表,在full.dmp中導入emp到用戶scott

$ impdp backup/backup1 directory=dump_dir dumpfile=full.dmp tables=scott.emp remap_schema=scott:scott

scott.test表導入的SYSTEM用戶下

$ impdp backup/backup1 directory=dump_dir dumpfile=full.dmp tables=scott.test remap_schema=scott:system

注意,如果要將表導入到其他方案中,必須指定REMAP SCHEMA選項

 

2)導到指定用戶下

按用戶導入

impdp scott/tiger@orcl DIRECTORY=dump_dir DUMPFILE=expdp.dmp SCHEMAS=scott logfile=impdp.log;

導入時將scott用戶所屬對象轉換為system用戶

$ impdp system/manager DIRECTORY=dump_dir DUMPFILE=schema.dmp SCHEMAS=scott REMAP_SCHEMA=scott:system;

 

3)按表空間導入

$ impdp system/manager DIRECTORY=dump_dir DUMPFILE=tablespace.dmp TABLESPACES=user01

4)全庫導入

$ impdp system/manager DIRECTORY=dump_dir DUMPFILE=full.dmp FULL=y

5)expdp/impdp 不同用戶,不同表空間的使用

假設a用戶的默認表空間是a,導出用戶a所有數據:

SQL> conn / as sysdba
SQL> create directory dir as '/home/oracle/';
SQL> grant read,write on directory dir to system;

$ expdp system/oracle directory=dir dumpfile=data.dmp schemas=a logfile=data.log

impdp導入a用戶所有數據到b,并且轉換表空間a為b:

SQL> conn sys / as sysdba
SQL> create directory dir as '/home/oracle/';
SQL> grant read,write on directory dir to system;
$ impdp system/oracle directory=dir dumpfile=data.dmp remap_tablespace=a:b remap_schema=a:b logfile=data.log

解釋:

remap_schema=a:b 將數據的schema從a轉換為b

remap_tablespace=a:b 將數據的tablespace從a轉換為b

注意:

如果oracle是10g,要加參數EXCLUDE=TABLE_STATISTICS選項將table_statistics對象過濾。否則會出現數據泵導入中table_statistics長時間等待。

總結:

執行impdp時無需創建b用戶,在導入時會自動創建并改名用戶a為b(擁有a的所有權限等),自動設置默認表空間為轉換后的表空間b。如果有多個表空間需要轉換,則使用多個remap_tablespace=源表空間:目標表空間。此種方法只限于支持oracle10g以上版本。

 

6)在全庫備份文件中導入一張表到數據庫

$ impdp backup/backup1 directory=PUMP_DIR dumpfile=expdp.dmp include=table:\"=\'T1\'\"  logfile=impdp.log table_exists_action=replace;

 

7)在全庫備份文件中導入一張表并轉換表空間和owner

$impdp backup/backup1 directory=dump_dir dumpfile=expdp.dmp tables=t1 REMAP_TABLESPACE=DATA:USERS remap_schema=scott:system table_exists_action=replace;

 

8)通過dblink遠程導入

$ impdp system/admin directory=mydir network_link=dblink16_zk schemas=lgb_zk remap_schema=lgb_zk:lgb_zk logfile=lgbzk1018.log PARALLEL=2

 

9)通過dblink指定參數文件遠程導入

參數說明

NETWORK_LINK=dblink

schemas=源用戶

remap_schema=源用戶:目標用戶

PARALLEL=2

EXCLUDE=TABLE:"IN('A','B','C','D')"  排除的表

通過參數文件遠程導入

vim mypar.par
network_link=dblink16
schemas=zs2new
remap_schema=zs2new:zs2new
EXCLUDE=TABLE:"IN('A','B','C','D')"
PARALLEL=2
$ impdp system/admin directory=mydir parfile=h:\dump\mypar.par;

 

 

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

兰溪市| 三江| 邹平县| 新巴尔虎右旗| 和政县| 刚察县| 香港| 简阳市| 桃江县| 瑞金市| 海宁市| 博乐市| 娱乐| 德州市| 县级市| 凭祥市| 桐柏县| 开远市| 元朗区| 铜梁县| 平武县| 会东县| 彰化市| 文化| 盐山县| 西青区| 故城县| 岫岩| 教育| 兴海县| 怀集县| 揭阳市| 赤峰市| 融水| 梁山县| 同江市| 房产| 遂平县| 会昌县| 曲靖市| 温州市|