6.2.1 指定形式およびオプションの説明
チャンクの状態を変更する表が1つの場合と,2つ以上ある場合とで指定形式が異なります。チャンクの状態を変更する表が2つ以上ある場合は,複数の表のチャンクの状態の変更内容を指定した「チャンクの状態の一括変更設定ファイル」を準備し,チャンクの状態を一括して変更します。
(1) 指定形式
■チャンクの状態を変更する表が1つの場合
adbchgchunkstatus
-u 認可識別子
〔-p パスワード〕
〔--timeout タイムアウト時間〕
〔-w 待機状態に変更するチャンクのチャンクID〔,待機状態に変更するチャンクのチャンクID〕…〕
〔-n 通常状態に変更するチャンクのチャンクID〔,通常状態に変更するチャンクのチャンクID〕…〕
処理対象表
- 重要
-
-
-wオプションまたは-nオプションのどちらかは必ず指定してください。また,両方指定することもできます。
-
処理対象表は,必ずオプションの最後に指定してください。
-
-mオプションは指定できません。
-
■チャンクの状態を変更する表が2つ以上ある場合
adbchgchunkstatus -u 認可識別子 〔-p パスワード〕 〔--timeout タイムアウト時間〕 -m チャンクの状態の一括変更設定ファイル名
- 重要
-
-wオプション,-nオプション,および処理対象表は指定できません。
(2) オプションの説明
- ●-u 認可識別子
-
〜〈文字列〉((1〜100バイト))
adbchgchunkstatusコマンドを実行するHADBユーザの認可識別子を指定します。adbchgchunkstatusコマンドを実行するには,次の2つの権限を持っている必要があります。
-
CONNECT権限
-
処理対象表に対するCHANGE CHUNK STATUS権限
このオプションに指定する認可識別子は,1~100バイトの範囲で指定してください。ただし,認可識別子を囲む二重引用符は,1~100バイトには含みません。
- 重要
-
認可識別子の文字列中に英小文字または\がある場合は,認可識別子の指定規則を必ず確認してください。認可識別子の指定規則については,「1.4.2 認可識別子およびパスワードの指定規則」を参照してください。
-
- ●-p パスワード
-
〜〈文字列〉((1〜255バイト))
-uオプションに指定した認可識別子のパスワードを指定します。
- 重要
-
パスワードの文字列中に,二重引用符(")やストローク(|)など,OSやシェルが別の意味で使用している文字がある場合は,パスワードの指定規則を必ず確認してください。パスワードの指定規則については,「1.4.2 認可識別子およびパスワードの指定規則」を参照してください。
なお,このオプションを省略してadbchgchunkstatusコマンドを実行すると,パスワードの入力を求める応答メッセージが表示されます。バックグラウンドで実行する場合など,標準入力からパスワードを入力できない環境では,このオプションを省略しないでください。
- ●--timeout タイムアウト時間
-
〜〈整数〉((0〜65,535))《0》(単位:秒)
adbchgchunkstatusコマンドがタイムアウトになるまでの時間を指定します。
adbchgchunkstatusコマンドの実行時間がこのオプションで指定した時間を超えた場合,adbchgchunkstatusコマンドの処理はキャンセルされます。
このオプションの指定を省略した場合,またはこのオプションに0を指定した場合,adbchgchunkstatusコマンドのタイムアウト時間は設定されません。adbchgchunkstatusコマンドの処理に時間が掛かっても,タイムアウトしないでコマンドの処理が続行されます。
- メモ
-
adbchgchunkstatusコマンドの実行時間が長くなるとシステムの運用に支障が出る場合は,タイムアウト時間の指定を検討してください。
- ■マルチノード機能を使用している場合
-
次に示す状態のときは,このオプションで指定したタイムアウト時間が経過しても,adbchgchunkstatusコマンドの処理はすぐにはキャンセルされません。次に示す状態が解消されたあとで,adbchgchunkstatusコマンドの処理がキャンセルされます。
-
プライマリノードの切り替え処理中
-
ノードの復帰処理中
-
ワーカーノードの追加処理中
-
他ノードで実行中のトランザクションの終了待ち中
-
- ●-w 待機状態に変更するチャンクのチャンクID〔,待機状態に変更するチャンクのチャンクID〕…
-
〜〈整数〉((1〜9,223,372,036,854,775,807))
待機状態に変更するチャンクのチャンクIDを指定します。複数のチャンクIDを指定する場合は,チャンクIDをコンマ( , )で区切ったり,ハイフン(-)を指定したりしてください。
-
例1:チャンクIDが1,3,5のチャンクを待機状態にする場合
-w 1,3,5
-
例2:チャンクIDが1〜5のチャンクを待機状態にする場合
-w 1-5
-
例3:チャンクIDが1,3,5〜10,15のチャンクを待機状態にする場合
-w 1,3,5-10,15
処理対象表に存在しないチャンクIDや,通常状態でないチャンクのチャンクIDを指定した場合,その指定は無視されます(状態を変更できるチャンクだけを対象とします)。ただし,状態を変更できるチャンクが1つもない場合はエラーになります。
-
- ●-n 通常状態に変更するチャンクのチャンクID〔,通常状態に変更するチャンクのチャンクID〕…
-
〜〈整数〉((1〜9,223,372,036,854,775,807))
通常状態に変更するチャンクのチャンクIDを指定します。複数のチャンクIDを指定する場合は,チャンクIDをコンマ( , )で区切ったり,ハイフン(-)を指定したりしてください。
-
例1:チャンクIDが1,3,5のチャンクを通常状態にする場合
-n 1,3,5
-
例2:チャンクIDが1〜5のチャンクを通常状態にする場合
-n 1-5
-
例3:チャンクIDが1,3,5〜10,15のチャンクを通常状態にする場合
-n 1,3,5-10,15
処理対象表に存在しないチャンクIDや,待機状態でないチャンクのチャンクIDを指定した場合,その指定は無視されます(状態を変更できるチャンクだけを対象とします)。ただし,状態を変更できるチャンクが1つもない場合はエラーになります。
-
- ●処理対象表
-
チャンクの状態を変更する表の表名を指定します。マルチチャンク表を指定してください。
指定規則を次に示します。
-
「スキーマ名.表識別子」の形式で指定します。
自分が所有している表を指定する場合は,スキーマ名を省略できます。ほかのHADBユーザが所有している表を指定する場合は,スキーマ名を指定してください。
-
スキーマ名または表識別子中に,英小文字または\がある場合の指定規則については,「1.4.3 表名の指定規則」を参照してください。
-
CHANGE CHUNK STATUS権限を持っている表を指定できます。
-
シングルチャンク表は指定できません。
-
ビュー表は指定できません。
-
更新不可状態の表は指定できません。
-
adbimportコマンドまたはadbidxrebuildコマンドの実行が中断している表は指定できません。
-
- ●-m チャンクの状態の一括変更設定ファイル名
-
〜〈OSパス名〉((2〜510バイト))
複数の表のチャンクの状態を一括して変更したい場合に,このオプションを指定してください。
このオプションには,チャンクの状態の一括変更設定ファイルの絶対パス名を指定します。チャンクの状態の一括変更設定ファイルとは,複数の表のチャンクの状態の変更内容を指定したファイルです。チャンクの状態の一括変更設定ファイルの指定形式については,「(3) チャンクの状態の一括変更設定ファイルの指定規則」を参照してください。
(3) チャンクの状態の一括変更設定ファイルの指定規則
2つ以上の表のチャンクの状態を一括して変更する場合,チャンクの状態の一括変更設定ファイルを作成します。チャンクの状態の一括変更設定ファイルには,複数の表のチャンクの状態の変更内容を指定します。
■チャンクの状態の一括変更設定ファイルの指定形式
{{ adbchunkstatus -t 処理対象表 〔-w {待機状態に変更するチャンクのチャンクID〔,待機状態に変更するチャンクのチャンクID〕… |ALL}〕 〔-n {通常状態に変更するチャンクのチャンクID〔,通常状態に変更するチャンクのチャンクID〕… |ALL}〕 }}
上記のチャンクの状態の一括変更設定ファイルの指定規則は,サーバ定義と同じです。サーバ定義の指定規則については,マニュアルHADB システム構築・運用ガイドのサーバ定義の文法規則を参照してください。
- ■指定例
-
表TABLE01および表TABLE02のチャンクの状態を変更する指定例を次に示します。
adbchunkstatus \ -t TABLE01 \ -w 10,11,20,21 adbchunkstatus \ -t TABLE02 \ -w 1,2,3,10-20,30 \ -n 50-59
- ■指定規則
-
-
指定できる表の数は,最大32です。
-
表を1つだけ指定して,チャンクの状態を変更することもできます。
-
チャンクの状態の一括変更設定ファイル中には,同じ処理対象表を2つ以上指定できません。
-
1つの処理対象表に対して,-wオプションまたは-nオプションのどちらかは必ず指定してください。また,両方指定することもできます。
-
- ■指定形式の説明
-
- ●adbchunkstatus
-
このオペランドにはチャンクの状態の変更内容を指定します。チャンクの状態を変更したい表の数だけこのオペランドを指定してください。
このオペランドは,1~32個指定できます。
- ●-t 処理対象表
-
〜〈文字列〉((1〜205バイト))
チャンクの状態を変更する表の表名を指定します。レギュラーマルチチャンク表を指定してください。
指定規則を次に示します。
-
表名の指定規則については,マニュアルHADB SQLリファレンスの名前の指定を参照してください。なお,表名に英小文字がある場合は,区切り識別子の形式で表名を指定する必要がありますが,二重引用符(")で囲むのではなく,バックスラッシュと二重引用符(\")で囲んでください。
(例)表名が「ADBUser.Table01」の場合
\"ADBUser\".\"Table01\"
また,表名に空白が含まれる場合は,二重引用符(")で全体を囲んでください。
(例)表名が「ADBUser.Table△01」の場合
"\"ADBUser\".\"Table△01\""
△:半角空白
-
CHANGE CHUNK STATUS権限を持っている表を指定できます。
-
アーカイブマルチチャンク表は指定できません。
-
シングルチャンク表は指定できません。
-
ビュー表は指定できません。
-
更新不可状態の表は指定できません。
-
adbimportコマンドまたはadbidxrebuildコマンドの実行が中断している表は指定できません。
-
- ●-w {待機状態に変更するチャンクのチャンクID〔,待機状態に変更するチャンクのチャンクID〕…|ALL}
-
〜〈文字列〉
待機状態に変更するチャンクのチャンクIDを指定します。処理対象表に存在するすべての通常状態のチャンクを待機状態に変更する場合は,ALLを指定してください。
チャンクIDの指定規則を次に示します。
-
チャンクIDとして指定できる数値は,1〜9,223,372,036,854,775,807です。
-
複数のチャンクIDを指定する場合は,チャンクIDをコンマ( , )で区切ったり,ハイフン(-)を指定したりしてください。
-
1つの待機状態に変更するチャンクのチャンクIDに指定できる文字数は,1~39文字です。
処理対象表に存在しないチャンクIDや,通常状態でないチャンクのチャンクIDを指定した場合,その指定は無視されます(状態を変更できるチャンクだけを対象とします)。
-
- ●-n {通常状態に変更するチャンクのチャンクID〔,通常状態に変更するチャンクのチャンクID〕…|ALL}
-
〜〈文字列〉
通常状態に変更するチャンクのチャンクIDを指定します。処理対象表に存在するすべての待機状態のチャンクを通常状態に変更する場合は,ALLを指定してください。
チャンクIDの指定規則を次に示します。
-
チャンクIDとして指定できる数値は,1〜9,223,372,036,854,775,807です。
-
複数のチャンクIDを指定する場合は,チャンクIDをコンマ( , )で区切ったり,ハイフン(-)を指定したりしてください。
-
1つの通常状態に変更するチャンクのチャンクIDに指定できる文字数は,1~39文字です。
処理対象表に存在しないチャンクIDや,待機状態でないチャンクのチャンクIDを指定した場合,その指定は無視されます(状態を変更できるチャンクだけを対象とします)。
-
(4) -wおよび-nオプションの指定規則
次に示す-wおよび-nオプションの指定規則について説明します。
-
チャンクの状態を変更する表が1つの場合に,adbchgchunkstatusコマンドの引数に指定する-wおよび-nオプション
-
チャンクの状態を変更する表が2つ以上ある場合に,チャンクの状態の一括変更設定ファイルに指定するadbchunkstatusオペランドの-wおよび-nオプション
■共通の指定規則
-
ハイフンを指定してチャンクIDを範囲指定する場合,例えば,3-1のように,数値が大→小になるような指定はできません。また,3-3のような指定もできません。
-
チャンクIDは,最大29,999個指定できます。
なお,ハイフンを指定してチャンクIDを範囲指定する場合,範囲内のすべてのチャンクIDがカウント対象になります。また,チャンクIDを重複指定した場合でも,それぞれカウントされます。
(例)
-
-w 1,3,5と指定した場合
チャンクIDを3個指定したと見なされます。
-
-w 1-10と指定した場合
チャンクIDを10個指定したと見なされます。
-
-n 1,3-5,5と指定した場合
チャンクIDを5個指定したと見なされます。
-
■チャンクの状態を変更する表が1つの場合
-
複数のチャンクIDを指定する場合,コンマまたはハイフンの前後に空白を入れないでください。
-
-wオプションに指定できる値の長さの上限,および-nオプションに指定できる値の長さの上限は両方とも32キロバイトです。このため,-wオプションまたは-nオプションの指定値の長さが32キロバイトを超える場合は,範囲指定に変更するか,またはadbchgchunkstatusコマンドを複数回に分けて実行してください。
-
-wおよび-nオプションの指定誤りのケースを次の表に示します。
表6‒1 -wおよび-nオプションの指定誤りのケース(チャンクの状態を変更する表が1つの場合) adbchgchunkstatusコマンド実行時に出力されたエラーメッセージ
エラーの原因
KFAA50225-E
ハイフンを使った範囲指定の指定形式に誤りがあります。
-
間違った指定例
-w 3-3,4
-n 10-3
-
正しい指定例
-w 3,4
-n 3-10
チャンクIDを30,000個以上指定しています。
-
間違った指定例
-w 1-30000
-
正しい指定例
-w 1-29999
KFAA50235-E
-
-wまたは-nオプションのどちらかを指定していません。-wまたは-nオプションのどちらかを指定するか,または両方のオプションを指定してください。
-
状態を変更できるチャンクが1つもありません。チャンクIDに指定したチャンクが存在するかどうかを確認してください。または,チャンクの状態を確認してください。
KFAA50294-E
指定したチャンクIDが,処理対象表に存在するチャンクIDの範囲外です。処理対象表のチャンクIDを確認してください。
-
KFAA90002-E
-
KFAA96820-I
コンマまたはハイフンの前後に空白を指定しています。
-
間違った指定例
-w 1,△3
-n 1△-10
-
正しい指定例
-w 1,3
-n 1-10
KFAA90003-E
-wオプションの指定値の長さ,または-nオプションの指定値の長さが32キロバイトを超えています。-wまたは-nオプションの指定値を範囲指定にして,指定値の長さを短くしてください。
- (凡例)
-
△:空白
-
■チャンクの状態を変更する表が2つ以上ある場合(チャンクの状態の一括変更設定ファイル)
-
複数のチャンクIDを指定する場合,コンマの前に空白を入れないでください。
-
複数のチャンクIDを範囲指定する場合,ハイフンの前後に空白を入れないでください。
-
チャンクの状態の一括変更設定ファイル内に指定した-wおよび-nオプションの指定誤りのケースを次の表に示します。
表6‒2 -wおよび-nオプションの指定誤りのケース(チャンクの状態の一括変更設定ファイル) adbchgchunkstatusコマンド実行時に出力されたエラーメッセージ
エラーの原因
-
KFAA50005-E
-
KFAA50207-E
指定したチャンクIDの文字数が39文字を超えています。
コンマの前に空白を指定しています。
-
間違った指定例
-w 1,3△,10
-
正しい指定例
-w 1,3,10
-w 1,3,△10
チャンクIDを30,000個以上指定しています。
-
間違った指定例
-w 1,2,.....,30000
-
正しい指定例
-w 1,2,.....,29999
ハイフンの前後に空白を指定しています。
-
間違った指定例
-n 1△-△10
-
正しい指定例
-n 1-10
KFAA50207-E
チャンクIDを30,000個以上指定しています。
-
間違った指定例
-w 1-30000
-
正しい指定例
-w 1-29999
指定できるチャンクID(1~9,223,372,036,854,775,807)の範囲外の数値を指定しています。
ハイフンを使った範囲指定の指定形式に誤りがあります。
-
間違った指定例
-w 8-2
-n 4-4
-
正しい指定例
-w 2-8
-n 4
- (凡例)
-
△:空白
-