はじめに
バックアップの時間計測などの検証を行う際に、なんでもいいからデータが欲しい!ということで、色々調べて実験してみました。
ユーザの作成
他に影響を与えたくないので、テスト用のユーザを作成します。
CREATE USER test IDENTIFIED BY "パスワード"
default tablespace USERS
temporary tablespace TEMP
profile default;
テーブルの作成
CREATE TABLE test.A
(
DT DATE,
EIJI VARCHAR(120),
KANA VARCHAR(50),
CD VARCHAR2(10),
KIN NUMBER(9,0)
);
データの投入
以下のデータを投入するSQLです。
ひらがな以外はランダムです。これだけあればそれっぽいかなぁ~と・・・
・日付
・半角英数字
・ひらがな
・コード
・整数
INSERT /*+ APPEND */ INTO TEST.A NOLOGGING
SELECT
--DT 2004/01/01から2014/12/31のランダム日付を取得
TO_DATE('20040101','YYYYMMDD')
+MOD(ABS(DBMS_RANDOM.RANDOM())
,TO_DATE('20150101','YYYYMMDD')-TO_DATE('20040101','YYYYMMDD')) DT
--EIJI 大文字のアルファベット文字と数字で文字列
,DBMS_RANDOM.STRING('X', 100)
--KANA かなを固定入力
,'あいうえおかきくけこさしすせそ'
--CD ランダムコードを取得
,TO_CHAR(ABS(DBMS_RANDOM.RANDOM()),'FM0000000000') CD
--KIN (-99,999から99,999)の間のランダム整数を取得
,MOD(DBMS_RANDOM.RANDOM(),100000) KIN
FROM
(SELECT 0 FROM ALL_CATALOG WHERE ROWNUM <= 1000)
,(SELECT 0 FROM ALL_CATALOG WHERE ROWNUM <= 1000)
--1000×1000=100万件
;
commit;
ついでにインデックスも作成
CREATE INDEX test.idx_test_A_table ON test.A(DT);