exp,imp 产生错误数据46588.21 bug
今天在pub上看到一个问题,描述是这样的
导出脚本:
exp erk/erk@pen owner=erk buffer=5242880 file=d:\dddddd.dmp compress=n statistics=none feedback=10000 log=11111111.log
导入脚本:
imp erk/erk@orcle file=d:\dddddd.dmp log=11111111.log fromuser=erk touser=erk
问题:
导出的数据导入到其他9i数据库里出现部分数据字段原来数据为“0”,变成了 46588.21 ,字段类型 number(18,4)。其他一切正常。而且去掉buffer参数,一切变的正常
我网上要了一下原因,发现了这篇文章,记录一下,随是英文但是你也要硬着看,好文章呀
ALERT: EXPORT with large BUFFER can silently produce a dump file with corrupted data
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Versions Affected
~~~~~~~~~~~~~~~~~
Export Utility (EXP)
8.1.7.3
8.1.7.4
9.0.1.4
9.2.0.1
9.2.0.2
Please note: Versions 9.0.1.0 – 9.0.1.3 and 8.1.7.0 – 8.1.7.2 have not been tested but are expected
to be affected by this problem.
Platforms Affected
~~~~~~~~~~~~~~~~~~
GENERIC
Description
~~~~~~~~~~~
After the export (EXP) process, t e produced dump file may contain
corrupted data. See [BUG:2598387] WRONG DATA ON IMPORT AFTER EXPORT VIA CONVENTIONAL PATH
Likelihood of Occurrence
~~~~~~~~~~~~~~~~~~~~~~~~
Export with large BUFFER causing data corruption.
The problem could occur when the following formula is satisfied:
BUFFER_SIZE 65535
———– >= —–
ROW_LENGTH 2
Possible Symptoms
~~~~~~~~~~~~~~~~~
The problem causes incorrect data to be loaded in the database when a dump is imported.
The problem occurs silently and so there are no errors during the export.
Workaround
~~~~~~~~~~
Before export set the environment variable ORA_OCI_NO_OPTIMIZED_FETCH to 1.
E.g.:
UNIX csh:
setenv ORA_OCI_NO_OPTIMIZED_FETCH 1
UNIX sh,ksh,bash:
ORA_OCI_NO_OPTIMIZED_FETCH=1; export ORA_OCI_NO_OPTIMIZED_FETCH
Windows:
set ORA_OCI_NO_OPTIMIZED_FETCH=1
OpenVMS:
define/job ORA_OCI_NO_OPTIMIZED_FETCH 1
Patches
~~~~~~~
No patches are currently available.
Patch for [BUG:2410612] does not solve this issue.
References
~~~~~~~~~~
WRONG DATA ON IMPORT AFTER EXPORT VIA CONVENTIONAL PATH [BUG:2598387]
目前这篇文章有3条评论(Rss)评论关闭。