5

Oracle DBを同じサーバーに別の名前でコピーして、開発DBとして使用するのに大きな問題があります。

私はSQLServerに慣れていますが、Oracle(11g)は初めてです。

SQL Developerの「データベースコピー」を使用したかったのですが、ずっとエラーが発生します。最初は、テーブルスペースの欠落についてでした。次に、新しい空のDBで手動で作成した場合、エラーはユーザーの欠落に関するものでした。ユーザーを手動で作成したかったのですが、最初に不足している役割を作成する必要がありました。それがすべて行われたとき、それは欠落しているインデックスで失敗しました...

「データベースコピー」で必要なものをすべてコピーするにはどうすればよいですか?

どんなアドバイスも大歓迎です!

4

3 に答える 3

4

SQL Developer copyは、スキーマ間でのみオブジェクトをコピーします。スキーマのコピーを作成しますか?または、すべてのスキーマを含むまったく新しいデータベースですか?

あなたの質問から判断すると、私は後者を想定しています。その場合、RMANの「データベースの複製」が役立つ場合があります。

TimHallの優れたサイトでhttp://www.oracle-base.com/articles/11g/duplicate-database-using-rman-11gr2.phpを参照してください。

于 2012-11-07T15:46:27.843 に答える
2

あなたにとって最良の方法は、新しいユーザーを作成することです:

システムマネージャアカウントsqlplus/as sysdbaを使用して、MSDOSShellConnectをデータベースに起動します。

次に、次のシーケンスを記述します。

user2passwordによって識別されるユーザーuser2を作成します。

管理者オプションを使用してuser2にすべての特権を付与します。

user2への接続を許可します。

ユーザー2にDBAを付与します。

Oracleプロンプトを終了します

再びMSDOSシェルで、現在のuser1を次のようにエクスポートします。

exp user1 / password

またはexpuser1/ password @ connectString

tnsnames.oraで接続文字列を指定している場合デフォルトですべての質問に回答し、エクスポートファイルに名前を付けて、ユーザーuser1のみをエクスポートするように指定します。

次に、次のように新しいuser2へのダンプのインポートに進みます。

imp user2 / password2 fromuser = user1 touser = user2

デフォルトですべての質問に答え、エクスポートファイルに名前を付けます(CmdShellのデフォルトフォルダーを変更しない場合は、完全なフォルダーを指定する必要はありません)。

于 2012-11-07T15:33:36.487 に答える
0

Oracleのドキュメントからのこれに関する興味深いリンク:

http://docs.oracle.com/cd/E11882_01/backup.112/e10642/rcmdupdb.htm#BRADV010

于 2014-01-30T11:39:38.423 に答える