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;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章