web-dev-qa-db-ja.com

Oracleの同じデータベースに完全なスキーマのコピーを作成する方法

同じデータベースにスキーマの完全なコピーを作成したい。それを行うための最良のテクニックは何ですか?

私はいくつかのアイデアを念頭に置いています:

  1. Databump Over Dbリンク
  2. ネットワークリンク上のIMPDP
  3. EXPDP、次にIMPDP。

各手法の利点や欠点は何ですか?

10
user3209595

派手なネットワークリンクやexpdp/impdpコマンドだけは必要ありません。まず、目的のスキーマをエクスポートします。

expdp fromUser/fromPword schemas=sourceSchema directory=DUMPDIR dumpfile=dump.dmp logfile=explog.txt

ヒント:そのユーザーがDUMPDIRに書き込む機能を持っていることを確認してください

次に、remap_schemaパラメーターを使用してスキーマを再インポートします。

impdp toUser/toPword directory=DUMPDIR dumpfile=dump.dmp logfile=implog.txt remap_schema=fromUser:toUser

Network_linkパラメータを本当に使用したい場合(何らかの理由でダンプファイルを作成しないように)、 this または this を読むことをお勧めします。
質問に関するすばらしい情報が見つかりました こちら も。

22
mmmmmpie

これを試して:

スキーマを同じデータベースにコピー

私はテストし、機能しました。ただし、コメントに記載されているような公開リンクを作成する必要があります。

テーブルスペースを再マッピングする.parファイルを作成すると、再利用できます。もちろん、いくつかの検索を置き換えます。

Oそして.parファイルにtransaformを入れることを忘れないでください:

TRANSFORM=oid:n

そうしないと、エラーが発生する場合があります。

2
Rooie3000