質問: サーバーの移行について(エクスポートとインポート) ご覧頂きありがとうございます。 サーバーの移行がうまくいかず困っているのでご質問させていただきます。 やりたいことは、本サーバーにあるoracleデータベースのデータをエクスポートして、開発環境にインポートさせようと思っています。 以下、行った作業です。 windowsのコマンドプロンプトから以下のコマンドを実行してエクスポート c:\>emp sadmin/password@sid file=c:\ora_data\empsid.dmp consistent=y owner=sadmin 開発環境にて、表領域の作成とユーザの作成、権限の付与を行う。 sql>create tablespace hoge datafile 'c:\temp\hoge1.dbf' size 800m reuse logging online segment space management auto; sql>create temporary tablespace hoge_temp tempfile 'c:\temp\hoge_temp1.dbf' size 800m extent management local uniform size 10m; sql>create user sadmin identified by hogehoge default tablespace hoge temporary tablespace hoge_temp quota unlimited on hoge; sql>grant dba to sadmin; grant imp_full_database to sadmin; 以下のコマンドを実行して、windowsのコマンドプロンプトからインポート。 c:\>imp sadmin/password@sid file=c:\ora_data\empsid.dmp log=c:\ora_data\impsid.log fromuser=sadmin touser=sadmin ignore=y 状況としましては、エクスポートは問題なく終了しています。(確信はありませんが(汗)) インポート実行時、トリガーの箇所だと思うのですが処理が止まってしまいインポートが完了しません。 画面上では、「制約を使用可能にします・・」と表示されて止まってしまいます。 ログには以下のようなエラーが出ています。 imp-00003: oracleエラー439が発生しました。 ora-00439: 機能は有効ではありません: partitioning imp-00041: 警告: オブジェクト作成の際、コンパイル・エラーが発生しました。 dbを見てみると、データのインポートはできているようなのですが、トリガーのインポートができていないみたいです。 当方oracleを触るのは初めてで、書籍やgoogle検索などで調べているのですが、原因解明できず途方にくれています。 どなたかご助言頂けないでしょうか? 宜しくお願いします。
回答: >imp-00003: oracleエラー439が発生しました。 >ora-00439: 機能は有効ではありません: partitioning 単にエラーコードだけ見ると「partitioning」オプションが 有効ではないというエラーです。 パーティション絡みのところでエラーが出ているようです。 移行元dbと移行先dbのバージョン、オプションを確認しましょう。 systemユーザーからv$versionとv$optionを確認。 多分、移行先のdbが「standard edition」だと思います。 本当にテーブルが全てインポートできているのでしょうか? パーティションテーブルはインポートできていないような気がします。 user_tablesやuser_objectsなどで差がないか確認してください。 テーブルが存在しないため、関連するトリガー等がエラーになっている可能性はあります。