0

ホスト環境で複数のインスタンスが関係する本番環境の問題があります。ローカルでテストを行い、同様の環境をローカルで再現したいと考えていました。たとえば 40 個のインスタンスを作成し、単純なテーブルを作成し、それにループを設定する方法はありますか?

40個くらい作ると結構時間がかかりそうです。理想的には、Instance1、Instance2 などを作成し、テーブルが何であるかは問題ではなく、ある種の処理をシミュレートするために十分な量のデータを入れたいと考えています。

ありがとう

4

1 に答える 1

1

これがあなたの質問に正確に答えるかどうかは100%確信が持てませんが、試してみます.

Oracleにはデータベースがあり、これはデータファイルのコレクションです。インスタンスは、クライアントのデータベースへのインターフェースとして機能するプロセスの集まりです。したがって、データベースにスキーマを作成し、それらにテーブルを入力して、それらのテーブルにデータを入れたいと考えています。その場合は、非常に単純です。

ユーザーのデフォルトのテーブルスペースが USERS であると仮定して、dba としてログオンし、実行します

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;
/

これにより、SCHEMA_1 ... SCHEMA_40 という名前のループ内に 40 個のスキーマが作成されます。すべてのスキーマで、Z という名前の 1 つのテーブルが DBA_TABLES のコピーとして作成されます。クリーンアップ

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

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

于 2012-04-18T13:57:51.467 に答える