我们遇到涉及托管环境中多个实例的生产问题。我想在本地进行一些测试,并希望在本地重现类似的环境。有没有办法创建40个实例,创建一个简单的表,用循环填充它?
好像制作40左右会花费很多时间。理想情况下,创建Instance1,Instance2等等,无论表格是什么并且想要放入大量数据来模拟某种处理。
由于
答案 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;
/
我希望这会有所帮助。