2011-05-31 9 views
15

指定されたスキーマを検査し、そのスキーマのテーブルとカラムに基づいてランダムなデータを生成できるツールを知っている人はいますか?Oracleデータベースでサンプル・データをランダムに生成するにはどうすればよいですか?

+0

+1、良い質問を使用することが有用であるSwingbench Data Generator

で、かかわらず閉じるに投票; - )実際には、良い情報のためにすべての周りupvotes。 – DCookie

答えて

4

別の方法としては、SAMPLE句(例えば注文や製品のランダムな組み合わせのためのオーダーラインを生成する)

3

Allround AutomationのPL/SQL Developerにはデータ生成ツールがあります。しかし、注意してください:それはちょっと薄れている - それは単一テーブルベースで正常に動作するようだが、テーブル間の依存関係があるときにトリップアップします。

私は最終的に自分のSQLスクリプトを作成してデータを生成し始めたことを認めます。はるかに安定しています。

2

これはワイルドカードのビットですが、私はそれを言いたいと思いました。

重要な情報が含まれている可能性があるために使用できない実稼働環境のデータがある場合、Oracleは、「Oracle Data Masking」という製品を使用して、機密情報を現実的な値に置き換えます。

私はこの製品の費用は分かりませんが、詳しい情報が必要な場合はhereです。

+0

データマスキングは、エンタープライズ版の場合は有料です(非常に高価です)。 – APC

3

Databene Beneratorをご覧ください。

初期セットアップを行うのは少し複雑ですが、非常に強力です。

4

これは興味深い質問です。ランダムな値を生成するのは簡単です。データ・ディクショナリの回りを単純なループにすると、DBMS_RANDOMを呼び出すとそのトリックが実行されます。

2つのことを除いて。

@FrustratedWithFormsが指摘しているように、外部キー制約の複雑さがあります。参照値(参照データ)をミックスにもヒントしましょう。

第2は、ランダムはあまり現実的ではありません。ランダムなデータを使用する主な要因は、多分大量のデータが必要なことです。おそらく、パフォーマンステストのためです。しかし、実際のデータセットはランダムではなく、スキューと塊、可変文字列の長さ、およびコースパターン(特に日付に関する)が含まれています。

ランダムなデータを生成するのではなく、実際のデータセットを取得することをお勧めします。理想的には、あなたのユーザ/顧客は、1つ、好ましくは匿名化されたものを提供できる。それ以外の場合は、既にパブリックドメインにあるものを取り出し、特定の要件に合わせてマッサージしてみてください。これらの問題については、情報チンパンジーがトップバナナです。 Check them out

+1

+1、CHECK制約とNULL制約ではさらに複雑になります。 – DCookie

関連する問題