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

这会在一个循环中创建 40 个模式,名为 SCHEMA_1 ... SCHEMA_40。在每个模式中,都会创建一个名为 Z 的表作为 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 回答