Oracle Databaseの動作確認などをしたいときにテストデータ作成するのってけっこうめんどうだったりします
- スキーマを作ってアクセス権制御などを試したい
- 監査ログの生成量などを簡単にテストしてみたい
- バックアップ(増分など)の動作確認をしたいのでサクッと変更データを用意したい
- 自分はDBAなのでアプリを用意せずにテストデータ作成したい
「毎回やり方を調べる」。これが一番面倒くさいです。
自分のメモ用に残します
参考文書
日本オラクルのしばちょう先生を参考にします
ここにほぼすべてのことが書かれています
テストデータ作成方法
項目 | パラメタ | MEMO |
---|---|---|
ユーザ・スキーマ | TRY | この手順で新規作成 |
パスワード | TRY | この手順で新規作成 |
表領域 | TBS21 | この手順で新規作成 |
ASMディスクグループ | DATA | 既存を利用 |
- TBS21表領域を作成
create tablespace TBS21 datafile '+DATA(DATAFILE)' size 1g uniform size 4m ;
- TBS21をデフォルト表領域にするTRYユーザの作成
create user TRY identified by TRY default tablespace TBS21 ; grant connect, resource, dba to TRY ;
- TAB21表の作成とデータ・ローディング
connect TRY/TRY create table TAB21 (COL1 number NOT NULL, COL2 char(1000)) pctfree 10 ; insert /*+append */ into TAB21 select LEVEL, 'hoge'||to_char(LEVEL) from DUAL connect by LEVEL <= 7 * 128 * 508 ; commit; create unique index IDX_TBL21_COL1 on TAB21(COL1) ; alter table TAB21 add primary key (COL1) using index ;
- 150MB分のデータ更新を行う (差分データ生成に必要な際に活用)
$ sqlplus /nolog connect TRY/TRY select count(distinct(dbms_rowid.rowid_block_number(ROWID))) * 8 / 1024 as "UPDATED_MB" from TAB21 where COL1 < 7 * 128 * 150 ; UPDATED_MB ---------- 150 SQL> -- 150MB分を更新 update TAB21 set COL2='updated' where COL1 < 7 * 128 * 150 ; commit ;
関連記事です
現行のデータベースシステムは今すぐ19cにアップグレードする検討をしましょう
どうやら11gR2は、19cの次の23cに直接アップグレードは出来ないようで移行時に困難を極めそうです
Partitionの検討について
以上です