导出时会出现例如下面的错误
C:\Users\Administrator>exp bcacc/shark@maliandao file='d:\tf_cdr.dmp' tables=t
f_cdr
Export: Release 10.2.0.1.0 - Production on 星期四 5月 17 12:02:27 2012
Copyright (c) 1982, 2005, Oracle. All rights reserved.
连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Produc
tion
With the Partitioning, Real Application Clusters, OLAP, Data Mining
and Real Application Testing options
已导出 ZHS16GBK 字符集和 UTF8 NCHAR 字符集
服务器使用 AL32UTF8 字符集 (可能的字符集转换)
即将导出指定的表通过常规路径...
. . 正在导出表 TF_CDR导出了 6640 行
EXP-00091: 正在导出有问题的统计信息。
EXP-00091: 正在导出有问题的统计信息。
EXP-00091: 正在导出有问题的统计信息。
EXP-00091: 正在导出有问题的统计信息。
EXP-00091: 正在导出有问题的统计信息。
EXP-00091: 正在导出有问题的统计信息。
EXP-00091: 正在导出有问题的统计信息。
EXP-00091: 正在导出有问题的统计信息。
导出成功终止, 但出现警告。
在我们做exp的过程中可能经常会遇到EXP-00091: Exporting questionable statistics.这样的EXP信息,其实它就是exp的error message,它产生的原因是因为我们exp工具所在的环境变量中的NLS_LANG与DB中的NLS_CHARACTERSET不一致。
⑴ 我们来查看DB中的NLS_CHARACTERSET的值(提供两种方法):
- sys@CCDB> select * from nls_database_parameters t where t.parameter='NLS_CHARACTERSET';
- PARAMETER VALUE
- ------------------------- ---------------
- NLS_CHARACTERSET AL32UTF8
- 或者
- sys@CCDB> select * from v$nls_parameters where parameter='NLS_CHARACTERSET';
- PARAMETER VALUE
- ------------------------- ---------------
- NLS_CHARACTERSET AL32UTF8
⑵ 查看环境变量中的NLS_LANG:
[oracle@MWSG1: ~]$echo $NLS_LANG
AMERICAN_AMERICA.ZHS16CGB231280 --果然与DB中NLS_CHARACTERSET=AL32UTF8不同。
⑶ 根据⑴查出的NLS_CHARACTERSET(AL32UTF8)来设定exp的环境变量:
WINNT> set NLS_LANG=AMERICAN_AMERICA.AL32UTF8
[oracle@MWSG1: ~]$export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
[oracle@MWSG1: ~]$echo $NLS_LANG
AMERICAN_AMERICA.AL32UTF8 --设置与DB中NLS_CHARACTERSET=AL32UTF8相同。
⑷ 再来EXP导出数据 查看log中是否还有EXP-00091报错?
. . exporting table FRIEND
...........................................................................
..............................................
1216253 rows exported
. . exporting table FRIEND_GRP
128 rows exported
Export terminated successfully without warnings. --成功导出且没警告。
EXP-00091问题解决了!