由於在oracle11g之后的某些版本中,采用exp方式導出數據會導致空表被漏掉,解決辦法分為兩種:
一、對空表進行插入操作,然后再刪除數據。
二、采用數據泵的方式導出。
本文介紹第二種方式。
導出:
1、從cmd中以dba權限登錄數據庫:sqlplus system/密碼@orcl as sysdba;
2、創建目錄: Create directory TEST as 'd:\test';
3、授權:Grant read,write on directory TEST to yxf;
4、對應第二步所創建的目錄,在數據庫服務端的d盤新建文件夾test;
5、退出數據庫登錄:quit;
6、導出:
Ø 單個用戶方案導出
Expdp [用戶名]/[密碼]@[主機字符竄] schemas=[用戶名] directory=TEST dumpfile=X.dmp logfile=X.log
Ø 數據庫全庫導出
Expdp [用戶名]/[密碼]@[主機字符竄] full=y directory=TEST dumpfile=X.dmp logfile=X.log
執行完以上兩步后,即可在d://test文件夾下看到導出的數據文件X.dmp,以及導出日志X.log
導入:與導出的前面5步相同
1、從cmd中以dba權限登錄數據庫:sqlplus system/密碼@orcl as sysdba;
2、創建目錄: Create directory TEST as 'd:\test';
3、授權:Grant read,write on directory TEST to yxf;
4、對應第二步所創建的目錄,在數據庫服務端的d盤新建文件夾test;
5、退出數據庫登錄:quit;
6、將待導入的數據文件放在導入數據庫服務端的d盤下test文件夾中;
7、導入:
Ø 單個用戶方案導入
impdp [用戶名]/[密碼]@[主機字符竄] schemas=[用戶名] directory=TEST dumpfile=X.dmp logfile=X.log ignore=y
Ø 數據庫全庫導入
impdp [用戶名]/[密碼]@[主機字符竄] full=y directory=TEST dumpfile=X.dmp logfile=X.log ignore=y
注意:導入數據時,directory填寫待導入數據庫的目錄,dumpfile填寫的是待導入文件名,logfile為指定導入的日志文件