dポイントプレゼントキャンペーン実施中!

こんにちわ。

あるdmpファイルをインポートした際、その中のデータには主キーの重複したレコードが存在しているらしく一意制約エラーでおちてしまいます。

もちろん、テーブル構造もエクスポートしている為、エクスポートした時点で、テーブル内がそのような状況になるということは有り得ないはずなのですが、バイナリエディタで覗くと実際、キーの重複したデータが存在しています。

というわけで、dmpファイルをバイナリエディタなどで編集するというようなことはナシで(あくまでオラクルユーティリティ内の範疇で)、そのようなdmpファイルを強引に作ることが出来るのでしょうか?

よろしくお願いします。

A 回答 (3件)

テーブルをdropした後作り、主キー制約も作っておきます。

その後、alter table文で主キー制約を無効にし、その状態でignore=yでインポートしてみてください。
    • good
    • 0
この回答へのお礼

お返事遅くなりまして申し訳ありません。

主キーを無効にしたあと、重複データを作成し、エクスポート。
それから、主キーを有効に戻して、インポートすることによって期待していた現象が再現できました。
ありがとうございました。

お礼日時:2004/03/02 01:06

インポート先にテーブルがあってデータが入ったままなんて事はないですよね。



ignore=yのオプションつけてインポートすると、
テーブルあっても無視されますけど。
    • good
    • 0
この回答へのお礼

お返事ありがとうございます。

inore=yも試して、
テーブルをdropしてから実行してもダメでした。

Cシェルによる自動化で実行しているため、心当たりの
ある人もいないんです。

また、何か情報ございましたらよろしくお願いします。

お礼日時:2004/02/20 02:38

>強引に作ることが出来るのでしょうか?


方法は、わかりません。Exportした方に確認でしょうね。
対話形式で行った場合は、確認できないかも?

問題点は、データがインポートできないことではないのでしょうか?
importのパラメータで、indexes=yがデフォルトなので
nでインポートすれば読めませんか?

Importの順序は以下の順であったと思います。
1.新しい表の作成
2.データ行インポート
3.索引を作成
4.トリガーをインポート
5.整合性制約が新しい表で使用可能になる
6.ビットマップ索引の作成
    • good
    • 0
この回答へのお礼

お返事ありがとうございます。

indexes=nは試してみましたが、主キーは列制約のようなので、当方法ではダメでした。

また、何か情報ございましたらよろしくお願いします。

お礼日時:2004/02/20 02:33

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す