2016-08-15 7 views
2

Oracle 11g XEを使用しています。私は仮想列を持ついくつかのテーブルを含むスキーマを持っています。仮想列はスキーマで正常に見え、期待どおりに動作します。仮想列によるスキーマのエクスポート

私は、このコマンドを使用して、そのスキーマのダンプをエクスポート:

expdp SYSTEM/SYSTEM schemas=TEST_SCHEMA dumpfile=TEST_SCHEMA.dpdmp 

をして、このコマンドを使用して別のデータベースにインポート:

impdp SYSTEM/system SCHEMAS=TEST_SCHEMA DIRECTORY=dmpdir DUMPFILE=TEST_SCHEMA-2016.DPDMP TABLE_EXISTS_ACTION=replace LOGFILE=TEST_SCHEMA.log 

インポートがうまく行きましたが、私はすべての仮想確認するとき列が壊れていた列のDATA_TYPEがVARCHAR(36)の代わりにNUMBERであり、元のソーススキーマ内にあったDATA_DEFAULT関数がインポートされたスキーマになかった場合、それはNULLにすぎず、実際の行を表示したときに、その仮想の値列は '44'でした。これはその列の列IDです。

仮想カラムが正しく移行されなかった理由は誰にも分かりますか?スキーマをエクスポートするときに何かを指定する必要がありますか?またはこれはOracleのバグですか?

答えて

2

oracle WebサイトのBUG#10186633およびBUG#14506804を参照してください。仮想列のインポートに問題があります。

問題は関数が作成される前にテーブルがインポート時に作成されていることですが、私はこの問題を回避するにはまず正しい定義でテーブルを作成し、無視フラグに返信用

+0

感謝を使用してインポートを実行することであると信じてデイブは、私はそれがここで問題であるかどうかは分かりません。私は自分の関数を作成していない、私はちょうどユーザー定義の関数ではないので、テーブルの作成で正常に動作する必要があると思ったUPPER関数を使用していますか? – Stackman

+0

また、これらのバグは、インポート時にエラーが発生する問題に関連しているようです。私はこれらのエラーを一切受け取りませんでした。 – Stackman

関連する問題