导出前先查看系统的NLS_LANG设置:
echo $NLS_LANG
AMERICAN_AMERICA.ZHS16CGB231280
select userenv('language') from dual;
AMERICAN_AMERICA.ZHS16GBK
这两个值不同会报错:
EXP-00091: Exporting questionable statistics
问题产生的原因:
linux下用户环境变量语言集和oracle数据库中的环境变量语言集不同。
解决办法:
将linux下用户环境变量语言集和数据库设置成一样。
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
一、导出
有两种使用exp的方式:
1、交互式
执行exp
Username: //用户名
Password: //密码
Enter array fetch buffer size: 4096 > //导出缓冲区大小
Export file: expdat.dmp > //导出文件名称
(2)U(sers), or (3)T(ables): (2)U > //导出的单位是用户还是表
Export grants (yes/no): yes > //是否导出授权
Export table data (yes/no): yes > //是否导出表数据
Compress extents (yes/no): yes > no //是否压缩,这里不压缩
后面就刷刷的开始导出了。
2、一条命令方式
exp userid=nlcmp/nlcmp@nlcmp file=./20150305nlcmp.dmp log=./1.txt
如果加了full=y会把一些系统表也导出来。
二、导入
同样设置环境变量NLS_LANG和导出客户端的字符集一样。
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
使用imp命令导入:
1、交互式
执行imp
Username: //用户名
Password: //密码
Import file: expdat.dmp > //导入文件位置
Enter insert buffer size (minimum is 8192) 30720> //导入缓冲区大小,默认
List contents of import file only (yes/no): no > //是否仅仅列出数据不导入,默认
Ignore create error due to object existence (yes/no): no > //如果对象已经存在,是否忽略创建的错误,默认
Import grants (yes/no): yes > //是否导入权限,默认
Import table data (yes/no): yes > //是否导入表数据,默认
Import entire export file (yes/no): no > //是否导入整个文件,这里选yes
随后就刷刷的开始导入数据。
2、一条命令方式
imp userid=wangyi/wangyi@orcl full=y file=/tmp/20150305nlcmp.dmp log=/tmp/imp.txt
3、如果导入时提示
1)
IMP-00013: only a DBA can import a file exported by another DBA
IMP-00000: Import terminated unsuccessfully
需要赋予imp_full_database权限:
grant imp_full_database to wangyi;
2)
Warning: the objects were exported by NLCMP, not by you
表示导出的用户和导入的用户不一致,可能用户权限也不一样,所以有警告信息,最好用户要一样。
3)
import done in ZHS16GBK character set and AL16UTF16 NCHAR character set
export server uses UTF8 NCHAR character set (possible ncharset conversion)
是因为导出端国家字符集为UTF8,导入端国家字符集是AL16UTF16,不一样,oracle会自己做转换。
三、导入导出原则
1、在导出时,oracle会把数据从数据库字符集转换成客户端字符集,如果两者不一样,oracle会做数据转换。所以导出时exp会检查导出数据库字符集和客户端字符集是否一致,不一致会有警告信息。
2、在导入时,oracle将导入数据的字符集先转换为导入客户端字符集,然后存入数据库时再转换成数据库字符集。
3、小结
导出和导入的规则是:
导出数据库字符集和导入数据库字符集,必须一样或者是子集和超集的关系。
导出客户端字符集和导入客户端字符集强制设置为和当前数据库字符集一致。
创造与魔法 安卓版v1.0.0750
创造与魔法是一款开放世界手游,在游戏中玩家可探索这个奇妙的世
创造与魔法修改版 最新版v1.0.0750
创造与魔法无限点券版是款探索冒险游戏,该款游戏的操作还是蛮自
战争与文明官方版本 安卓版v1.7.16
战争与文明是一款由上海邮通科技有限公司开发的战争策略游戏,这
迷你世界0元领皮肤无限迷你币版 最新安卓版v1.43.0
迷你世界0元购买皮肤版是这款开放沙盒冒险建造游戏的特殊破解版
创造与魔法无限经验版 安卓版v1.0.0750
创造与魔法无限经验版是款可以改造环境,整个游戏的自由度还是蛮