• 締切済み

Oracle DataPumpでの移行

Linux(RedHat)データベース(oracle10g)から同じバージョンの新規データベースにDataPumpを使用して移行する方法について教えてください。 移行元のデータベース上にてDatapumpを使用する場合、ディレクトリを作成する必要がありますが、 (1)このディレクトリは移行元のデータベース上に作成するものでしょうか。 (2)それとも、新規データベース先にディレクトリを作成し、dmpファイルの吐き出し先を新規データベース指定するものでしょうか。(ファイルのパラメーターで、別データベースを指定できる??) (1)の場合、新規データベース上で別途ディレクトリを作成し、移行元のディレクトリに吐き出したdmpファイルをコピーやftp等で、新規データベースに移動させるのでしょうか? (2)の場合、exportのパラメータでどのように別データベースを指定すればよいでしょうか? dumpfile=directory_object:【新規DB IPアドレス??】test.dmp

みんなの回答

  • uresiiwa
  • ベストアンサー率45% (49/107)
回答No.2

ORA-39087: ディレクトリ名LOGDIRは無効です というエラーが出ていますので、処理実行ユーザにLOGDIRへの権限が与えられていないのではないでしょうか? 以下を実行してからもういちど試してみてください。 sqlplus system@*** grant read, write on LOGDIR to 処理実行ユーザ; なお、ディレクトリオブジェクトで定義された実ディレクトリがパーミッション777なだけでなく、 OSのoracleユーザが実際にそのディレクトリに読み書きできる必要もあります。 (上位レベルのディレクトリ権限がないと、その階層に到達できずNG)

  • nora1962
  • ベストアンサー率60% (431/717)
回答No.1

exdpの使用例のページです http://oracle-pub.wikidot.com/expdp-help こちらはimpdpの使用例。 http://oracle-pub.wikidot.com/impdp-help やり方としては (1)移行元サーバーでexpdpを起動して、ダンプファイルを移行元に出力し、それを移行先サーバーにftpなどの方法で移して、移行先サーバーでimpdpを使ってインポート (2)移行先のサーバーからネットワーク経由でexpdpを起動して、ダンプファイルを出力し、移行先にインポート。 が考えられます。

kanjidaisuki
質問者

補足

移行先サーバよりネットワーク経由でexpdpを起動し実行したところ、エラーがかえってきてできません。 CREATE DIRECTORY DumpDir as '/**/**/DataPumpdump'; CREATE DIRECTORY LogDir as '/**/**/DataPumplog'; また、 expdp ***/**@移行元DB名 dumpfile=DumpDir:test.dmp logfile=LogDir:test.log schemas=ユーザ名 をしたところ、 接続先: Oracle Database 10g - Production ORA-39002: 操作が無効です ORA-39070: ログ・ファイルをオープンできません。 ORA-39087: ディレクトリ名LOGDIRは無効です がでました。対象のディレクトリは'/**/**/DataPumpdump'は権限777にしてます。 また、パラメーターをdumpfile=test.dmp logfile=test.logにしたところ 実行できましたが、ダンプファイルが移行元にエキスポートされてしまいます。 何か設定が間違っているのでしょうか…

関連するQ&A