スケーラブルデータベースサーバ HiRDB Version 8 コマンドリファレンス(UNIX(R)用)
データベース再編成ユティリティの使用例の一覧(表の再編成)を次に示します。
| 使用例 | 内容 | 区分 |
|---|---|---|
| 例1 | 横分割表の表単位の再編成 | S |
| 例2 | 横分割表のRDエリア単位の再編成 | S |
| 例3 | LOB列がある表の再編成
|
S |
| 例4 | 抽象データ型(SGMLTEXT型)がある表の再編成
|
S |
| 例5 | 横分割表の表単位の再編成 | P |
| 例6 | LOB列がある表の再編成
|
P |
| 例7 | アンロードデータファイルとしてEasyMTを使用する場合の再編成
|
P |
| 例8 | スキーマ単位の再編成 | P |
横分割表(TABLE1)を表単位に再編成します。 表(TABLE1),及びインデクスは次のように定義されているものとします。
CREATE TABLE TABLE1(C1 INT NOT NULL,C2 CHAR(8),C3 INT)
IN ((PDBUSER01) C1 > 10,(PDBUSER02))
CREATE INDEX INDEX1 ON TABLE1(C1) IN ((PDBUSER03),(PDBUSER04))
CREATE INDEX INDEX2 ON TABLE1(C2,C1) IN (PDBUSER05) |
unload /usr/unload_file1 1 idxwork /usr/idx_file 2 sort /usr/sortwork,8192 3 |
横分割表(TABLE1)をRDエリア単位に再編成します。 表(TABLE1),及びインデクスは次のように定義されているものとします。
CREATE TABLE TABLE1(C1 INT NOT NULL,C2 CHAR(8),C3 INT)
IN ((PDBUSER01) C1 > 10,(PDBUSER02))
CREATE INDEX INDEX1 ON TABLE1(C1) IN ((PDBUSER03),(PDBUSER04))
CREATE INDEX INDEX2 ON TABLE1(C2,C1) IN (PDBUSER05) |
unload /usr/unload_file1 1 idxwork /usr/idx_file 2 sort /usr/sortwork,8192 3 |
INDEX2はこのままでは使用できません。
INDEX2を使用する場合は,RDエリアPDBUSER02の再編成をして,PDBUSER02のインデクス情報を出力します。このインデクス情報ファイルと,既に出力されているインデクス情報ファイル2を入力にして,pdrorgでインデクスの一括作成(-k ixmk)を実行してください。
詳細は,「8.6 インデクスの一括作成」を参照してください。
LOB列がある表(TABLE2)に対して,LOB列構成基表とLOB列を同時に再編成します。 なお,次の表及びインデクスが定義されているものとします。
CREATE TABLE TABLE2(C1 INT NOT NULL,C2 BLOB IN ((LOBUSER01),
(LOBUSER02))) IN ((PDBUSER01) C1 > 10,(PDBUSER02))
CREATE INDEX INDEX2 ON TABLE2(C1) IN ((PDBUSER03),(PDBUSER04)) |
unload /usr/unload_file1 1 index INDEX2 PDBUSER03 /usr/index_inf1 2 index INDEX2 PDBUSER04 /usr/index_inf2 2 sort /usr/sortwork,8192 3 lobunld /usr/lobunld_file1 4 |
抽象データ型(SGMLTEXT)の列を持つ表(TABLE1)の再編成をします。抽象データ型(SGMLTEXT)はHiRDB Text Search Plug-inで提供されています。 表,及びインデクスは次のように定義されているものとします。
CREATE TABLE TABLE1(C1 INT,C2 SGMLTEXT ALLOCATE (SGMLTEXT IN LOBUSER01)
PLUGIN'<DTD>sgml.dtd</DTD>' ) IN PDBUSER01
CREATE INDEX INDEX1 USING TYPE NGRAM ON TABLE1(C2) IN LOBUSER02 |
unload /hd001/unload_file1 1 index INDEX1 LOBUSER02 /hd001/ixdir/INDEX1_LOBUSER02 2 |
横分割表(TABLE1)を表単位に再編成します。 表,及びインデクスは次のように定義されているものとします。
CREATE TABLE TABLE1(C1 INT NOT NULL,C2 CHAR(8),C3 INT)
IN ((PDBUSER01) C1 > 10,(PDBUSER02))
CREATE INDEX INDEX1 ON TABLE1(C1) IN ((PDBUSER03),(PDBUSER05))
CREATE INDEX INDEX2 ON TABLE1(C2,C1) IN ((PDBUSER04),(PDBUSER06)) |
unload bes1:/usr/unload_file1 1 idxwork bes1 /usr/idxwork 2 sort bes1 /usr/sortwork,8192 3 unload bes2:/usr/unload_file2 1 idxwork bes2 /usr/idxwork 2 sort bes2 /usr/sortwork,8192 3 |
LOB列がある表(TABLE2)に対して,LOB列構成基表とLOB列を同時に再編成します。 次の表,及びインデクスが定義されているものとします。
CREATE TABLE TABLE2(C1 INT NOT NULL,C2 BLOB IN ((LOBUSER01),
(LOBUSER02))) IN ((PDBUSER01) C1 > 10,(PDBUSER02))
CREATE INDEX INDEX2 ON TABLE2(C1) IN ((PDBUSER03),(PDBUSER04)) |
unload bes1:/usr/unload_file1 1 unload bes2:/usr/unload_file2 1 index INDEX2 PDBUSER03 /usr/index_inf1 2 index INDEX2 PDBUSER04 /usr/index_inf2 2 sort bes1 /usr/sortwork,8192 3 sort bes2 /usr/sortwork,8192 3 lobunld bes1:/usr/lobunld_file1 4 lobunld bes2:/usr/lobunld_file2 4 |
| 横分割表(TABLE1)を表単位に再編成します。 このとき,アンロードデータファイルとしてEasyMTを使用します。また,アンロードデータファイルは-gオプションを指定して一つだけ作成します。 表,及びインデクスは次のように定義されているものとします。
CREATE TABLE TABLE1(C1 INT NOT NULL,C2 CHAR(8),C3 INT)
IN ((PDBUSER01) C1 > 10,(PDBUSER02))
CREATE INDEX INDEX1 ON TABLE1(C1) IN ((PDBUSER03),(PDBUSER05))
CREATE INDEX INDEX2 ON TABLE1(C2,C1) IN ((PDBUSER04),(PDBUSER06)) |
mtguide use 1 unload fes1:MT01 file=unload_data,vol=(vol001,vol002) 2 idxwork bes1 /usr/idx_file 3 idxwork bes2 /usr/idx_file 3 sort bes1 /usr/sortwork,8192 4 sort bes2 /usr/sortwork,8192 4 |
スキーマ(USER01)が所有するすべての表を再編成します。 USER01は次の表を定義しているものとします。 CREATE TABLE TABLE1(C1 INT) IN (BES1R01) CREATE TABLE TABLE2(C1 BLOB IN LOBUSER01) IN(BES2R01) CREATE TABLE TABLE3(C1 FREEWORD) IN(BES3R01) |
unload bes1:/hd001/unload_file1 1 idxwork bes1 /hd001/idxwork 2 sort bes1 /hd001/sortwork,8192 3 idxwork bes2 /hd001/idxwork 2 sort bes2 /hd001/sortwork,8192 3 idxwork bes3 /hd001/idxwork 2 sort bes3 /hd001/sortwork,8192 3 |
All Rights Reserved. Copyright (C) 2006, 2016, Hitachi, Ltd.