欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Oracle-exp的时候出现的EXP-00091错误如何理解?

程序员文章站 2022-11-30 17:11:02
利用Oracle数据库嘛,难免都会导入导出,笔者就碰到一个问题,使用exp的时候,出了如下错误:EXP-00091Exporting questionable statistics.EXP-00091: 不審な統計をエクスポートしています。使用的exp/imp语句如下:exp S001/Password@TestDB_01 tables=T_S001_ATTACH query=\" WHERE substr\(attach_file_lst_upd_ymd,0,8\) ='20200.....

利用Oracle数据库嘛,难免都会导入导出,笔者就碰到一个问题,使用exp的时候,出了如下错误:

EXP-00091 Exporting questionable statistics.

EXP-00091: 不審な統計をエクスポートしています。

 

使用的exp/imp语句如下:

exp S001/Password@TestDB_01 tables=T_S001_ATTACH query=\" WHERE substr ( upd_ymd,0,8 )  ='20200713' \" file=/home/s001/data/T_S001_ATTACH_test_20200713_1 ;

imp S001/Password@TestDB_02 tables=T_S001_ATTACH file=/home/s001/data/T_S001_ATTACH_test_20200713_1.dmp fromuser=S001 touser=S001 ignore=Y;

 

然后解决这个错误的时候,大家的做法大概有两种,一种比较简单粗暴,你不是统计出错了嘛,那就别导出啦,

在exp中添加一个STATISTICS=NONE语句。

exp S001/Password@TestDB_01 tables=T_S001_ATTACH query=\" WHERE substr ( upd_ymd,0,8 )  ='20200713' \" file=/home/s001/data/T_S001_ATTACH_test_20200713_1 STATISTICS=NONE;

这样导出的时候,就不会报错啦。

 

毕竟这样怪怪的嘛,出错了你就不要了,紧急的时候也就罢了,那到底要不要紧呢?

首要要从这到底是个什么东西说起。

<统计信息是什么>

统计信息主要是描述数据库中表,索引的大小,规模,数据分布状况等的一类信息。比如,表的行数,块数,平均每行的大小,索引的leaf blocks,索引字段的行数,不同值的大小等,都属于统计信息。

<统计信息用来干什么>

用途我觉得可能比较广吧。比如用于CBO(基于代价的优化器模式)评估COST生成执行计划。所以统计信息不准确,可能会影响业务的执行效率。

<导出的时候不导出也没关系吗?>

这个大概是我们最关系的问题了。

其实统计数据是Oracle自己内部可以再生成的,所以原则上不导入也没关系,导入之后别忘了再生成一下。

统计信息生成语句:※表单位或schema单位

   execute dbms_stats.gather_table_stats(ownname=>'USERNAME',tabname=>'TABLE_NAME',cascade=>TRUE) 

  dbms_stats.gather_schema_stats(ownname => 'TEST',cascade => true)

并且,ORACLE会自动收集统计信息,当向表中插入/删除大量数据,数量量变化超过10%的时候系统会自动收集统计信息的。

我没有验证,imp的时候,岂止是10%,如果你是全表imp的话,那不就是100%?系统就自动帮你生成了吧?这个地方期待高手指摘啊。

 

还有一种做法,就是看这个错误的原因是什么,然后把修正一个,再导出,详细请参照下面的参考2.

大概就是说,错误的原因是数据库NLS_LANG(字符集)和系统环境变量NLS_LANG不一致,所以修改一个系统的NLS_LANG变量即可。

 

参考:

1,深入理解Oracle Statistic统计信息

https://www.cnblogs.com/princessd8251/articles/3568119.html

 

2,EXP-00091错误的说明和解决方法

https://blog.csdn.net/zyfromcq/article/details/84794740

 

3,TABLE_STATISTICS有什么用,impdp跳过以后有影响吗? 

http://www.itpub.net/thread-1473101-1-1.html

 

4,EXP-00091

https://www.shift-the-oracle.com/oerrs/exp-00091.html

本文地址:https://blog.csdn.net/shi_ly/article/details/107317279