今天要做一个高版本到低版本的迁移,Oracle11.2.0.4 到Oracle10.2.0.4
在迁移之前在测试环境做了个测试,有如下报错:
. . exporting table SYS_IMPORT_SCHEMA_01 2847 rows exported
EXP-00091: Exporting questionable statistics.
EXP-00091: Exporting questionable statistics.
EXP-00091: Exporting questionable statistics.
查了下,又是字符集的问题。
[oracle@DC214QB2X-2950 ~]$ oerr exp 00091
00091, 00000, "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.
[oracle@DC214QB2X-2950 ~]$
这个error产生的原因是因为我们exp所在的环境变量中的NLS_LANG与DB中的NLS_CHARACTERSET不一致。
1. 我们来查看DB中NLS_CHARACTERSET的值(提供两种方法):
select * from nls_database_parameters t where t.parameter='NLS_CHARACTERSET'
select * from v$nls_parameters where parameter='NLS_CHARACTERSET'
输出结果:
2.查看当前主机的NLS_LANG环境变量的值
[oracle@DC214QB2X-2950 ~]$ echo $NLS_LANG
american_america.zhs16gbk
NLS_LANG的输出为american_america.zhs16gbk。 ------与DB中的NLS_CHARACTERSET不同。
3. 根据第一步中查出的NLS_CHARACTERSET 来设定exp的环境变量。
[oracle@DC214QB2X-2950 ~]$ export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
[oracle@DC214QB2X-2950 ~]$ echo $NLS_LANG
AMERICAN_AMERICA.AL32UTF8
4. 设置完成后再尽心exp导出操作没有报错。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/21374452/viewspace-2132550/,如需转载,请注明出处,否则将追究法律责任。