Oracle 11g - 创建X实例,用于测试

时间:2012-04-18 12:25:41

标签: oracle oracle11g

我们遇到涉及托管环境中多个实例的生产问题。我想在本地进行一些测试,并希望在本地重现类似的环境。有没有办法创建40个实例,创建一个简单的表,用循环填充它?

好像制作40左右会花费很多时间。理想情况下,创建Instance1,Instance2等等,无论表格是什么并且想要放入大量数据来模拟某种处理。

由于

1 个答案:

答案 0 :(得分:1)

我不是百分百确定如果这确切地回答了你的问题,但我会试一试。

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

我希望这会有所帮助。