8.10.2 オプション
- 〈この項の構成〉
(1) -k 処理内容
- rorg
-
表の再編成をする場合に指定します。
- unld
-
表のアンロードをする場合に指定します。
- reld
-
表へリロードする場合に指定します。
- ixmk
-
インデクスの一括作成をする場合に指定します。
- ixrc
-
インデクスの再作成をする場合に指定します。
- ixor
-
インデクスの再編成をする場合に指定します。
- maintenance
-
ディクショナリ表のメンテナンスをする場合に指定します。
(a) 文字コード変換の有無
文字集合が定義された列を持つ表に対してpdrorgを実行する場合,-kと-Wの指定値によって,文字コ−ド変換をするかどうかが異なります。オプションの指定値と文字コード変換の有無を次の表に示します。
-kの指定 |
-Wの指定 |
||||
---|---|---|---|---|---|
あり |
なし |
||||
UOCあり |
UOCなし |
UOCあり |
UOCなし |
||
rorg |
アンロード時 |
− |
− |
○ |
× |
リロード時 |
− |
− |
○ |
× |
|
unld |
○ |
○ |
○ |
○ |
|
reld |
− |
− |
− |
△ |
|
ixmk |
− |
− |
− |
− |
|
ixrc |
− |
− |
− |
− |
|
ixor |
− |
− |
− |
− |
|
maintenance |
− |
− |
− |
− |
- (凡例)
-
○:文字コード変換をします。
△:アンロードデータファイル中の文字コードと文字集合が定義された列の文字コードが異なる場合に文字コード変換をします。
×:文字コード変換をしません。
−:該当しません。
(b) 注意事項
-k rorgを指定した場合,アンロード処理,リロード処理,及びインデクス作成処理(-i c指定の場合)を連続で実行します。処理の途中で異常終了した場合,どの処理中に異常終了したのかを,データベース中に表のステータスとして記憶しているため,同じ処理内容で再実行したときには異常終了した処理から再開始をします。この場合,必ずしもアンロード処理から開始されるとは限りません。詳細については,「表の再編成時のリロード処理でエラーとなった場合の運用方法」を参照してください。
前回のpdrorgが正常終了したか,異常終了したかに関係なく,常にアンロード処理から再編成を実施したい場合は,-k unldと-k reldを分けて実行する運用を検討してください。
OSの時刻を遅らせた場合に,誤ったインデクス情報ファイルを指定してインデクスの一括作成を実行すると,表とインデクスのデータが不一致になることがあります。詳細については,マニュアル「HiRDB システム運用ガイド」を参照してください。
(3) -t {〔認可識別子.〕表識別子|〔認可識別子.〕all|表識別子〔,表識別子〕…}
処理対象となる表の名称を指定します。
(a) ユーザが定義した表の場合
ユーザが定義した表の場合,次の形式で指定してください。
-t {〔認可識別子.〕表識別子|〔認可識別子.〕all}
表名を一つだけ指定するか,又はスキーマが所有するすべての表を再編成する場合はallを指定してください。スキーマが所有するすべての表を再編成することを,スキーマ単位の再編成といいます。
認可識別子を省略した場合は,HiRDBに接続したときのユーザの名称が仮定されます。
<規則>
-
ビュー表は指定できません。
-
認可識別子,又は表識別子を引用符('')で囲んだ場合は,英大文字と英小文字が区別されます。引用符('')で囲まない場合は,すべて英大文字として扱われます。なお,sh(Bourneシェル),csh(Cシェル),及びksh(Kシェル)の場合は,更にアポストロフィ(’)で囲む必要があります。
<スキーマ単位の再編成の規則>
-
スキーマ単位の再編成は,-k rorg,unld,又はreldの場合で,同期点指定の再編成,リロードをしないときに指定できます。
-
スキーマ単位にアンロードした場合,そのアンロードデータファイルから表単位にリロードできます。逆に,表単位にアンロードした場合,そのアンロードデータファイルからスキーマ単位にはリロードできません。
-
アンロード又はリロードをする表の順序は,表識別子の昇順となります。
-
ある表を処理しているときにエラーが発生した場合は,その時点で処理を終了します。ある表がリロード時にエラーとなった場合は,正常に処理が終了した表については再編成が完了しているので,エラーとなった表,及びまだ処理をしていない表について,表単位にリロードしてください。
-
スキーマ単位の再編成をする場合,UAPが再編成中の表をアクセスして待ち状態にならないように,スキーマ内の表を格納しているRDエリアをpdholdコマンドで閉塞するようにしてください。
-
アンロード時とリロード時で,スキーマにある表が変わった場合,次のようになります。
アンロードしたときの表:(T1,T3,T5,T7) ↓ リロードするときの表:(T1,T2,T3,T5)
T1,T3,T5:リロードします。
T2:アンロードしたときにはなかったため,処理をスキップします。
T7:リロードするときはないため,リロードはしません。
(b) ディクショナリ表の場合
ディクショナリ表の場合,次の形式で指定してください。
-t 表識別子〔,表識別子〕…
ディクショナリ表の個数分,表名を指定できます。認可識別子は指定できません。すべてのディクショナリ表を再編成したい場合は,-tオプションを省略してください。
ディクショナリ表を再編成する場合,事前にデータディクショナリ用RDエリアのバックアップを取得してください(リロード処理中にユニットダウンした場合,及びRDエリアの拡張に使用する表のリロード中にRDエリアが容量不足になった場合は,バックアップから再編成前の状態に戻す必要があります)。
指定できるディクショナリ表の表識別子を次に示します。なお,同じディクショナリ表の表識別子は重複指定できません。
項番 |
表識別子 |
備考 |
---|---|---|
1 |
SQL_PHYSICAL_FILES |
なし |
2 |
SQL_RDAREAS |
|
3 |
SQL_TABLES |
|
4 |
SQL_COLUMNS |
|
5 |
SQL_INDEXES |
|
6 |
SQL_USERS |
|
7 |
SQL_RDAREA_PRIVILEGES |
|
8 |
SQL_TABLE_PRIVILEGES |
|
9 |
SQL_DIV_TABLE |
|
10 |
SQL_DIV_TABLE_REGULARIZE |
システムが使用する表 |
11 |
SQL_INDEX_COLINF |
なし |
12 |
SQL_TABLE_STATISTICS |
|
13 |
SQL_COLUMN_STATISTICS |
|
14 |
SQL_INDEX_STATISTICS |
|
15 |
SQL_VIEW_TABLE_USAGE |
|
16 |
SQL_VIEWS |
|
17 |
SQL_VIEW_DEF |
システムが使用する表 |
18 |
SQL_DIV_INDEX |
なし |
19 |
SQL_DIV_COLUMN |
|
20 |
SQL_REFERENTIAL_CONSTRAINTS |
|
21 |
SQL_ALIASES |
|
22 |
SQL_ROUTINES |
|
23 |
SQL_ROUTINE_RESOURCES |
|
24 |
SQL_ROUTINE_PARAMS |
|
25 |
SQL_DATATYPES |
|
26 |
SQL_DATATYPE_DESCRIPTORS |
|
27 |
SQL_TABLE_RESOURCES |
|
28 |
SQL_PLUGINS |
|
29 |
SQL_PLUGIN_ROUTINES |
|
30 |
SQL_PLUGIN_ROUTINE_PARAMS |
|
31 |
SQL_REGISTRY_CONTEXT |
システムが使用する表 |
32 |
SQL_REGISTRY_KEY |
|
33 |
SQL_INDEX_TYPES |
なし |
34 |
SQL_INDEX_RESOURCES |
|
35 |
SQL_INDEX_DATATYPE |
|
36 |
SQL_INDEX_FUNCTION |
|
37 |
SQL_TYPE_RESOURCES |
|
38 |
SQL_INDEX_TYPE_FUNCTION |
|
39 |
SQL_EXCEPT |
|
40 |
SQL_USAGE_PRIVILEGES |
システムが使用する表 |
41 |
SQL_IOS_GENERATIONS |
なし |
42 |
SQL_TRIGGERS |
|
43 |
SQL_TRIGGER_ACTCOND |
システムが使用する表 |
44 |
SQL_TRIGGER_COLUMNS |
なし |
45 |
SQL_TRIGGER_DEF_SOURCE |
|
46 |
SQL_TRIGGER_USAGE |
|
47 |
SQL_PARTKEY |
|
48 |
SQL_PARTKEY_DIVISION |
|
49 |
SQL_AUDITS |
|
50 |
SQL_AUDIT_REGULARIZE |
システムが使用する表 |
51 |
SQL_KEYCOLUMN_USAGE |
なし |
52 |
SQL_TABLE_CONSTRAINTS |
|
53 |
SQL_CHECKS |
|
54 |
SQL_CHECK_COLUMNS |
|
55 |
SQL_DIV_TYPE |
|
56 |
SQL_SYSPARAMS |
|
57 |
SQL_DB_MANAGEMENT |
システムが使用する表 |
58 |
SQL_DB_STATE_ANALYZED |
|
59 |
SQL_PUBLICVIEW_SAME_USERS |
|
60 |
SQL_INDEX_XMLINF |
なし |
61 |
SQL_SEQUENCES |
|
62 |
SQL_SDB_DB |
システムが使用する表 |
63 |
SQL_SDB_DB_VIEW |
|
64 |
SQL_SDB_STORAGE_DB |
|
65 |
SQL_SDB_NAME_CODE |
|
66 |
SQL_SDB_DIR |
|
67 |
SQL_ACCESS_SECURITY |
なし |
(4) -r RDエリア名
〜<識別子>((1〜30))
複数のRDエリアに分割格納した横分割表の場合,特定のRDエリアの部分だけ再編成するときに,対象となるRDエリアの名称を指定します。
省略した場合,横分割表のすべてのデータが再編成の対象となります。
(a) 規則
-
RDエリア名を引用符('')で囲んだ場合は,英大文字と英小文字が区別されます。引用符('')で囲まない場合は,すべて英大文字として扱われます。また,RDエリア名に空白が含まれる場合は,引用符('')で囲んでください。なお,sh(Bourneシェル),csh(Cシェル),及びksh(Kシェル)の場合は,更にアポストロフィ(’)で囲む必要があります。
-
フレキシブルハッシュ分割の横分割表に対して,RDエリア単位にアンロードし,ハッシュ関数の変更,又はRDエリアの追加をした場合,リロード時はハッシュ関数を無視して元のRDエリアにそのままデータを格納します。
キーレンジ分割,又はFIXハッシュ分割の横分割表に対して,RDエリア単位にアンロードした後,分割条件を変更してリロードできません。
ハッシュ関数の変更,RDエリアの追加,又は分割条件の変更をして表の再編成をしたい場合は,-gオプション指定の表単位の再編成をしてください。なお,ハッシュ関数の変更,及びRDエリアの追加は,定義系SQLのALTER TABLEで実行します。アンロードした表とリロードした表の表定義が異なる場合のリロード実行可否については,「アンロード元の表とリロード先の表の表定義が異なる場合のリロード実行可否」を参照してください。
-
スキーマ単位の再編成をする場合,-rオプションは指定できません。
-
レプリカRDエリアを指定する場合,RDエリア名にはオリジナルRDエリア名を指定し,-qオプションに対象となる世代番号を指定します。
(5) -l ログ取得方式
〜《p》
pdrorg実行時の,データベースの更新ログの取得方法を指定します。
なお,pdrorg実行中に異常終了した場合,更新ログを取得していても,データベースはpdrorg実行前の状態には戻りません。pdrorgが異常終了した場合の対処方法については,「エラー時のデータベースの状態とその回復方法」を参照してください。
- a
-
ログ取得モードを示します。ロールバック,及びロールフォワードに必要なデータベースの更新ログを取得します。
- <適用基準>
-
このモードは,少量データの表に対して処理する場合に適しています。
ログ取得モードで実行した場合,pdrorgの実行前,及び実行後にバックアップを取得する必要はありませんが,処理性能はほかのモードに比べて劣ります。
- p
-
更新前ログ取得モードを示します。ロールバックに必要なデータベースの更新ログは取得しますが,ロールフォワードに必要なデータベースの更新ログは取得しません。
- <適用基準>
-
このモードは,大量データの表に対して処理する場合に適しています。
更新前ログ取得モードで実行した場合,ログ取得モードに比べると実行時間は短縮できます。ただし,以後の媒体障害などに備えて,pdrorgの実行後にバックアップを取得する必要があります。
pdrorg実行中に障害が発生した場合,pdrorgが障害発生直前に同期を取った時点まで回復します。そのため,RDエリアがログレス閉塞になることは防げますが,処理対象表はpdrorg実行前の状態には回復されません。
- n
-
ログレスモードを示します。データベースの更新ログを取得しません。
- <適用基準>
-
ログレスモードで実行した場合,ほかのモードに比べると実行時間は短縮できます。ただし,ユティリティ実行中の障害でバックアップから回復する場合や,以後の媒体障害などの発生によって,データベースのバックアップ及びログから回復する場合に備えて,pdrorgの実行前及び実行後にバックアップを取得する必要があります。このモードは,大量データの表に対して処理する場合に適しています。
- <注意事項>
-
-
pdrorgをログレスモードで実行していた場合にエラーが発生したときは,エラーによって閉塞したRDエリアはバックアップから回復するか,又は再初期化をする必要があります。
-
インデクスの再作成(-k ixrc)の場合にログレスモードを指定すると,キー検索処理中はデータベースが障害閉塞となることを防ぐため,ログ取得モードとなります。また,インデクスの再編成(-k ixor)の場合にログレスモードを指定したときも,キー検索処理中はデータベースが障害閉塞となることを防ぐため,更新前ログ取得モードが仮定されます。このため,ログレスモードを指定してもキー検索処理中はセグメント解放ログが出力されます。
-
(a) 注意事項
-
p,及びnの場合に,以前取得したバックアップとログ,又はアンロードデータ(該当するRDエリアに再編成対象の表だけ格納されている場合)から回復できるときは,pdrorg実行前のバックアップ取得は不要です。
-
p,及びnの場合の運用方法(データベースの更新ログを取得しないときの運用)については,マニュアル「HiRDB システム運用ガイド」を参照してください。
-
-lオプションの指定に関係なく,pdrorgが生成するトランザクション(T)によってトランザクションログは必ず取得されます。1サーバ当たり,次のトランザクションログを生成するため,pdrorg実行時のログ量の計算式は次のようになります。
ログ量=(1328+176×3)×T+A (単位:バイト) <-k unldの場合> T=(x×2)+(y×2) <-k reldの場合> T=(x×3)+(y×3)+(z×2) <-k ixrcの場合> T=(x×2)+(z×2) <-k ixmkの場合> T=z×2 <-k ixorの場合> T=z×3 <-k rorgの場合> T=<-k unldの場合>+<-k reldの場合>+(x+y) <-k maintenanceの場合> マニュアル「HiRDB システム導入・設計ガイド」の「システムファイル及び監査証跡ファイルの容量の見積もり」の「システムログファイルの容量見積もり」の「ディクショナリ表のメンテナンス実行時に出力されるシステムログ量」を参照してください。 x:表の数(同期点指定のリロードの場合は同期点の数)※ y:LOB列(LOB属性)格納用RDエリアの数(-jありの場合は1)※ z:インデクス数×インデクス格納用RDエリアの数(-i sの場合は不要)※
- 注※
-
スキーマ単位に処理する場合は,そのスキーマが所有するすべての表ごとに計算をする必要があります。
A=データベース操作に応じて出力されるシステムログ量(データベースの更新ログ量)。この値は-lオプションの指定値で変わります。システムログ量の求め方については,マニュアル「HiRDB システム導入・設計ガイド」を参照してください。-k maintenanceの場合は,-lオプションの指定値に関係なく,マニュアル「HiRDB システム導入・設計ガイド」の「システムファイル及び監査証跡ファイルの容量の見積もり」の「システムログファイルの容量見積もり」の「ディクショナリ表のメンテナンス実行時に出力されるシステムログ量」を参照してください。
また,p又はnを指定した場合,排他制御によってENQログを取得します。1サーバ当たり次のENQログを取得します。
ENQログ=(p+q+r)×T p:表格納用RDエリアの数 q:LOB列(LOB属性)格納用RDエリアの数 r:インデクス格納用RDエリアの数
したがって,「システムログファイルのレコード長×ENQログ」の分だけシステムログが出力されます。
-
インデクスの再作成(-k ixrc)又はインデクスの再編成(-k ixor)の場合にログレスモードを指定したときに出力されるセグメント解放ログのログ量は,PURGE TABLE実行時に出力するインデクスのログと同じ量になります。ログ量の計算式は,マニュアル「HiRDB システム導入・設計ガイド」の「PURGE TABLE文実行時に出力されるシステムログ量」の「インデクス」を参照してください。計算式中の確保セグメント数については,pddbstのRDエリア単位の論理的解析,又はインデクス単位の解析を実行して,解析結果の使用中セグメント数で計算してください。
-
-k unldの場合,-lオプションの指定値に関係なく,ログ取得モード(-l a)が仮定されます。
-
ログ同期方式のリアルタイムSANレプリケーションを適用している場合,業務サイトで-l p又は-l n指定のpdrorgを実行したときは,システムログ適用化を実施してください。システムログ適用化については,マニュアル「HiRDB ディザスタリカバリシステム 構築・運用ガイド」を参照してください。
(6) -i インデクス作成方法
インデクスの作成方法を指定します。
このオプションを省略すると,ユーザが定義した表の場合はc,ディクショナリ表の場合はsが仮定されます。
- c
-
インデクス一括作成モードを示します。このモードを指定した場合,表へのリロード処理に引き続き,インデクスを一括作成します。
- <適用基準>
-
大量データの表を再編成をする場合に,高速にインデクスを作成できます。
- n
-
インデクス情報出力モードを示します。このモードを指定した場合,インデクス情報だけをインデクス情報ファイルに出力します。
- <適用基準>
-
出力されたインデクス情報ファイルを使用して,pdrorgでインデクスの一括作成(-k ixmk)を複数同時に実行することで,高速にインデクスを作成できます。特に,HiRDB/パラレルサーバで複数のサーバに分割格納されている表の場合に効果があります。
- <注意事項>
-
-
インデクス情報出力モード(-i n)を指定した場合,表へのリロード後にpdrorgでインデクスの一括作成(-k ixmk)をする必要があります。インデクスの一括作成を実行していない状態で,ALTER TABLEでRDエリアを追加すると,出力されたインデクス情報ファイルは使用できなくなります。ALTER TABLEでRDエリアを追加する場合は,先にインデクスの一括作成を終了させてください。なお,先にALTER TABLEでRDエリアを追加してしまった場合は,pdrorgのインデクスの再作成(-k ixrc)をする必要があります。
-
再編成対象の表にプラグインインデクスが定義されている場合,プラグインがプラグインインデクス一括作成部分回復機能をサポートしていないと,-i nは指定できません。
-
インデクス情報出力モード(-i n)を指定した場合,インデクスの一括作成(-k ixmk)が完了するまではALTER INDEXでインデクスの名称を変更しないでください。インデクスの名称を変更すると,インデクスの一括作成ができなくなります。なお,インデクスの一括作成が完了する前にインデクスの名称を変更してしまった場合は,ALTER INDEXで元のインデクス名称に戻してからインデクスの一括作成をし,その後でインデクスの名称を変更してください。
-
インデクス情報出力モード(-i n)を指定した場合,インデクスの一括作成(-k ixmk)が完了するまでは,インデクスを格納したRDエリアの名称を変更しないでください。インデクスを格納したRDエリアの名称を変更すると,インデクスの一括作成ができなくなります。なお,インデクスの一括作成が完了する前にインデクスを格納したRDエリアの名称を変更してしまった場合は,pdmodで元のRDエリア名称に戻してからインデクスの一括作成をし,その後でRDエリアの名称を変更してください。
-
- s
-
インデクス更新モードを示します。行を格納するたびにインデクスを更新します。
- <適用基準>
-
少量データの表を再編成する場合に指定してください。
(a) インデクス作成上の注意事項
-
横分割インデクスと非横分割インデクスでのインデクス作成方法を次の図に示します。
1サーバ内の複数RDエリアに表を分割格納している場合,表格納用RDエリアと同じ数のインデクス格納用RDエリアに格納する横分割インデクスと,表格納用RDエリアの数とは関係なく一つのインデクス格納用RDエリアに格納する非横分割インデクスがあります。
横分割インデクスは,サーバ内で分割されている表に対して,同じように分割格納します(図中のRDエリアINDEX1_1,INDEX1_2)。
非横分割インデクスは,表格納用RDエリアの数に関係なく,サーバ内の1RDエリアに格納します(図中のRDエリアINDEX1_3,INDEX2_1,INDEX2_2)。
図8‒20 分割キーインデクスと非分割キーインデクスでのインデクス作成方法 - [説明]
-
再編成でのインデクスの作成は,-iオプションの指定に従います。
例えば,RDエリア単位にTABLE1_1を再編成した場合,横分割インデクスINDEX1_1が作成されます(INDEX1_2は影響を受けません)。しかし,非横分割インデクスINDEX2_1は,TABLE1_1及びTABLE1_2の両方の情報がないと作成できないため,インデクスは作成されません(TABLE1_1のインデクス情報ファイルだけ作成されます)。
非横分割インデクスを作成するためには,TABLE1_2に対しても再編成をして,TABLE1_2のインデクス情報ファイルを作成します。そして,作成済みのTABLE1_1のインデクス情報ファイルとTABLE1_2のインデクス情報ファイルを使用して,pdrorgのインデクスの一括作成をします。
-
リロードが終了してから,インデクスの一括作成が終了するまでの間は,該当するインデクスは未完状態となり,使用できません。
-
-i c,又は-i nを指定すると,「インデクス数×表格納用RDエリア数」のインデクス情報ファイルを作成します。このファイルは,リロード時に同時にオープンするため,ファイル数が多いと1プロセスで使用できるファイル数の上限を超えることがあります。上限を超えると,性能が劣化するおそれがあります。そのため,RDエリアごとにデータをリロードすることを推奨します。
なお,1プロセスで使用できるファイルディスクリプタ数の上限値は,物理限界値又は7872のうちの小さい方の値です。
(b) -i c又は-i n指定時の注意事項
-i c又は-i n指定時にindex文,及びidxwork文を省略すると,既定の出力先ディレクトリにインデクス情報ファイルを出力します。pdrorgが異常終了すると,このインデクス情報ファイルが不完全な状態で残ります。このため,pdrorgの異常終了を何度も繰り返すと不完全なインデクス情報ファイルが増加し,ディスク容量などOSの資源を圧迫することになります。したがって,既定の出力先ディレクトリに出力した必要のないインデクス情報ファイルについては削除するようにしてください。
index文を省略してidxwork文だけを指定した場合に,idxwork文に指定したディレクトリ下に出力するインデクス情報ファイルについても同様です。
既定の出力先ディレクトリについては「規則及び注意事項」の「インデクス作成時のファイルの出力先について」を参照してください。
また,インデクス情報ファイルは,次の名称規則で出力します。
INDEX-インデクス名-インデクス格納用RDエリア名-一意となる文字列
(7) -W {{dat|extdat}〔,〔セパレータ文字〕〔,{cr|crlf}〕〔,sup〕〕|bin〔 -w〕|fixtext〔,〔パディング文字〕〔,{cr|crlf}〕〕}
アンロードデータファイルをデータベース作成ユティリティの入力データファイルとして使用する場合,又はUAPなどで使用する場合に指定します。また,表やインデクスをエクスポートする場合に指定します。
表のデータを,DAT形式,拡張DAT形式,バイナリ形式,又は固定長データ形式でアンロードデータファイルに出力します。
エクスポートする場合は,-W bin -wを指定します。
-Wオプションを指定して出力したアンロードデータファイルの形式については,「データベース作成ユティリティの入力用ファイルの形式」を参照してください。
- dat
-
DAT形式でデータを出力する場合に指定します。
- extdat
-
拡張DAT形式でデータを出力する場合に指定します。
拡張DAT形式でデータを出力する場合,アンロードデータファイルは複数個指定できません。
- セパレータ文字 〜<文字列>
-
DAT形式,又は拡張DAT形式で出力する場合,各データ間のセパレータ文字をコンマ(,)以外に変更するときに指定します。
省略した場合,セパレータ文字はコンマとなります。
- <規則>
-
-
次に示す文字は,データベース作成ユティリティの入力データファイルのセパレータ文字に指定できないため,セパレータ文字として指定できません。
*(アスタリスク),"(引用符),_(下線)
-
次に示す文字はアンロードするデータと重なる可能性があるため,セパレータ文字として適していません。
・英大文字(A〜Z),英小文字(a〜z)
・数字(0〜9)
・行データをDAT形式に変換したとき,その文字と重なる文字
・日本語入力時に文字コードが重なる文字
(|,¥,[,],(,),{,}, ̄)
・数値データがある場合の符号(+,−)
・日付データ入力時のハイフン(−)
・時刻データ入力時のコロン(:)
・日間隔,時間隔データ入力時のピリオド(.)
-
コンマをセパレータ文字にしたい場合は,セパレータ文字を指定しないでください。
-
セパレータ文字に空白が含まれる場合は,引用符(")で囲んでください。
-
- {cr|crlf}
-
DAT形式,又は拡張DAT形式で出力する場合,改行コードの出力方法を指定します。省略した場合は,crが仮定されます。
cr:0x0aで改行コードを出力します。
crlf:0x0d,0x0aで改行コードを出力します。
セパレータ文字を省略してcr,又はcrlfを指定したい場合はコンマで区切ります(例:-W dat, ,cr)。
- sup
-
DAT形式,又は拡張DAT形式でCHAR,NCHAR,MCHAR型の列データを出力する場合に,列データの後方に連続する空白を出力しないときに指定します。
CHAR,MCHAR型の場合,表定義の列長に満たない部分の半角空白を圧縮します。列データがすべて空白の場合は,半角空白を1バイト出力します。
NCHARの場合,表定義の列長に満たない部分の2バイトの空白を圧縮します。
列データがすべて空白の場合は,2バイトの空白を1文字出力します。2バイトの空白は使用する文字コードによって異なります。文字コードについては,マニュアル「HiRDB SQLリファレンス」を参照してください。
supオプションを指定した場合の出力形式については,「データベース作成ユティリティの入力用ファイルの形式」を参照してください。
- <適用基準>
-
supオプションを指定すると,次の効果があります。
-
アンロードデータファイルの容量を削減できます。
-
表定義時にCHAR,NCHAR,又はMCHAR型の列に対してサプレスオプションを指定していると,後方の空白を既に圧縮した形でデータベース作成ユティリティの入力データを生成します。このため,アンロード時も圧縮に必要なオーバヘッドを削減できます。
-
- <注意事項>
-
-
supオプションを指定してアンロードした場合,アンロードデータファイル中の列データの長さは一定になりません。そのため,出力したデータをソートしたり,UAPで編集したりする場合,注意が必要です。
-
CHAR型,MCHAR型の列には,複数バイト文字や,文字コード以外の値も格納できますが,supオプションを指定した場合,複数バイト文字の何バイト目かの文字が空白と同じ値であったり,文字コード以外の値が空白と同じ値であったとしても,無条件に圧縮されます。この場合,同じ表に再度データロードすれば列の定義長に満たない部分は空白で埋められます。ただし,そのデータをほかのプログラムで参照したり,表示したりする場合,最後の2バイトコードの文字が文字化けするためsupオプションを指定しないでください。
-
- bin 〔-w〕
-
バイナリ形式のデータを出力する場合に指定します。
エクスポートする場合は-wオプションを同時に指定します。エクスポートの詳細については,マニュアル「HiRDB システム運用ガイド」の「表定義情報と表データを同時に移行する方法」を参照してください。
- fixtext
-
固定長データ形式のデータを出力する場合に指定します。
- <指定例>
-
-
パディング文字,及び{cr|crlf}を省略する場合
-W fixtext
-
パディング文字が△で,{cr|crlf}を省略する場合
-W fixtext ,△
-
パディング文字が△で,crを指定する場合
-W fixtext ,△,cr
-
パディング文字を省略し,crlfを指定する場合
-W fixtext ,,crlf
-
- パディング文字
-
列データがナル値,要素データがナル値,又は定義長より短い可変長文字列の場合,定義長まで埋める文字を指定します。
- <規則>
-
-
指定できるパディング文字は1バイトの文字です。
-
パディング文字を省略した場合,空白文字(0x20)が仮定されます。パディング文字を空白文字にする場合は,パディング文字を省略してください。
-
アスタリスク(*),引用符("),及び下線(_)は指定できません。
-
- {cr|crlf}
-
改行コードを付ける場合に指定します。
- cr:
-
1バイトの改行コード(0x0a)を付けます。
- crlf:
-
2バイトの改行コード(0x0d,0x0a)を付けます。
(a) 適用基準
次のような場合に指定します。
-
別の表へ表データを移行する場合
-
表データをアンロードデータファイルに出力し,そのデータをUAPなどで使用する場合
(b) 規則
-
-Wオプション指定で出力したアンロードデータファイルは,pdrorgのリロードでは使用できません。
-
このオプションを指定する場合,-fオプションにhirdbは指定できません。
-
スキーマ単位の再編成をする場合,-Wオプションは指定できません。
-
表の1行の定義長が512メガバイトを超える場合,DAT形式,及び固定長データ形式ではデータを出力できません。この場合,バイナリ形式でデータを出力してください。
-
UNIX版HiRDBからWindows版HiRDBへデータ移行をする場合,又はその逆の場合,DAT形式で出力してください。また,文字コード変換が必要な場合は文字コード変換をしてから,移行先へデータロードしてください。
-
文字集合UTF-16を指定したCHAR型の列を,キーレンジ分割又はマトリクス分割(境界値指定のキーレンジ分割)の分割キーとして指定した表の場合,分割キーの長さが列の定義長を超えるときは,その表はエクスポートできません。
-
LOB列又はLOB属性の抽象データ型の列がある表に対して-Wオプションを指定する場合,実データ又はナル値のどちらかが出力されます。-Wオプションと出力されるデータの関係を次の表に示します。
表8‒15 -Wオプションと-jオプションの関係 列のデータ型
-Wオプション
bin
dat又はextdat
fixtext
既定義型
BINARY型
実データ
実データ
出力しません
BLOB型
実データ
ナル値
出力しません
上記以外
実データ
実データ
実データ
抽象データ型
BLOB属性※
実データ
ナル値
出力しません
上記以外
実データ
実データ
出力しません
- 注※
-
unld_func文に指定するコンストラクタパラメタ逆生成関数の引数の型です。
(8) -g
HiRDB/パラレルサーバの場合で,複数のサーバに格納されている表データを,1サーバの1アンロードデータファイルにアンロードする場合に指定します。
また,HiRDB/シングルサーバの場合,ユティリティ専用ユニットへアンロードデータファイルを作成するときに指定します。
LOB列がある表の場合も,一つのLOBデータのアンロードファイルへアンロードできます。
(a) 適用基準
このオプションは次のような場合に指定します。
-
バックアップ用にアンロードデータファイルを作成する場合
-
表の分割条件を変更する場合
-
ユティリティ専用ユニットにアンロードデータファイルを出力する場合
-
HiRDB/パラレルサーバで,該当するホストが容量不足でアンロードできない場合,他ホストに容量が確保できるとき
(b) 注意事項
-
HiRDB/パラレルサーバでスキーマ単位の再編成をする場合,及び表,インデクスを-W bin -wオプションを指定してエクスポートする場合は,-gオプションを省略しても,指定したものと仮定されます。
-
RDエリア単位にアンロードしたデータを,-gオプションを指定して表単位にリロードすると,ほかのサーバのRDエリアも0件データとして処理するため,データを削除してしまいます。この場合には,-gオプションを指定しないでください。
-
RDエリア単位にアンロードしたデータを,-gオプションを指定してRDエリア単位でリロードする場合,表の分割条件は変更できません。
-
HiRDB/パラレルサーバで,複数のサーバに分割格納された表をアンロードする場合,-gオプションを指定しているときにはサーバごとに順次アンロードします。この場合,パラレル性能は劣化します。
(9) -j
LOB列又はLOB属性を持つ抽象データ型が定義された表に対して基表とLOBデータを同時に再編成,アンロード,リロードする場合に指定します。なお,LOB列及びLOB属性を持つ抽象データ型が定義されてない表に-jオプションを指定しても指定を無視します。
再編成で,LOB列が定義された表に対して基表だけ,又はLOBデータだけを再編成する場合は,このオプションを指定しないでください。この場合の制御文の指定方法を次に示します。
再編成対象 |
指定する制御文 |
---|---|
基表 |
unload |
LOBデータ |
lobunld |
次の場合は,指定がなくてもこのオプションを仮定します。
-
スキーマ単位の再編成,アンロード,リロード
-
-Wオプションを指定したアンロード
次の場合は,この指定が必須となります。
-
LOB列が定義された表を同期点指定のリロードをする場合
-
LOB列又はLOB属性を持つ抽象データ型が定義された表をアンロードする場合
同表へのリロード可否,及び別表間でのデータ移行可否を次の表に示します。
項番 |
アンロードファイル作成条件 |
リロード可否 |
||||
---|---|---|---|---|---|---|
対象表 |
オプション |
制御文 |
-jオプション |
|||
LOB列又はLOB属性 |
-k |
-j |
なし |
あり |
||
1 |
なし |
rorg |
− |
unload |
○ |
○ |
2 |
unld※1 |
− |
unload |
○ |
○ |
|
3 |
あり |
rorg |
なし |
unload |
○ |
× |
4 |
lobunld |
○ |
× |
|||
5 |
unload,lobunld |
× |
× |
|||
6 |
あり※2 |
unload |
× |
○ |
||
7 |
unld※1 |
なし※3 |
unload |
非該当 |
非該当 |
|
8 |
あり |
unload |
× |
○ |
項番 |
移行対象表 |
移行方法 |
移行可否 |
|
---|---|---|---|---|
LOB列又はLOB属性 |
データ抽出 |
データ登録 |
||
1 |
なし |
pdrorg -k unld -W .. |
pdload .. |
○ |
2 |
pdrorg -k unld -j .. |
pdrorg -k reld -j .. |
△ |
|
3 |
pdrorg -k unld .. |
pdrorg -k reld .. |
△ |
|
4 |
あり |
pdrorg -k unld -W .. |
pdload .. |
○ |
5 |
pdrorg -k unld -j .. |
pdrorg -k reld -j .. |
△ |
|
6 |
pdrorg -k unld .. |
pdrorg -k reld .. |
× |
(a) 規則
-
LOB列がない表に対してこのオプションを指定した場合は,指定が無視されます。
-
スキーマ単位の再編成をする場合,及び表,インデクスを-W bin -wオプションを指定してエクスポートする場合は,-jオプションを省略しても,指定したものと仮定されます。
-
アンロード時に-jオプションを指定した場合には,リロード時にも-jオプションを指定してください。
-
HiRDB/パラレルサーバで,複数のサーバに分割格納された表をアンロードする場合,-gオプションを指定しているときにはサーバごとに順次アンロードします。この場合,パラレル性能は劣化します。
(10) -u 認可識別子
pdrorgを実行するユーザの認可識別子を指定します。
省略時仮定値については,「省略時仮定値」を参照してください。
このオプションを指定した場合,パスワード入力要求の応答付きメッセージが表示されます。パスワードが不要な場合は,応答付きメッセージに対して空送信してください。
ここで指定した認可識別子でHiRDBに接続し,実行権限のチェックをします。
(a) 適用基準
環境変数PDUSERに設定されている認可識別子ではない,別の認可識別子で実行したい場合に指定します。
(b) 省略時仮定値
省略した場合,次の方法で認可識別子/パスワードが仮定されます。
-
pdrorg実行時の環境変数PDUSERの設定値が仮定されます。シェルで&を付けてバックグラウンドで実行する場合や,リモートシェル環境で実行する場合など,パスワードの応答ができない環境で実行するときは,PDUSERを必ず設定してください。環境変数PDUSERの指定例を次に示します。
(例)Cシェルの場合
パスワードありの場合 setenv PDUSER '"認可識別子"/"パスワード"'
パスワードなしの場合 setenv PDUSER '"認可識別子"'
-
環境変数PDUSERが設定されていない場合,ログインウィンドウのユーザ名が仮定されます。パスワードについては,入力要求の応答付きメッセージが表示されるので,そこで応答してください。パスワードが不要な場合は,応答付きのメッセージに対して空送信してください。
(c) 規則
-
このオプションは,シェルで&を付けてバックグラウンドで実行する場合や,リモートシェルなどの応答できない環境では指定しないでください。
-
認可識別子を引用符('')で囲んだ場合は,英大文字と英小文字が区別されます。引用符('')で囲まない場合は,すべて英大文字として扱われます。なお,sh(Bourneシェル),csh(Cシェル),及びksh(Kシェル)の場合は,更にアポストロフィ(’)で囲む必要があります。
(11) -n {一括入出力用ローカルバッファ面数〔,div〕| 一括入出力用ローカルバッファ面数,〔div〕,ランダムアクセス用ローカルバッファ面数 | ,,ランダムアクセス用ローカルバッファ面数}
アンロード処理でのデータベースからの読み込み,及びリロード処理でのデータベースへの書き込みを行う場合に使用する,ローカルバッファの面数を指定します。-nオプションを指定した際に,一括入出力用ローカルバッファ面数,又はランダムアクセス用ローカルバッファ面数を指定していない場合は,該当ローカルバッファは使用しません。なお,-nの指定自体を省略した場合は, ローカルバッファを使用しません。この場合,グローバルバッファを使用して1ページ単位に出力します。
- 一括入出力用ローカルバッファ面数 〜<符号なし整数>((2〜4096))
-
一括入出力用ローカルバッファの面数を指定します。一括入出力用ローカルバッファは,データページに対して使用します。
一括入出力用ローカルバッファ面数には,16〜32面を指定することをお勧めします。184キロバイト÷ページ長を上限に指定値を決めてください。
- div
-
次の条件をすべて満たす場合にdivを指定します。次の条件をすべて満たす場合にdivを指定しないと,入出力回数が増加し,性能が劣化することがあります。
-
アンロード時の分割条件と,リロード時の分割条件が異なる
-
表格納用RDエリアが1サーバ内に複数ある
なお,divを指定すると,サーバ内表分割数分のバッファを確保するため,メモリ消費量が増えます。
-
- ランダムアクセス用ローカルバッファ面数 〜<符号なし整数>((4〜125000))
-
ランダムアクセス用ローカルバッファの面数を指定します。ランダムアクセス用ローカルバッファは,インデクスページに対して使用します。このオペランドは,インデクス更新モードでインデクスを作成する場合に指定します。インデクス更新モードでは,行を格納するたびにB-tree構造のインデクスページを参照しますが,ランダムアクセス用ローカルバッファを使用すれば,これらのインデクスページを当該バッファに読み込むため,グローバルバッファ競合によるオンライン処理の性能劣化を軽減できます。
推奨する-nオプションの指定を次の表に示します。
条件 |
表種別 |
列定義 |
サーバ内での表の分割 |
|
---|---|---|---|---|
あり |
なし |
|||
アンロード時 |
FIX表 |
− |
-n x,div |
-n x |
非FIX表 |
− |
-nの指定を省略 |
||
リロード,再編成時 |
FIX表 |
− |
-n x,div |
-n x |
非FIX表 |
列長が256バイトを超える可変長文字列,又はBINARY列を定義している場合 |
-nの指定を省略 |
||
上記以外 |
-n x,div |
-n x |
- (凡例)
-
x:一括入出力用ローカルバッファ面数
−:該当なし
(a) pdrorgが使用するバッファについて
-
-nオプションを省略した場合,グローバルバッファを使用します。この場合,再編成時に大量のグローバルバッファを使用するため,そのグローバルバッファを使用するUAPのトランザクション性能が劣化します。-nオプションを指定すると,このようなバッファ競合はなくなります。pdrorgとバッファの関係を次の図に示します。
図8‒21 pdrorgとバッファの関係 - 〔説明〕
-
グローバルバッファだけを使用する場合(-nオプションを省略した場合),pdrorgとUAPとでバッファの競合が発生します。
ローカルバッファとグローバルバッファを使用する場合(-nオプションを指定した場合),pdrorgとUAPとのバッファの競合は発生しません。ただし,LOB列の再編成の場合は,-nオプションを指定してもグローバルバッファを使用します。
-
-nオプションに一括入出力用ローカルバッファ面数だけを指定した場合,一つのRDエリアに対して一つの一括入出力用ローカルバッファを使用します。RDエリアがn個ある場合でも,一つの一括入出力用ローカルバッファを使用するため,バッファ競合が発生します。バッファ競合が発生すると,逆に入出力回数が増加して性能劣化を引き起こします。このような場合にはdivを指定してください。divを指定すると,RDエリア数分の一括入出力用ローカルバッファを確保(一つのRDエリアに対して一つの一括入出力用ローカルバッファを確保)するため,バッファの競合はなくなります。
-
一括入出力用ローカルバッファを指定しても,条件によってはグローバルバッファを使用することがあります。各条件と使用されるバッファとの関係を次の表に示します。
表8‒19 各条件と使用されるバッファとの関係(pdrorgでのアンロード処理時) 条件
ランダムアクセス用ローカルバッファの指定
なし
あり
グローバルバッファ
一括入出力用ローカルバッファ
グローバルバッファ
一括入出力用ローカルバッファ
ランダムアクセス用ローカルバッファ
データページ
LOB列構成基表を格納するRDエリア
FIX表
−
○
−
○
−
非FIX表
○
−
○
−
−
LOB列格納用RDエリア
○
−
○
−
−
LOB属性格納用RDエリア
○
−
○
−
−
インデクスページ
インデクスからキー値検索する場合(-b指定時)
○
−
−
−
○
ディレクトリページ
○
−
○
−
−
- (凡例)
-
○:使用します。
−:使用しません。
表8‒20 各条件と使用されるバッファとの関係(pdrorgでのリロード処理時) 条件
ランダムアクセス用ローカルバッファの指定
なし
あり
グローバルバッファ
一括入出力用ローカルバッファ
グローバルバッファ
一括入出力用ローカルバッファ
ランダムアクセス用ローカルバッファ
データページ
LOB列構成基表を格納するRDエリア
FIX表
−
○
−
○
−
非FIX表
列長が256バイトを超える可変長文字列,又はBINARY列を定義している場合
○
−
○
−
−
抽象データ型列又は繰返し列を定義していて,かつ1行のデータが1ページに入らない場合
○
−
○
−
−
上記以外
−
○
−
○
−
LOB列格納用RDエリア
○
−
○
−
−
LOB属性格納用RDエリア
○
−
○
−
−
インデクスページ
表からキー値検索する場合(-i c又はn指定時)
−
○
−
○
−
インデクスの同時作成をする場合(-i s指定時)
○
−
−
−
○
インデクスの一括作成をする場合(-i c指定時)
○
−
−
−
○
ディレクトリページ
○
−
○
−
−
- (凡例)
-
○:使用します。
−:使用しません。
(b) 規則
-
リバランス表の場合,グローバルバッファが十分に割り当てられていないと,極端に性能が劣化することがあります。したがって,定義長が256バイトを超える列がないときは一括入出力ページ数を指定するようにしてください。
定義長が256バイト以上の列があるなどの理由で,ローカルバッファ指定が有効にならない場合は,次の面数以上のグローバルバッファを割り当ててください。
1RDエリアに必要なバッファ面数
=1024÷(表格納用RDエリア数)×2+3
-
FIXハッシュ分割のリバランス表の場合,ハッシュグループごとに指定したページ数のバッファを確保するため,横分割していない表やほかの条件で分割している表よりも,メモリを多量に消費します。
(12) -f アンロードデータファイル・LOBデータのアンロードファイルの種別
アンロードデータファイル,又はLOBデータのアンロードファイルの種別を指定します。
このオプションを省略した場合は,ファイルとして通常ファイル,又はストリーミングテープデバイスが仮定されます。
- easymt
-
アンロードデータファイル,又はLOBデータのアンロードファイルとしてEasyMTを使用する場合に指定します。
- hirdb
-
アンロードデータファイル,又はLOBデータのアンロードファイルとしてHiRDBファイルを使用する場合に指定します。
(13) -b アンロード順指定
アンロードするデータの順番を指定します。
省略した場合,表にクラスタキーが定義されていればクラスタキー順に,クラスタキーが定義されていなければ表のデータの格納順にアンロードします。
なお,インデクス定義条件によっては,指定できないことがあります。-bオプションの指定可否を次の表に示します。
条件 |
指定可否 |
||
---|---|---|---|
インデクス種別 |
定義条件 |
||
B-treeインデクス |
部分構造インデクス |
− |
× |
上記以外 |
除外キ−値指定がある |
× |
|
インデクス構成列に繰返し列がある |
× |
||
上記以外 |
○ |
||
プラグインインデクス |
− |
× |
(a) 適用基準
クラスタキーが定義されている表をアンロードする場合は,このオプションを省略してください。
クラスタキーが定義されていない表をアンロードして,リロードする前に,表にクラスタキーを定義しようとしている場合は,定義しようとしているクラスタキーと同じ順番(ASC,又はDESC)のインデクス順でアンロードしてください。
アンロードするデータ順として,次のどれかを指定します。
- cluster
-
クラスタキー順にアンロードする場合に指定します。
- index,インデクス識別子〔,desc〕
-
インデクス順にアンロードする場合に指定します。
descを指定すると,インデクスの降順にアンロードできます。なお,descは,単一列インデクスの場合にだけ指定できます。
- primary〔,,desc〕
-
主キー順にアンロードする場合に指定します。
descを指定すると,インデクスの降順にアンロードできます。なお,descは,単一列インデクスの場合にだけ指定できます。
- physical
-
表のデータの格納順にアンロードする場合に指定します。
<規則>
-
インデクス識別子を引用符('')で囲んだ場合は,英大文字と英小文字が区別されます。引用符('')で囲まない場合は,すべて英大文字として扱われます。また,インデクス識別子に空白が含まれる場合は,引用符('')で囲んでください。なお,sh(Bourneシェル),csh(Cシェル),及びksh(Kシェル)の場合は,更にアポストロフィ(’)で囲む必要があります。
-
descは単一列インデクスの場合だけ指定できます。
-
このオプションを指定した場合,表格納用RDエリア単位ではアンロードデータファイルに出力されたデータが指定したインデクス順に出力されますが,表全体としてはインデクス順にはなりません。したがって,インデクス順に出力したアンロードデータファイルが必要な場合(-Wオプションを指定してDAT形式のデータを出力する場合など)は,横分割表についてはRDエリア単位にアンロードデータファイルを作成する必要があります。
-
スキーマ単位の再編成の場合,-bオプションは指定できません。
-
LOB列をインデクス順にアンロード(-bオプションにindexを指定)する場合は,インデクスが作成されていなければなりません。次の場合はインデクスが作成されないので,インデクスを作成してからLOB列をアンロードする必要があります。
-
-iオプションにnを指定した場合
-
サーバ内分割されていない非分割キーインデクスの定義された表に対して,RDエリア単位にリロードする場合
-
(14) -S
CHAR,NCHAR,又はMCHAR型の列にサプレスオプションを指定している表を再編成する場合に,列データの後方に連続する空白があるとき,その空白を取り除いてアンロードするときに指定します。
(a) オプション指定時の効果
このオプションを指定すると,処理時間の短縮,及びアンロードデータファイルの容量を削減できます。
-Sオプションを指定して,処理時間の短縮,及びアンロードデータファイルの容量を削減できるケースを次に示します。
アンロードした表の状態 |
リロード先の表の状態 |
||||
---|---|---|---|---|---|
サプレスオプションなしの列 |
サプレスオプションありの列 |
||||
条件A |
条件B |
条件A |
条件B |
||
サプレスオプションありの列 |
条件A |
○ |
○ |
◎ |
○ |
条件B |
× |
× |
× |
× |
- (凡例)
-
- 条件A:
-
該当する列にインデクスが定義されていない,かつキーレンジ分割列,ハッシュ分割列でない場合
- 条件B:
-
該当する列にインデクスが定義されている,又はキーレンジ分割列,若しくはハッシュ分割列の場合
- ◎:
-
アンロード,及びリロード時の処理時間が短縮され,アンロードデータファイルの容量が削減されます。
- ○:
-
アンロード時の処理時間が短縮され,アンロードデータファイルの容量が削減されます。リロード時の処理時間は,◎の場合よりも遅くなります。
- ×:
-
処理時間の短縮,及びアンロードデータファイルの容量削減の効果はありません。
(b) 注意事項
-
-Sオプションを指定して,かつサプレスオプションを指定している表の列の場合でも,次に示す列は処理時間の短縮,及びアンロードデータファイルの容量の削減はできません。
-
インデクスが定義されている列
-
キーレンジ分割の列
-
ハッシュ分割の列
-
-
リロード時に,上記の列の定義が変更されている場合は,定義が変更されていない場合に比べて処理時間は遅くなります。
-
-Wオプションを指定している場合,このオプションを指定しても無効となります。
(15) -o
インデクス作成処理が正常終了した後に,インデクス情報ファイルを自動的に削除する場合に指定します。
(a) 適用基準
特にプラグインインデクスを作成するときのインデクス情報ファイルは大容量となり,インデクス情報ファイルを削除しないでおくと,ディスク容量を圧迫することになります。このインデクス情報ファイルの削除し忘れに備え,インデクス作成処理終了後に自動的にインデクス情報ファイルを削除する場合に,このオプションを指定します。
(b) 注意事項
インデクス情報ファイルの内容と,-oオプションの関係を次に示します。
-kオプション |
インデクス情報ファイルの内容 |
-oオプション |
|
---|---|---|---|
あり |
なし |
||
rorg,reld |
index文で指定したインデクス情報ファイル |
○※ |
× |
HiRDBが割り当てたインデクス情報ファイル |
○※ |
○※ |
|
ixmk |
pdload,又はpdrorgが作成したインデクス情報ファイル |
○ |
× |
プラグインインデクスのインデクス遅延一括作成機能で作成したインデクス情報ファイル |
○ |
○ |
|
ixrc,ixor |
idxname文を指定したときにHiRDBが割り当てたインデクス情報ファイル |
○ |
○ |
index文で指定したインデクス情報ファイル |
○ |
× |
- (凡例)
-
○:削除されます。
×:削除されません。
- 注※
-
サーバ内で分割している表の場合,RDエリア単位の再編成でサーバ内分割されていない非分割キーインデクスのときは削除されません。
(16) -m 〔経過メッセージ出力間隔〕〔,インフォメーションメッセージ出力抑止レベル〕
- 経過メッセージ出力間隔 〜<符号なし整数>((1〜1000))《10》
-
処理の実行状況を出力するメッセージの出力間隔を,1万行単位で指定します。なお,このメッセージは,-mオプションにlvl2を指定すると,トラブルシュート情報を出力するワークファイルにも出力されます。
- <適用基準>
-
省略時仮定値の10万行間隔出力が長い場合,又は短い場合に,任意に指定してください。
- <注意事項>
-
-
表へリロードする場合のインデクス一括作成中,及びインデクスの一括作成で指定したときは無効となり,インデクスの作成開始時点,及び終了時点でメッセージが出力されます。
-
-k ixrcの場合は,このオプションの指定を無視します。ただし,プラグインインデクスを処理する場合は有効です。
-
- インフォメーションメッセージ出力抑止レベル 〜《lvl0》
-
実行した端末の標準出力,syslogfile,及びメッセージログファイルへのインフォメーションメッセージの出力を抑止します。標準出力,syslogfile,及びメッセージログファイルのすべての出力を抑止する場合,トラブルシュート情報はワークファイルに出力します。指定できるオプションとメッセージの出力先を次の表に示します。
表8‒22 オプションの指定値とメッセージの出力先 オプションの指定値
意味
出力先
標準出力
syslogfile及びメッセージログファイル
ワークファイル
lvl0
出力を抑止しない
○
○
×
lvl1
標準出力への出力を抑止する
×
○
×
lvl2
標準出力,syslogfile及びメッセージログファイルへの出力を抑止する
×
×
○
ワークファイルにメッセージを出力するのはトラブルシュート目的(ユティリティの動作を確認するため)であり,通常,メッセージを確認する必要がない場合はlvl1を指定することをお勧めします。
- <ワークファイル>
-
ワークファイルは,-mオプションにlvl2を指定すると,ユティリティを実行するごとに各サーバに作成されます。このため,pdcspoolコマンドでHiRDBによって定期的に削除されるように,pd_tmp_directoryオペランドにディレクトリを指定しておくことをお勧めします。ワークファイルの出力先を次の表に示します。
表8‒23 ワークファイルの出力先 システム定義のpd_tmp_directoryオペランドの指定
環境変数TMPDIRの指定
ワークファイルの出力先
あり
−
pd_tmp_directoryオペランドに指定したディレクトリ
なし
あり
環境変数TMPDIRに指定したディレクトリ
なし
/tmpディレクトリ
なお,ファイルオープンエラーやI/Oエラーなどのためにインフォメーションメッセージがワークファイルへ出力できない場合は,エラーメッセージが出力されますが,処理は続行します。
ワークファイルは,HiRDBが自動で作成します。ファイル名称は,PDRORG-aa-bbの形式で決められます。それぞれの意味について説明します。
-
PDRORG:pdrorgが出力したファイルであることを示す固定のプリフィクスです。
-
aa:インナレプリカ機能を使用していない場合は,プロセスのサーバ名称です。インナレプリカ機能を使用している場合は,プロセスのサーバ名称,GN,及び世代番号を組み合わせた文字列です。
-
bb:ファイル作成時間,及びプロセスIDです。
-
(17) -X サーバ間通信の応答監視時間
〜<符号なし整数> ((1〜65535)) 《300》
コマンドを実行したサーバで通信障害などの障害が発生した場合,コマンドは無応答となり,業務が停止するおそれがあります。pdrorgでは障害を検知するために,コマンドで実施されるディクショナリ操作についての通信の応答時間を監視できます。
-Xオプションには,ディクショナリ操作での応答監視時間を秒数で設定します。ディクショナリ操作時の実行時間が,-Xオプションに設定した時間を超えた場合は,pdrorgはディクショナリアクセスで障害が発生したと判断し,リターンコード8で処理を打ち切ります。pdrorgの監視時間には,このほかにpdrorgの実行監視時間があります。サーバ間通信の応答監視時間とpdrorgの実行監視時間との関係については,「exectime=pdrorgの実行監視時間」を参照してください。
- <適用基準>
-
-
通信障害やユニットダウンによってサーバから応答が返らない状態となった場合に,300秒より早く障害を検知したいとき,-Xオプションに300より小さい値を指定してください。
-
系切り替え機能を使用している場合,系切り替えが完了しているにもかかわらず,コマンドが応答を待ち続けることがあります。その場合は,監視時間を短く設定することで,コマンドを即時終了できます。
-
同時実行するアプリケーションやユティリティの多重度が高い場合など,ディクショナリからの応答が遅延し,-Xオプションのデフォルトである300秒以内にユティリティの前処理が完了しないときは,監視時間でタイムアウトするおそれがあります。このような環境では,-Xオプションには300より大きい値を指定してください。
-
ディクショナリ表のメンテナンスでインデクスを追加する場合,大量のデータが登録されているディクショナリ表に対して実行すると,処理時間が長くなり,デフォルトである300秒を超えるおそれがあります。そのため,応答監視時間には300より大きい値を指定してください。対象となるディクショナリ表については,マニュアル「HiRDB システム導入・設計ガイド」の「HiRDBのシステム構築の概要」の「HiRDBのバージョンアップ」の「バージョンアップ時の留意事項」の表「メンテナンスが必要なケースとディクショナリ表のメンテナンス内容」を参照してください。
-
(18) -q 世代番号
〜<符号なし整数>((0〜10))
インナレプリカ機能を使用している場合,処理対象となるRDエリアの世代番号を指定します。
世代番号は次のように指定します。
0:オリジナルRDエリアを対象とする場合
1〜10:指定した世代のレプリカRDエリアを対象とする場合
(a) 適用基準
インナレプリカ機能を使用していて,カレントRDエリア以外のRDエリアを処理対象にする場合に指定します。
(b) 規則
-
このオプションを省略した場合,カレントRDエリアが対象となります。
-
処理対象がレプリカRDエリアの場合,-qオプションに対象となる世代番号を指定します。
-
pdrorgは,処理対象となるRDエリアの世代が一致しているかどうかをチェックします。次のチェックをして,エラーがあった場合にはメッセージを出力してから,リターンコード8で終了します。
- 横分割表間で世代番号が一致しているかどうかのチェック:
-
横分割表に対して処理をする場合,格納先のRDエリア間の世代チェックをします。
-qオプション指定時は,各格納先に,指定した世代のRDエリアがあるかどうかをチェックします。-qオプション省略時は,各格納先のカレントRDエリアの世代番号が同一かどうかをチェックします。
- 表及びインデクスを格納するRDエリア間の世代番号が同一かどうかのチェック:
-
表及びインデクスを格納するRDエリアの世代チェックをします。
-qオプション指定時は,処理対象となるRDエリアに,指定した世代があるかどうかをチェックします。-qオプション省略時は,処理対象となるカレントRDエリアが,すべて同じ世代かどうかをチェックします。
- 処理対象RDエリアのレプリカステータスが同一かどうかのチェック:
-
-qオプション指定時に,処理対象RDエリアにカレントRDエリアとカレントRDエリア以外が混在していないかをチェックします。
(19) 制御情報ファイル名
〜<パス名>
pdrorgの制御文を記述した制御情報ファイルの名称を指定します。
制御情報ファイルには,次に示す制御文を記述できます。各制御文については,次を参照してください。
なお,制御情報ファイル中にコメントは記述できません。
制御文 |
pdrorgの機能 |
||||||
---|---|---|---|---|---|---|---|
表の再編成 |
表のアンロード |
表へのリロード |
ディクショナリ表の再編成 |
インデクスの一括作成 |
インデクスの再作成 |
インデクスの再編成 |
|
mtguide文,emtdef文 |
○ |
○ |
○ |
○ |
− |
− |
− |
unload文 |
◎ |
◎ |
◎ |
◎ |
− |
− |
− |
index文 |
○ |
− |
○ |
− |
◎ |
◎※6 |
◎※6 |
idxname文 |
− |
− |
− |
− |
− |
◎※6 |
◎※6 |
idxwork文 |
○※1 |
− |
○※1 |
− |
− |
○ |
○ |
sort文 |
○※2 |
− |
○※2 |
− |
○ |
○ |
− |
lobunld文 |
○ |
○※3 |
○ |
○ |
− |
− |
− |
unlduoc文 |
○ |
○ |
− |
× |
× |
× |
× |
tblname文 |
− |
− |
○ |
− |
− |
− |
− |
array文 |
− |
○※4 |
− |
− |
− |
− |
− |
unld_func文 |
○※5 |
○※8 |
− |
− |
− |
− |
− |
reld_func文 |
○※5 |
− |
○ |
− |
− |
− |
− |
constraint文 |
○ |
− |
○ |
− |
− |
− |
− |
option文 |
○ |
○※4※7 |
○ |
○※7 |
○※7 |
○※7 |
○※7 |
blobtovarchar文 |
− |
○※4 |
− |
− |
− |
− |
− |
fixtext_option文 |
− |
○※4 |
− |
− |
− |
− |
− |
- (凡例)
-
◎:必ず指定してください。
○:任意に指定できます。
−:指定しても無視されます。
×:指定するとエラーになります。
- 注※1
-
-i sの場合は指定できません。
- 注※2
-
-i n,及び-i sの場合は指定できません。
- 注※3
-
-Wオプションを指定した場合は指定できません。
- 注※4
-
-Wオプションを指定した場合に指定できます。
- 注※5
-
unld_func文,及びreld_func文を同時に指定する必要があります。
- 注※6
-
index文,又はidxname文のどちらかを指定してください。
- 注※7
-
同期点を指定した再編成及びリロードの場合,指定できません。
- 注※8
-
抽象データ型の列がある表を,-W bin指定でアンロードする場合は必ず指定してください。
(a) 制御文とオプションの関係
- ●LOB列,又はプラグインが提供する抽象データ型列(LOB属性)がある表の場合
-
LOB列がある表を再編成する場合,unload文,及びlobunld文の指定によって再編成の単位が異なります。LOB列がある表の再編成の単位と,unload文,lobunld文,及び-jオプションとの関係を次に示します。
表の再編成の単位
unload文
lobunld文
-jあり
-jなし
-jあり
-jなし
LOB列構成基表及びLOB列
○
○
×
○
LOB列構成基表
×
○
×
−
LOB列
×
−
×
○
- (凡例)
-
○:指定できます。
×:指定できません。
−:不要です。
- ●インデクスの再作成,又はインデクスの再編成をする場合
-
インデクスの再作成,又はインデクスの再編成をする場合,idxname文でインデクス単位に処理,又はindex文でインデクス格納RDエリア単位に処理できます。インデクスの再作成,又はインデクスの再編成単位と,index文,idxname文,idxwork文,及びsort文の関係を次に示します。
インデクスの再作成,
又は再編成単位
index文
idxname文
idxwork文
sort文
-k ixrc
-k ixor
インデクス単位
×
◎
○
○
−
インデクス格納RDエリア単位
◎
×
−
○
−
- (凡例)
-
◎:必ず指定してください。
○:任意に指定できます。
×:指定できません。
−:指定しても無視されます。
(b) 制御文で記述するファイル,及びディレクトリについて
制御文で記述するファイル,及びディレクトリの規則を次に示します。
-
HiRDB管理者に対してアクセス権限を与えておく必要があります。
-
アンロードデータファイル,インデクス情報ファイル,及びEasyMTのMT属性ファイルのファイル名称は,ホストに関係なくすべて一意にしてください。