使用exp导出报错EXP-00091

本人花费半年的时间总结的《Java面试指南》已拿腾讯等大厂offer,已开源在github ,欢迎star!

转载声明:转载请注明出处,本技术博客是本人原创文章

本文GitHub https://github.com/OUYANGSIHAI/JavaInterview 已收录,这是我花了6个月总结的一线大厂Java面试总结,本人已拿大厂offer,欢迎star

原文链接:blog.ouyangsihai.cn >> 使用exp导出报错EXP-00091

使用如下命令执行导出操作:


exp user/pwd@db file=/home/a.dmp log=/home/a.log

输出如下信息,其中包含一些EXP-00091的错误提示:


. . exporting table   T   0 rows exported
EXP-00091: Exporting questionable statistics.
EXP-00091: Exporting questionable statistics.
EXP-00091: Exporting questionable statistics.

但导出来的dump文件可用于导入。

看下官方对EXP-00091的介绍:

EXP-00091: Exporting questionable statistics.
 Cause: Export was able export statistics, but the statistics may not be usuable. The statistics are questionable because one or more of the following happened during export: a row error occurred, client character set or NCHARSET does not match with the server, a query clause was specified on export, only certain partitions or subpartitions were exported, or a fatal error occurred while processing a table.
 Action: To export non-questionable statistics, change the client character set or NCHARSET to match the server, export with no query clause, export complete tables. If desired, import parameters can be supplied so that only non-questionable statistics will be imported, and all questionable statistics will be recalculated.

大致意思是导出过程中,由于客户端字符集或NCHARSET参数和服务器端不一致,导致一些统计信息不可用。解决方案是可以导出不存在问题的统计信息,或者改变客户端字符集或NCHARSET参数。

实验:
方案1:
查询服务器端字符集:


SQL select userenv('language') from dual;USERENV('LANGUAGE') -------------------------------------------------------
AMERICAN_AMERICA.AL32UTF8

设置客户端字符集:


[oracle@Node]~export NLS_LANG=AMERICAN_AMERICA.AL32UTF8

执行导出命令:


[oracle@Node]~exp user/pwd@db file=/home/a.dmp log=/home/a.log

. . exporting table   T   0 rows exported

不再报错。

方案2:


exp user/pwd@db file=/home/a.dmp log=/home/a.log statistics=none

统计信息字段statistics设置为none。
执行导出命令:


[oracle@Node]~exp user/pwd@db file=/home/a.dmp log=/home/a.log

. . exporting table   T   0 rows exported

不再报错。但这种方式相当于未导出那些因字符集不一致错误的统计信息,导入自然也不会有这部分统计信息,如果需要,那么只能再重新收集统计信息。

因此针对这种exp报EXP-00091的错误,可以有上述两种方式workaround,但推荐的肯定还是方案1,导出的信息最全面。

如果您觉得此篇文章对您有帮助,欢迎关注微信公众号:bisal的个人杂货铺,您的支持是对我最大的鼓励!

使用exp导出报错EXP-00091
本人花费半年的时间总结的《Java面试指南》已拿腾讯等大厂offer,已开源在github ,欢迎star!

转载声明:转载请注明出处,本技术博客是本人原创文章

本文GitHub https://github.com/OUYANGSIHAI/JavaInterview 已收录,这是我花了6个月总结的一线大厂Java面试总结,本人已拿大厂offer,欢迎star

原文链接:blog.ouyangsihai.cn >> 使用exp导出报错EXP-00091


 上一篇
一个执行计划异常变更的案例 – 外传之SQL AWR 一个执行计划异常变更的案例 – 外传之SQL AWR
之前的几篇文章:《一个执行计划异常变更的案例 - 前传》《一个执行计划异常变更的案例 - 外传之绑定变量窥探》《一个执行计划异常变更的案例 - 外传之查看绑定变量值的几种方法》《一个执行计划异常变更的案例 - 外传之rolling inva
下一篇 
Oracle 12c CC安装部署攻略 (上) Oracle 12c CC安装部署攻略 (上)
整篇文章保存报错内存溢出,所以只能分为上下两部分发布了。 之前统一管理非生产数据库的Oracle 11g GC(Grid Co)环境所用虚机被破坏了,导致无法访问,干脆安装CC(Cloud Control)新环境,现在Oracle提供了12