ablog

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

Import しようとすると IMP-00058 が発生する

import でエラーが出るからちょっと見て欲しいと言われて調べてみたときのメモ。
環境変数 NLS_DATE_FORMAT の書式が間違ってるとこんなエラーが出るんですね。

現象

import しようとすると、「IMP-00058」が発生する。

$ export NLS_LANG=Japanese_Japan.JA16EUC
$ export NLS_DATE_FORMAT='YYYY/MM/DD HH24:MIS'
$ imp system/manager fromuser=**** touser=**** CONSTRAINTS=Y IGNORE=Y f
ile=****.dmp log=****.log GRANTS=Y BUFFER=9000000 INDEXES=Y ROWS=Y
IMP-00058: 
IMP-00000: エラーが発生したためインポートを終了します。

そして、sqlplus でログインしようとすると、「SP2-0642」が発生する。

$ sqlplus system/manager
SP2-0642: SQL*Plus内部エラー、状態: 2021、コンテキスト: 1:1821:0
続行するのは危険です。
SP2-1503: Oracle Call Interfaceを初期化できません
SP2-0152: Oracleが正常に機能していない可能性があります。

原因

環境変数 NLS_DATE_FORMAT の書式が誤っていたため。

)
$ export NLS_DATE_FORMAT='YYYY/MM/DD HH24:MIS')
$ export NLS_DATE_FORMAT='YYYY/MM/DD HH24:MI:SS'

解決策

NLS_DATE_FORMAT を export し直すと解決した。

$ export NLS_DATE_FORMAT='YYYY/MM/DD HH24:MI:SS'
$ imp system/manager fromuser=**** touser=**** CONSTRAINTS=Y IGNORE=Y f
ile=****.dmp log=****.log GRANTS=Y BUFFER=9000000 INDEXES=Y ROWS=Y