【问题标题】:How do I generate random sample data in my Oracle database?如何在我的 Oracle 数据库中生成随机样本数据?
【发布时间】:2011-09-05 13:35:10
【问题描述】:

有没有人知道可以检查指定架构并根据该架构的表和列生成随机数据的工具?

【问题讨论】:

  • +1,好问题,尽管投票结束 ;-) 事实上,大家都为好的信息投票。

标签: java sql oracle dataset


【解决方案1】:

另一种选择是Swingbench Data Generator

使用SAMPLE 子句很有用(例如为订单和产品的随机组合生成订单行)

【讨论】:

    【解决方案2】:

    这是一个有趣的问题。生成随机值很容易——通过调用 DBMS_RANDOM 对数据字典进行一个简单的循环就可以了。

    除了两件事。

    正如@FrustratedWithForms 指出的那样,其中之一是外键约束的复杂性。让我们将查找值(参考数据)也加入其中。

    第二个是,随机不是很现实。使用随机数据的主要驱动力是需要大量数据,可能是为了进行性能测试。但真正的数据集不是随机的,它们包含倾斜和团块、可变字符串长度,当然还有模式(尤其是涉及日期的地方)。

    因此,我建议您尝试获取真实数据集,而不是尝试生成随机数据。理想情况下,您的用户/客户将能够提供一个,最好是匿名的。否则,试着拿一些已经在公共领域的东西,然后按摩它以满足您的特定要求。当涉及到这些问题时,信息黑猩猩是头号香蕉。 Check them out

    【讨论】:

    • +1,CHECK 和 NULL 约束会出现更多复杂情况。
    【解决方案3】:

    看看Databene Benerator

    进行初始设置有点复杂,但功能非常强大。

    【讨论】:

      【解决方案4】:

      这个有点通配符,但我想我会提到它。

      如果您在生产环境中拥有由于可能包含敏感信息而无法使用的数据,Oracle 有一个名为“Oracle Data Masking”的产品,它将用实际值替换敏感信息。

      我不知道这款产品的价格,但如果您想了解更多信息,可以找到here

      【讨论】:

      • 数据屏蔽是企业版的额外收费,即非常昂贵。
      【解决方案5】:

      Allround Automation 的PL/SQL Developer 有一个数据生成器工具。但请注意:它有点不稳定 - 它似乎在单表的基础上运行良好,但当表之间存在依赖关系时就会出错。

      我承认最终我只是开始编写自己的 SQL 脚本来生成数据。结果变得更加稳定。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-05-20
        • 1970-01-01
        相关资源
        最近更新 更多