exp导出出现EXP-00091异常

一.一个9I的库EXP时出现EXP-00091错误

[oracle@localhost tmp]$ exp "'/ as sysdba'" tables=testxuchao.TAB_XN_PY_DICT \ 
> file=/tmp/xifenfei.dmp log=/tmp/xifenfei.log 
  
Export: Release 9.2.0.4.0 - Production on Mon Jan 16 16:02:37 2012 
  
Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved. 
  
Connected to: Oracle9i Enterprise Edition Release 9.2.0.4.0 - Production 
With the Partitioning, OLAP and Oracle Data Mining options 
JServer Release 9.2.0.4.0 - Production 
Export done in US7ASCII character set and AL16UTF16 NCHAR character set
server uses ZHS16GBK character set (possible charset conversion) 
  
About to export specified tables via Conventional Path ... 
Current user changed to TESTXUCHAO 
. . exporting table                 TAB_XN_PY_DICT      25433 rows exported 
EXP-00091: Exporting questionable statistics. 
EXP-00091: Exporting questionable statistics. 
Export terminated successfully with warnings.

分析:当环境变量和数据库的不一致,在导出统计信息时候,会报EXP-00091错误。
二.查看NLS相关参数

[oracle@localhost tmp]$ echo $NLS_LANG 
AMERICAN 
  
SQL>  col value for a30 
SQL>  select parameter,value from nls_database_parameters 
   2  where parameter like '%CHARACTERSET%';  
  
PARAMETER                      VALUE 
------------------------------ ------------------------------ 
NLS_CHARACTERSET               ZHS16GBK 
NLS_NCHAR_CHARACTERSET         AL16UTF16

三.解决方法
1.设置NLS_LANG为NLS_CHARACTERSET

[oracle@localhost tmp]export NLS_LANG=american_america.ZHS16GBK 
[oracle@localhost tmp]$ exp "'/ as sysdba'" tables=testxuchao.TAB_XN_PY_DICT \ 
> file=/tmp/xifenfei.dmp log=/tmp/xifenfei.log 
  
Export: Release 9.2.0.4.0 - Production on Mon Jan 16 16:08:10 2012 
  
Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved. 
  
Connected to: Oracle9i Enterprise Edition Release 9.2.0.4.0 - Production 
With the Partitioning, OLAP and Oracle Data Mining options 
JServer Release 9.2.0.4.0 - Production 
Export done in ZHS16GBK character set and AL16UTF16 NCHAR character set
  
About to export specified tables via Conventional Path ... 
Current user changed to TESTXUCHAO 
. . exporting table                 TAB_XN_PY_DICT      25433 rows exported 
Export terminated successfully without warnings.

2.使用statistics=none

[oracle@localhost tmp]$ exp "'/ as sysdba'" tables=testxuchao.TAB_XN_PY_DICT \ 
> file=/tmp/xifenfei.dmp log=/tmp/xifenfei.log  statistics=none 
  
Export: Release 9.2.0.4.0 - Production on Mon Jan 16 16:08:53 2012 
  
Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved. 
  
Connected to: Oracle9i Enterprise Edition Release 9.2.0.4.0 - Production 
With the Partitioning, OLAP and Oracle Data Mining options 
JServer Release 9.2.0.4.0 - Production 
Export done in US7ASCII character set and AL16UTF16 NCHAR character set
server uses ZHS16GBK character set (possible charset conversion) 
  
About to export specified tables via Conventional Path ... 
Current user changed to TESTXUCHAO 
. . exporting table                 TAB_XN_PY_DICT      25433 rows exported 

注意:这个问题主要是出现在低数据库版本9I 的EXP/IMP上,从ORACLE 10G开始,EXPDP/IMPDP可以自动转换字符集和环境变量,当然,如果从高版本导入数据至低版本,如11G导入10G,EXPDP/IMPDP这种方式仍需加入version参数进行转换。