- ベストアンサー
Oracle8iのデータをOracle8へ移行する方法
Oracle8iでエクスポートしたファイルをOracle8へインポートすると 「IMP-00010:有効なエクスポート・ファイルではありません。 ヘッダーは検証に失敗しました。」 と出て失敗してしまいます。 講習会のテキストを読んでみると、「この方法ではうまくできないこと のあります」とだけ書いてあり、どうすればうまく行くのかが わかりません。 元々下位バージョンへ移行するということで、「ムリなんじゃないかなぁ~」 と思ってやってみたらやっぱりダメでした。 何か良い方法はないのでしょうか・・?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
ORACLE8iのエクスポートファイルじゃないとダメなんですか? 8i環境のテーブルのレコードを8環境に移行したいというのであれば、Oracle8iではなく、Oracle8のexpを使用してエクスポートファイルを作り、Oracle8のimpでデータを8環境に入れてやればいいはずです。
その他の回答 (2)
- takasgy
- ベストアンサー率42% (30/71)
Oracle8iからOracle8はやったことがないですね。 確かにExp/Imp無理な気がする。 Oracle8iが乗っているサーバとOracle8データベースが乗っているサーバはネットワークでつながっているのでしょうか? Oracle8iからOracle8にリンクテーブルを作成してOracle8i側からInsertするのは無理でしょうか? データが多い場合は、専用のロールバックセグメントを一時的に作成するか、プロシージャを作成して適当な時点でコミットするしかないですが。 頻繁にデータの以降が発生するは場合は、Oracle8iでテーブルのデータをテキスト出力して、Oracle8側でSQL*Loaderを使用してデータを投入することも可能かと思います。 Accessにデータを吸上げてOracle8側へデータ移行するのも楽ですけど、日付タイプなんかは気をつけないといけないかな。 NULLがある場合、適当な日付が入ってしまったような覚えがあります。
- chaff
- ベストアンサー率30% (264/874)
Oracle8i→Oracle8ですから問題はないと思うんですがねえ... (やったことないけど) "IMP-00010"でしょ?expファイルがブッ壊れているって可能性はないですか? 例えば FTPで持って来る(FTP使っていなかったらごめんさい)際 asciiモードで持ってきたとか。 あ、一つ思いつきました。こういうのはどうですか? ODBCドライバ経由でMS-ACCESSかなんかで8i/8の表に対し それぞれリンクテーブルを張り、ACCESSクエリー経由でデータをコピー する っていうの。 たしか、ODBCドライバなら8i用のNet8でOracle8にもアクセスできたはずです。 多少効率は悪いですが....
お礼
できましたっ! よくよく考えてみるとそうですよね~ 8に入れたいなら8で作ってしまえばいいんですね。 あれこれ複雑なやり方を考えるよりも、まずシンプルに考えなきゃダメですね。 勉強になりました。 yu-jinさんを初め、回答していただいた皆様、ありがとうございました。