用exp导出数据时出现如下报错信息:
1)查询数据库的字符集
select userenv('language') from dual;
2)方案一:
设置Linux操作系统的NLS_LANG环境变量
[oracle@node1]$ $export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
或是修改oracle用户下环境变量.bash_profile文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
# .bash_profile
# Get the aliases and functions
if
[ -f ~/.bashrc ];
then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME
/bin
export
PATH
TMP=
/tmp
;
export
TMP
TMPDIR=$TMP;
export
TMPDIR
ORACLE_BASE=
/opt/oracle
;
export
ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE
/product/10
.2.0
/db_1
;
export
ORACLE_HOME
ORACLE_SID=report;
export
ORACLE_SID
LD_LIBRARY_PATH=$ORACLE_HOME
/lib
:
/lib
:
/usr/lib
;
export
LD_LIBRARY_PATH
PATH=$ORACLE_HOME
/bin
:$PATH;
export
PATH
LANG=en_US.utf8;
export
LANG
NLS_LANG=AMERICAN_AMERICA.ZHS16GBK;
export
NLS_LANG
|
Window系统的环境变量的修改方法是:
C:\>set NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
方案二:
统计信息字段statistics设置为none。
exp user/pwd@db file=/home/a.dmp log=/home/a.log statistics=none
不再报错。但这种方式相当于未导出那些因字符集不一致错误的统计信息,导入自然也不会有这部分统计信息,如果需要,那么只能再重新收集统计信息。
因此针对这种exp报EXP-00091的错误,可以有上述两种方式workaround,但推荐的肯定还是方案1,导出的信息最全面。
本文转自ling118 51CTO博客,原文链接:http://blog.51cto.com/meiling/1721613,如需转载请自行联系原作者