我們有一個生產問題,涉及託管環境中的多個實例。我想在本地進行一些測試,並希望在本地重現類似的環境。有沒有辦法創建,比如40個實例,創建一個簡單的表,用循環填充它?Oracle 11g - 創建X個實例,用於測試
似乎使40左右需要很多時間。理想情況下,創建Instance1,Instance2等等,與表格無關,並且希望放入大量數據來模擬某種處理。
感謝
我們有一個生產問題,涉及託管環境中的多個實例。我想在本地進行一些測試,並希望在本地重現類似的環境。有沒有辦法創建,比如40個實例,創建一個簡單的表,用循環填充它?Oracle 11g - 創建X個實例,用於測試
似乎使40左右需要很多時間。理想情況下,創建Instance1,Instance2等等,與表格無關,並且希望放入大量數據來模擬某種處理。
感謝
我不是100%肯定這是否準確回答你的問題,但我會試試看。
Oracle有一個數據庫,這是一個數據文件的集合。實例只是用作客戶端數據庫接口的進程集合。所以我的假設是你想在數據庫中創建模式,並用表格對它們進行輪詢並在這些表格中放入一些數據。 如果是這樣的話,那是相當simpel:
假設默認tablepace了爲用戶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;
/
我希望這有助於。
謝謝,我認爲這是我正在看的路徑。我使用的是Oracle SQL Developer,基本上克隆了一個本地用戶,並複製/粘貼了這個SQL輸出,並將這個基本上相同的方式連接起來。 – dave2118 2012-04-18 14:17:07
您是否熟悉Oracle的工作方式? (實例/數據庫/架構/表) – 2012-04-18 13:34:01
幾乎沒有,隨着我的學習。我來自SQL Server的背景。 – dave2118 2012-04-18 13:42:20
好的,我從你的描述中得到了這個ID。 – 2012-04-18 13:44:48