我們有2個Oracle數據庫。一個是我們的生產客戶數據庫。另一個是測試數據庫。測試數據庫是沒有任何數據的生產副本...只是空表。我試圖想出一種高效且有效的方法將生產數據庫中的一組樣本數據複製到測試中。僅使用一組樣本數據創建生產的測試數據庫副本
我需要從我們的客戶表中的PK樣本列表開始,然後編寫一個過程以使用該樣本填充測試數據庫客戶表。然後,我需要根據樣本填充相關數據的子表。
我們過去有一個Java過程,它會使用預備語句從生產中選擇數據...根據結果集生成一個文件...然後使用更新語句將其存入測試數據庫。這是非常低效的。
我不是DBA,所以我不太瞭解這個領域。我試圖谷歌關於數據庫鏈接的一些信息,但找不到很好的例子。
有沒有人知道這樣做的方法...或者,至少給我一個出發點?
+1 This。如果您有權訪問合適的生產數據庫,請參閱。運行一些PII類型清洗(CCnums,SSN等),並將其用於測試。雖然可能性是您希望在每次主要單元測試之前恢復的永久備份,因爲在運行測試之前,您總是希望數據庫處於特定狀態。 – 2011-04-19 17:58:34
這不適用於這種情況。我們有一個完整的測試數據庫,它是生產副本(在某個時間點......並且每天不刷新)。造成我的問題的其中一個問題是,我們的DBA(無論有多種原因)需要多天的時間來刷新我們的測試數據庫和生產副本。此外,我們在測試環境中的空間受到嚴重限制(因此需要樣本數據庫)。恕我直言......解決方案將是在測試中投入更多資金和空間,但是,這是不可行的。 – aintnoprophet 2011-04-19 18:03:31
@aintnoprophet:expdp/impdp(或舊的exp/imp)是快速導入/導出的可行選項,請參閱我的更新答案。 – 2011-04-19 18:28:08