2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Swingbench のスキーマ作成時オプション整理 (oewizard)

2
Last updated at Posted at 2026-09-15

はじめに

Swingbench でスキーマを作成する際に設定できるオプションを整理しました。

オプション一覧
[opc@gp labs]$ ./swingbench/bin/oewizard -h
usage: parameters:
 -allindexes             build all indexes for schema
 -async_off              run without async transactions
 -async_on               run with async transactions (default)
 -bigfile                use big file tablespaces
 -bs <size>              the batch size of rows inserted into the database
 -c <filename>           wizard config file
 -cf <file>              the location of a credentials file for Oracle
                         Autonomous Database
 -cl                     run in character mode
 -compositepart          use a composite paritioning model if it exisits
 -compress               use default compression model if it exists
 -constraints            only create primary/foreign keys for schema
 -create                 create benchmarks schema
 -cs <connectString>     connectring for database
 -dba <username>         dba username for schema creation
 -dbap <password>        password for schema creation
 -debug                  turn on debugging output
 -debugf <debugfile>     turn on debugging. Write output to <debugfile>
                         defaults to debug.log
 -df <datafile>          datafile name used to create schema in
 -drop                   drop benchmarks schema
 -dt <driverType>        driver type (oci|thin)
 -g                      run in graphical mode (default)
 -generate               generate data for benchmark if available
 -h,--help               print this message
 -hashpart               use hash paritioning model if it exists
 -hcccompress            use HCC compression if it exisits
 -idf <datafile>         index datafile used to create indexes in
 -its <datafile>         index tablespace used to create indexes in
 -nc                     Don't use color output
 -nocompress             don't use any database compression
 -noindexes              don't build any indexes for schema
 -nopart                 don't use any database partitioning
 -normalfile             use normal file tablespaces
 -oltpcompress           use OLTP compression if it exisits
 -ot <output type>       output type (json or std), defaults to std
 -p <password>           password for benchmark schema
 -part                   use default paritioning model if it exists
 -rangepart              use a range paritioning model if it exisits
 -ro                     reverse the order in which data is generated
                         (smallest first)
 -s                      run in silent mode
 -scale <scale>          mulitiplier for default config
 -sp <soft partitions>   the number of softparitions used. Defaults to cpu
                         count
 -tc <thread count>      the number of threads(parallelism) used to
                         generate data. Defaults to cpus*2
 -ts <tablespace>        tablespace to create schema in
 -u <username>           username for benchmark schema
 -v                      run in verbose mode when running from command
                         line
 -version <version>      version of the benchmark to run
[opc@gp labs]$

以降の動作確認は oewizard で行っていますが、shwizard, tpccwizard, tpcdswizard, tpchwizard のいずれも同じオプションが設定できそうです。

image.png

image.png

DB は Oracle Autonomous AI Database 26ai を使用しています。

基本設定

create

スキーマ作成時に設定するオプションです。作成されるオブジェクトは以下の通り。

SQL> select object_type,object_name from dba_objects where owner='SOE' order by 1,2;

OBJECT_TYPE     OBJECT_NAME
_______________ __________________________
INDEX           ADDRESS_CUST_IX
INDEX           ADDRESS_PK
INDEX           CARDDETAILS_CUST_IX
INDEX           CARD_DETAILS_PK
INDEX           CUSTOMERS_PK
INDEX           CUST_ACCOUNT_MANAGER_IX
INDEX           CUST_DOB_IX
INDEX           CUST_EMAIL_IX
INDEX           CUST_FUNC_LOWER_NAME_IX
INDEX           INVENTORY_PK
INDEX           INV_PRODUCT_IX
INDEX           INV_WAREHOUSE_IX
INDEX           ITEM_ORDER_IX
INDEX           ITEM_PRODUCT_IX
INDEX           ORDER_ITEMS_PK
INDEX           ORDER_PK
INDEX           ORD_CUSTOMER_IX
INDEX           ORD_ORDER_DATE_IX
INDEX           ORD_SALES_REP_IX
INDEX           ORD_WAREHOUSE_IX
INDEX           PRD_DESC_PK
INDEX           PRODUCT_INFORMATION_PK
INDEX           PROD_CATEGORY_IX
INDEX           PROD_NAME_IX
INDEX           PROD_SUPPLIER_IX
INDEX           WAREHOUSES_PK
INDEX           WHS_LOCATION_IX
PACKAGE         ORDERENTRY
PACKAGE BODY    ORDERENTRY
PROCEDURE       AUTONOMOUSLOGON
SEQUENCE        ADDRESS_SEQ
SEQUENCE        CARD_DETAILS_SEQ
SEQUENCE        CUSTOMER_SEQ
SEQUENCE        LOGON_SEQ
SEQUENCE        ORDERS_SEQ
TABLE           ADDRESSES
TABLE           CARD_DETAILS
TABLE           CUSTOMERS
TABLE           INVENTORIES
TABLE           LOGON
TABLE           ORDERENTRY_METADATA
TABLE           ORDERS
TABLE           ORDER_ITEMS
TABLE           PRODUCT_DESCRIPTIONS
TABLE           PRODUCT_INFORMATION
TABLE           WAREHOUSES
VIEW            PRODUCTS
VIEW            PRODUCT_PRICES

48 rows selected.

ER図で示すと下記のようになります。

drop

スキーマ削除時に設定するオプションです。

generate

データのみを生成する際に設定するオプションです。

s

対話なしのサイレントモードで実行する際に設定するオプションです。

cl

CUI で実行する際に設定するオプションです。
GUI がデフォルトなので、ターミナルから実行する際は忘れずに設定するようにしましょう。

g

GUI で実行する際に設定するオプションです。

h, --help

設定可能なオプションを一覧表示します。

version

実行するベンチマークのバージョンを指定します。

接続設定

cs

DB の接続文字列を設定します。
ADB の場合、下記の画面から確認できる TNS名を設定します。

image.png

例
-cs xx_tp

u

ベンチマークスキーマのユーザ名を設定します。

p

ベンチマークスキーマのパスワードを設定します。

dba

スキーマ作成用の DBAユーザー名を設定します。
ADB であれば、必要な権限を付与したユーザや ADMIN など。

dbap

スキーマ作成用の DBAパスワードを設定します。

dt

ドライバーの種類 (oci or thin) を設定します。

cf

ADB の資格情報ファイル (Wallet_xx.zip) のパスを設定します。

例
-cf ~/instantclient_19_10/network/admin/xx/Wallet_xx.zip

スケール・パフォーマンス設定

c

ウィザードの設定ファイルがある場合は設定します。

scale

スケールファクタを設定します。
scale 1の時とscale 2の時を比較すると以下の通りで、INVENTORIES, ORDERENTRY_METADATA, PRODUCT_DESCRIPTIONS, PRODUCT_INFORMATION, WAREHOUSES 以外は件数がおよそ倍になっています。

scale 1 の場合
Data Generation Runtime Metrics
+-------------------------+-------------+
| Description             | Value       |
+-------------------------+-------------+
| Connection Time         | 0:00:00.001 |
| Data Generation Time    | 0:08:05.923 |
| DDL Creation Time       | 0:01:00.289 |
| Total Run Time          | 0:09:06.220 |
| Rows Inserted per sec   | 32,649      |
| Actual Rows Generated   | 15,791,721  |
| Commits Completed       | 805         |
| Batch Updates Completed | 78,974      |
+-------------------------+-------------+
scale 1 の場合
SQL> select table_name,num_rows from dba_tables where owner='SOE' order by 1;

TABLE_NAME                 NUM_ROWS
_______________________ ___________
ADDRESSES                   1500000
CARD_DETAILS                1500000
CUSTOMERS                   1000000
INVENTORIES                  899625
LOGON                       2382984
ORDERENTRY_METADATA               0
ORDERS                      1429790
ORDER_ITEMS                 7076322
PRODUCT_DESCRIPTIONS           1000
PRODUCT_INFORMATION            1000
WAREHOUSES                     1000

11 rows selected.

SQL>
scale 2 の場合
Data Generation Runtime Metrics
+-------------------------+-------------+
| Description             | Value       |
+-------------------------+-------------+
| Connection Time         | 0:00:00.001 |
| Data Generation Time    | 0:12:34.323 |
| DDL Creation Time       | 0:01:42.876 |
| Total Run Time          | 0:14:17.205 |
| Rows Inserted per sec   | 40,866      |
| Actual Rows Generated   | 30,670,948  |
| Commits Completed       | 1,549       |
| Batch Updates Completed | 153,370     |
+-------------------------+-------------+
scale 2 の場合
SQL> select table_name,num_rows from dba_tables where owner='SOE' order by 1;

TABLE_NAME                 NUM_ROWS
_______________________ ___________
ADDRESSES                   3000000
CARD_DETAILS                3000000
CUSTOMERS                   2000000
INVENTORIES                  898120
LOGON                       4765968
ORDERENTRY_METADATA               0
ORDERS                      2859580
ORDER_ITEMS                14144280
PRODUCT_DESCRIPTIONS           1000
PRODUCT_INFORMATION            1000
WAREHOUSES                     1000

11 rows selected.

tc

データ生成に使用するスレッド数を設定します。

bs

データ挿入時のバッチサイズを設定します。

sp

使用するソフトパーティションの数を設定します。

async_on

非同期トランザクションを有効にします。(デフォルト)

async_off

非同期トランザクションを無効にます。

ro

データの生成順序を逆にします。(小さいテーブルから生成)

ストレージ設定

ts

スキーマを作成する表領域を設定します。

df

スキーマ作成に使用するデータファイル名を設定します。

its

インデックスを作成する表領域を設定します。

idf

インデックス作成に使用するデータファイル名を設定します。

bigfile

BIGFILE表領域を有効にします。

normalfile

SMALLFILE表領域を有効にします。

パーティション設定

part

デフォルトのパーティショニングモデルを使用します。(存在する場合)

nopart

パーティショニングを使用しません。

hashpart

ハッシュ・パーティショニングを使用します。
scale 1の場合、32 のパーティションが作成されました。

SQL> select table_name,partitioning_type,partition_count from dba_part_tables where owner='SOE' order by 1;

TABLE_NAME      PARTITIONING_TYPE       PARTITION_COUNT
_______________ ____________________ __________________
ADDRESSES       HASH                                 32
CARD_DETAILS    HASH                                 32
CUSTOMERS       HASH                                 32
LOGON           HASH                                 32
ORDERS          HASH                                 32
ORDER_ITEMS     HASH                                 32

6 rows selected.

SQL>
SQL> select * from dba_part_key_columns where owner='SOE' order by name;

OWNER    NAME            OBJECT_TYPE    COLUMN_NAME       COLUMN_POSITION    COLLATED_COLUMN_ID
________ _______________ ______________ ______________ __________________ _____________________
SOE      ADDRESSES       TABLE          ADDRESS_ID                      1
SOE      CARD_DETAILS    TABLE          CUSTOMER_ID                     1
SOE      CUSTOMERS       TABLE          CUSTOMER_ID                     1
SOE      LOGON           TABLE          CUSTOMER_ID                     1
SOE      ORDERS          TABLE          ORDER_ID                        1
SOE      ORDER_ITEMS     TABLE          ORDER_ID                        1

6 rows selected.

SQL>

rangepart

レンジ・パーティショニングを使用します。

compositepart

コンポジット・パーティショニングを使用します。

圧縮設定

compress

デフォルトの圧縮モデルを使用します。(存在する場合)

nocompress

圧縮を使用しません。

oltpcompress

OLTP圧縮を使用します。
ディクショナリ表で確認すると、ORDERENTRY_METADATA を除いて圧縮されていました。

SQL> r
  1* select table_name,compression,compress_for from dba_tables where owner='SOE' order by 1;

TABLE_NAME              COMPRESSION    COMPRESS_FOR
_______________________ ______________ _______________
ADDRESSES               ENABLED        ADVANCED
CARD_DETAILS            ENABLED        ADVANCED
CUSTOMERS               ENABLED        ADVANCED
INVENTORIES             ENABLED        ADVANCED
LOGON                   ENABLED        ADVANCED
ORDERENTRY_METADATA     DISABLED
ORDERS                  ENABLED        ADVANCED
ORDER_ITEMS             ENABLED        ADVANCED
PRODUCT_DESCRIPTIONS    ENABLED        ADVANCED
PRODUCT_INFORMATION     ENABLED        ADVANCED
WAREHOUSES              ENABLED        ADVANCED

11 rows selected.

SQL>

hcccompress

HCC圧縮を使用します。
oltpcompressと同様、ORDERENTRY_METADATA を除いて圧縮されており、圧縮タイプはQUERY HIGHでした。

SQL> r
  1* select table_name,compression,compress_for from dba_tables where owner='SOE' order by 1;

TABLE_NAME              COMPRESSION    COMPRESS_FOR
_______________________ ______________ _______________
ADDRESSES               ENABLED        QUERY HIGH
CARD_DETAILS            ENABLED        QUERY HIGH
CUSTOMERS               ENABLED        QUERY HIGH
INVENTORIES             ENABLED        QUERY HIGH
LOGON                   ENABLED        QUERY HIGH
ORDERENTRY_METADATA     DISABLED
ORDERS                  ENABLED        QUERY HIGH
ORDER_ITEMS             ENABLED        QUERY HIGH
PRODUCT_DESCRIPTIONS    ENABLED        QUERY HIGH
PRODUCT_INFORMATION     ENABLED        QUERY HIGH
WAREHOUSES              ENABLED        QUERY HIGH

11 rows selected.

SQL>

インデックス・制約設定

allindexes

スキーマのすべてのインデックスを作成します。

noindexes

スキーマのインデックスを作成しません。

constraints

スキーマの主キー・外部キー制約のみ作成します。

出力設定

v

CUI で実行した際に詳細ログを出力します。

debug

デバッグ出力を有効にします。

debugf

デバッグ出力を有効にし、指定されたパスに出力します。

ot

出力形式 (json or std) を設定します。

nc

カラー出力を無効にします。

Swingbench を使って色々な実験をしてみましょう!

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?