Hitachi

ノンストップデータベース HiRDB Version 10 コマンドリファレンス(UNIX(R)用)


10.5 リバランス中のSQL実行可否

リバランス中のSQL実行可否を次の表に示します。

表10‒10 リバランス中のSQL実行可否

SQL文

リバランス処理中

リバランス途中,及びリバランス停止中

共用モード

占有モード

SELECT文

○

×

○

UPDATE文

○※1

×

○※1

INSERT文

○※2

×

○※2

DELETE文

○

×

○

LOCK文

○

×

○

PURGE TABLE文※3

×※4

×

○

DROP TABLE

×※4

×

○

CREATE INDEX

×※4

×

○

DROP INDEX

×※4

×

○

ALTER TABLE

×※4

×

×

(凡例)

○:実行できます。

×:実行できません。

注※1

ユニークキーインデクスを構成する列の更新はできません(エラーとなります)。

注※2

リバランス対象表にユニークキーインデクスが定義されている場合は実行できません(エラーとなります)。

注※3

RDエリア追加後,pdrbal実行前にPURGE TABLE文又はRDエリアの再初期化をした場合,リバランス初期化処理がされていないため,追加したRDエリアに対する格納処理は実行されません。

また,pdrbalがリターンコード0で終了する前に,PURGE TABLE文又はRDエリアの再初期化をした場合,リバランス完了処理がされていないため,FIXハッシュ分割表のSQL検索性能が劣化したままとなります。このような場合には,PURGE TABLE文又はRDエリアの再初期化をした後の状態で,pdrbalを実行してください。これによって,リバランス初期化処理,又はリバランス完了処理が実行されます。

注※4

回復不要FESを適用している場合,pdrbal実行中に定義系SQLやPURGE TABLE文が実行できてしまうことがあります(回復不要FESを適用していない場合は,不当に定義系SQLやPURGE TABLE文が実行されないように,フロントエンドサーバが排他資源を確保して防いでいます)。このため,pdrbal実行中は定義系SQLやPURGE TABLE文を実行しないでください。なお,占有モードでpdrbalを実行する場合は,バックエンドサーバで表に排他制御が掛かっているため,定義系SQLは排他待ちとなります。