2012-04-18 10 views
0

ホストされた環境で複数のインスタンスが発生するという生産上の問題があります。私はローカルでいくつかのテストを行いたいと思いますし、同様の環境をローカルで再現したかったのです。 40個のインスタンスを作成してシンプルなテーブルを作成し、ループを設定する方法はありますか?Oracle 11g - テスト用にXインスタンスを作成する

40人ほどのように見えるのは時間がかかりそうです。理想的には、Instance1、Instance2などを作成することは、何らかの処理をシミュレートするために、表が何であり、大量のデータを入れたいかは関係ありません。

おかげ

+0

Oracleの仕組みに精通していますか? (インスタンス/データベース/スキーマ/テーブル) –

+0

かなり多く、私が行くように学習。私はSQL Serverの背景から来ています。 – dave2118

+0

大丈夫、私はあなたの説明からそのidを持っていた。 –

答えて

1

は、私は、これは正確にあなたの質問に答える場合は100%確実ではないが、私はそれを試してみるだろう。

Oracleにはデータベースがあります。これはデータファイルの集まりです。インスタンスは、クライアントのデータベースへのインタフェースとして機能するプロセスの集合です。だから私の前提は、データベースにスキーマを作成し、それらをテーブルでポーリングし、それらのテーブルにいくつかのデータを入れたいということです。 そのような場合には、それは非常にsimpelです:

ユーザーのデフォルトtablepaceがdbaとしてUSERS ログオンであると仮定し、これはSCHEMA_1 ... SCHEMA_40という名前の、ループで40件のスキーマを作成します

begin 
for i in 1..40 loop 
    execute immediate 'create user schema_'||i||' identified by bigsecret quota unlimited on users'; 
    execute immediate 'create table schema_'||i||'.z as select * from dba_tables'; 
    end loop; 
end; 
/

を実行します。 すべてのスキーマで、Zという名前の表がDBA_TABLESのコピーとして作成されます。 クリーンアップ

begin 
for i in 1..4 loop 
    execute immediate 'drop user schema_'||i||' cascade'; 
    end loop; 
end; 
/

これが役立つことを願っています。

+0

ありがとう、私はこれが私が見ていた道だと思います。私はOracle SQL Developerを使用していますが、基本的にローカルユーザーをクローンし、そのSQL出力をコピー/貼り付け、これを基本的に同じ方法で連結しています。 – dave2118

関連する問題