アプリ版:「スタンプのみでお礼する」機能のリリースについて

Linux(RedHat)データベース(oracle10g)から同じバージョンの新規データベースにDataPumpを使用して移行する方法について教えてください。
移行元のデータベース上にてDatapumpを使用する場合、ディレクトリを作成する必要がありますが、
(1)このディレクトリは移行元のデータベース上に作成するものでしょうか。
(2)それとも、新規データベース先にディレクトリを作成し、dmpファイルの吐き出し先を新規データベース指定するものでしょうか。(ファイルのパラメーターで、別データベースを指定できる??)

(1)の場合、新規データベース上で別途ディレクトリを作成し、移行元のディレクトリに吐き出したdmpファイルをコピーやftp等で、新規データベースに移動させるのでしょうか?
(2)の場合、exportのパラメータでどのように別データベースを指定すればよいでしょうか?
dumpfile=directory_object:【新規DB IPアドレス??】test.dmp

A 回答 (2件)

ORA-39087: ディレクトリ名LOGDIRは無効です


というエラーが出ていますので、処理実行ユーザにLOGDIRへの権限が与えられていないのではないでしょうか?

以下を実行してからもういちど試してみてください。

sqlplus system@***
grant read, write on LOGDIR to 処理実行ユーザ;

なお、ディレクトリオブジェクトで定義された実ディレクトリがパーミッション777なだけでなく、
OSのoracleユーザが実際にそのディレクトリに読み書きできる必要もあります。
(上位レベルのディレクトリ権限がないと、その階層に到達できずNG)
    • good
    • 1

exdpの使用例のページです


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

この回答への補足

移行先サーバよりネットワーク経由で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にしたところ
実行できましたが、ダンプファイルが移行元にエキスポートされてしまいます。

何か設定が間違っているのでしょうか…

補足日時:2011/01/19 20:47
    • good
    • 0

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