Oracle_1:oracle數據庫導入導出之imp,exp,impdp,expdp等工具的使用

在進行數據導入導出的時候,總是會碰到 一些問題。
比如空表無法導出,中文亂碼這些,日常工作中用的又比較多,不想再忍了,所以來總結一下。
1、查看數據庫編碼
SQL> select userenv(‘language’) from dual;
USERENV(‘LANGUAGE’)
————————————————————
SIMPLIFIED CHINESE_CHINA.ZHS16GBK

2、查看客戶端編碼並設置
windows:
set NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK

linux:
查看(env|grep NLS_LANG)
如果以上命令是空白或者和oracle的不相同,執行命令
export NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK

確保客戶端和服務器上字符集一致,這樣導出的數據文件纔不會出現中文亂碼。

3、導出導入工具imp,exp

exp username/pwd@ip:1521/orcl file='E:\back.dmp' log='E:\back.log' full=y


imp username/pwd file='/db/oracle/oradata/back.dmp' log='/db/oracle/oradata/back.log' ignore=y

備註:導入和導出時均需要讓客戶端與服務器的編碼保持一致

用這個工具,會發現空表不能導出,那接着看!
4、導出導入工具impdp,expdp

首先還是要設置字符集

SQL>select * from dba_directories;

SQL>create directory dpdata as '/opt';

grant read,write on directory dpdat to username;

expdp username/pwd schemas=username dumpfile=back.dmp DIRECTORY=dpdata logfile=back.log full=y version=11;

impdp username/pwd dumpfile=back.dmp DIRECTORY=dpdata logfile=back.log full=y version=11;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章