ORA-00904で”POLTYP”: invalid identifierなエラー
クローバーフィールドの杉山です。
不定期に勝手に連載することにしたコーナー「今日のエラー」です。
新システム移行に伴い現行と新システムでデータの更新内容の比較を行うため、現行システムからデータを抽出する必要があるのですが、作業担当からデータの抽出ができませんと呼び出されました。
大体の場合、詳しい情報が連携されることがないので現地にて確認です。
Oracle12c系のクライアントをインストールしたパソコンから現行システムの(保守用)サーバのOracle11gのデータべースをexportしようとしてエラーが発生していました。
ちなみにexportユーティリティはOracle 11gから原則サポートされなくなり、datapumpが推奨されています。
しかし、ファイルに出力先のパスをディリクトリオブジェクトとして生成しておく必要があるため、「テスト用データがいるなら抽出すればええやん」的に現行側の協力が期待できない場合、外部のものはなかなか使いずらい感じなのです。
作業担当は致し方なくexportユーティリティを実行したのですが、ORA-00904なるエラーメッセージが出力されております。
“POLTYP”: invalid identifierなんだそうです。
Oracle12cのエラーメッセージをマニュアルで確認してみますが、残念ながらマニュアルに記載されていないエラーです。
ORA-00600なんかもそうですが、内部エラーってやつですね。
サポートに連絡してdumpを送付してとか色々やりとりしても解決しない場合もあるやつです。
Googleを漁ると下位のバージョンからexportしようとすると発生する場合があるようです。
仕方がないのでOracle 11g系のクライアントがインストールされているパソコンからチャレンジしたのですが、残念ながら端末の11.2系のexportユーティリティから11.1系のデータベースにアクセスしても同様のエラーが発生しました。
うーん、頭を低くしてデータベースのexportダンプファイルを取得していただくほかないようです。