簡體   English   中英

如何基於一組特定的數據創建部分數據庫轉儲?

[英]How to create a partial database dump based on a specific set of data?

我只想基於數據庫中的某些數據從數據庫中轉出一些數據。 說我有一個客戶表和一個訂單表。 訂單具有客戶外鍵。 訂單是由許多訂單行(自己的表)構建而成的,而訂單行本身又具有項目(自己的表)。 每個都通過FK鏈接。

為了從該數據庫中提取測試數據,我想以一種可以處理它的方式(例如說5個訂單)來獲取數據。 數據應包含我在應用程序中使用這些訂單所需的所有內容(例如,客戶,物料,訂單行)。 我只想根據我想要的訂單指定一些條件。

如果確實重要,則環境為:

  • JBoss上的JavaEE5
  • 過冬
  • 甲骨文11g

我不反對使用任何使我能夠以簡單方式獲取此數據的語言或工具。

更新:我發現以下問題處理類似的問題。

這是一個好問題。

甲骨文在12c中發布了一個測試管理包 ,我認為可以解決這個問題-我花了很多時間,但也許它也與11g兼容。 Informatica也有類似產品。

如果您不想使用昂貴的解決方案,則可以使用COPY命令。 sqlplus COPY命令的原理類似於舊的exp / imp但是它允許您使用查詢導出。

1.導出查詢表。

2.使用過濾器導出主(事實)表。

copy from=user/pass@prod to user/pass@test create big_fact using select * from big_Fact where update_date > '01/01/2013'

3.通過加入基本表來復制相關表

copy from=user/pass@prod to user/pass@test create related_table1 using select related_table1.* from related_table1 join big_fact on (join_condition) where big_fact.update_date > '01/01/2013'

等等 ...

這不是一個可靠的解決方案,它與核心表很少且約束簡單的架構兼容。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM