こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

Oracleインポート

Oracle9iでエクスポートしたファイルをインポートしていますが、順序(Sequence)が元にもどりません。エクスポート前が10だとするとインポートしたときには、create sequenceを行った後の状態になっています。これをどうにか、インポート後は10にしたいのですがどうすればよろしいのでしょうか。エクスポート、インポートの権限としてDBAやEXP_FULL_DATABASE,IMP_FULL_DATABASEを与えています。

投稿日時 - 2002-12-02 18:18:22

QNo.418543

すぐに回答ほしいです

質問者が選んだベストアンサー

こんにちわ。

Sequence が既にある状態でImport していませんか?
手元の環境 (Oracle8i R8.1.7) で確認してみました。
確認手順は、以下の通りです。
1) test 用のユーザを作成して、connect ロール, resource ロールを付与
2) Table とSequence を作成
3) Sequence を使って、表にデータをInsert
4) ユーザ単位でExport を実行
5) test 用のユーザを削除
6) test 用のユーザを再作成して、connect ロール, resource ロールを付与
7) ユーザ単位でImport を実行

因みに、3) で10回Sequence からnextval を取得した状態で確認を行いました。
結果、Import 後のSequence のnextval は21 となりました。
→ これは、キャッシュされているSequence が破棄された事が原因です。
  nocache キーワードを付けてSequence を作成した状態で同様の確認を
  行ったところ、11から順序番号を取得できました。

投稿日時 - 2002-12-03 02:42:54

お礼

ありがとうございます。まさしくキャッシュされていました。nocacheを指定すると上手くいきました。それと、確かにシーケンスも再作成していました。作成せずにインポートし、ユーザも再作成すると問題ありませんでした。ありがとうございます。助かりました!!

投稿日時 - 2002-12-03 09:30:46

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問