ablog

不器用で落着きのない技術者のメモ

import 時に IMP-00017, IMP-00003, ORA-01861 が発生する場合の対処法

現象

$ imp scott/tiger tables=emp file=emp.dmp

...

IMP-00017: following statement failed with ORACLE error 1861:
 " ALTER TABLE "EMP" MODIFY ("...
IMP-00003: ORACLE error 1861 encountered
ORA-01861: literal does not match format string

解決策

export の ときに使ったのと同じ NLS_LANG を export してから import する。

$ export NLS_LANG=Japanese_Japan.JA16EUC
$ imp scott/tiger tables=emp file=emp.dmp

...

インポートは警告なしで正常終了しました。


import するときに、dmp ファイルから export 時に使われた NLS_LANG を判別するのではなくて、import 時に指定されている NLS_LANG で export されたものとして import するんだな。たぶん。だから違うと、「literal does not match format string」とか言われるんだろうな。