Hitachi

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


2.105.1 pdrdconstckの形式と規則

〈この項の構成〉

(1) 機能

インナレプリカグループ内のRDエリアの構成情報の整合性をチェックし,差異を検出します。また,RDエリアの構成情報を出力します。このコマンドは,ディクショナリ表からRDエリアの構成情報を検索し,オリジナルRDエリアとレプリカRDエリアの差異を確認することで,整合性のチェックを行います。このコマンドでチェック対象とするディクショナリ表及び列名を次に示します。

ディクショナリ表

列名

データ型

内容

SQL_RDAREAS

SQL_RDAREAS

INTEGER

ページ長(単位:バイト)。

SEGMENT_SIZE

INTEGER

セグメントサイズ(単位:ページ)。

FILE_COUNT

INTEGER

HiRDBファイル数。

EXTENSION

CHAR(1)

RDエリアの増分指定有無。

U:指定あり

N:指定なし

EXTENSION_SEGMENT_SIZE

INTEGER

増分セグメント数。

RDエリアの増分指定がない場合はナル値となります。

SQL_PHYSICAL_FILES

PHYSICAL_FILE_NAME

VARCHAR(167)

HiRDBファイル名。

INITIAL_SIZE

INTEGER

HiRDBファイルのセグメント数。

PHYSICAL_FILE_ID

INTEGER

物理ファイルID。

(2) 実行者

HiRDB管理者が実行できます。

(3) 形式

(a) インナレプリカグループ内のRDエリアを指定する場合

 pdrdconstck {-r ALL|-r RDエリア名} 〔-u 認可識別子〕 〔-o ファイル名〕

(b) インナレプリカグループに含まれないRDエリアを指定する場合

 pdrdconstck {-r ALL -n|-r RDエリア名} 〔-u 認可識別子〕 -o ファイル名

(4) オプション

(a) -r ALL(-n指定なし)

すべてのインナレプリカグループ内のRDエリアの整合性チェックを実施し,更にRDエリアの構成情報を出力します。

(b) -r ALL(-n指定あり)

インナレプリカグループに含まれないすべてのユーザRDエリア,ユーザLOB用RDエリアの構成情報を出力します。RDエリアの構成情報出力だけを行い,RDエリアの構成情報の整合性チェックは実施しません。

(c) -r RDエリア名

インナレプリカグループ内のRDエリアを指定した場合

指定したRDエリアを含むインナレプリカグループ内のRDエリアの整合性チェックを実施し,更にRD エリアの構成情報を出力します。

インナレプリカグループに含まれないRDエリアを指定した場合

指定したユーザRDエリア,ユーザLOB用RDエリアを対象に,RDエリアの構成情報出力を実施します。RDエリアの構成情報の整合性チェックは実施しません。

(d) -u 認可識別子

ディクショナリ表を検索するユーザの認可識別子を指定します。DBA権限を持つユーザを指定する必要があります。

このオプションを指定すると,パスワード入力要求の応答付きメッセージが出力されます。認可識別子,パスワードを引用符(")で囲んだ場合は,英字の大文字と小文字を区別しますが,引用符(")で囲まない場合はすべて大文字として扱います。

このオプションを省略した場合,環境変数PDUSERの設定値が仮定されます。このオプションを省略し,かつ環境変数PDUSERも設定していない場合,このコマンドは実行できません。

(e) -o ファイル名

RDエリアの構成情報を出力するファイル名を絶対パス名で指定します。

-r ALL(-n指定なし),又は-r RDエリア名でインナレプリカグループ内のRDエリアを指定した場合

このオプションを省略した場合,RDエリアの構成情報出力は行わず,整合性チェックの結果を標準出力にだけ出力します。

-r ALL(-n指定あり),又は-r RDエリア名でインナレプリカグループに含まれないRDエリアを指定した場合

このオプションを省略した場合,オプション指定エラーとなります。

(5) 規則

  1. pdrdconstckコマンドは,HiRDB稼働中のときだけ実行できます。

  2. pdrdconstckコマンドは,シングルサーバ又はディクショナリサーバを定義しているユニットで実行してください。

  3. pdrdconstckコマンド実行時は,環境変数PDHOST,PDNAMEPORTを設定してください。

(6) 出力形式

pdrdconstck VV-RR    *** RDAREA INFORMATION *** YYYY-MM-DD hh:mm:ss     ...1
-----                                                                   ...2
[RDAREA_NAME=aa....aa, RDAREA_ID=bb....bb, GENERATION_NUMBER=cc....cc]  ...3
SQL_RDAREAS                                                             ...3
 PAGE_SIZE=dd....dd                                                     ...3
 SEGMENT_SIZE=ee....ee                                                  ...3
 FILE_COUNT=ff....ff                                                    ...3
 EXTENSION=gg....gg                                                     ...3
 EXTENSION_SEGMENT_SIZE=hh....hh                                        ...3
SQL_PHYSICAL_FILES                                                      ...3,4
 PHYSICAL_FILE_NAME=ii....ii                                            ...3,4
  INITIAL_SIZE=jj....jj                                                 ...3,4
  PHYSICAL_FILE_ID=kk....kk                                             ...3,4
  :                                                                     ...3,4
  :                                                                     ...3,4
                                                                        ...3
-----                                                                   ...2
 
[RDAREA ll....ll, mm....mm CHECK RESULT]                                ...5
nn....nn                                                                ...5
                                                                        ...5
[説明]
  1. ヘッダ情報です。

  2. 区切り記号です。RDエリアの整合性チェック及び構成情報のファイル出力をする場合,インナレプリカグループごとに表示します。構成情報のファイル出力だけをする場合,表示しません。

  3. ディクショナリ表中のRDエリア構成情報です。コマンドの実行対象となるRDエリアをすべて表示します。インナレプリカグループ内のRDエリアの整合性チェックをする場合,オリジナルRDエリア,レプリカRDエリアの順に出力を行います。レプリカRDエリアが複数存在する場合,すべてのレプリカRDエリアを表示します。

  4. HiRDBファイルに関するRDエリア構成情報です。RDエリア内に複数のHiRDBファイルが存在する場合,すべてのHiRDBファイルを表示します。

  5. 整合性チェックの結果です。RDエリアの整合性チェック及び構成情報のファイル出力をする場合,表示します。レプリカRDエリアが複数存在する場合,すべてのレプリカRDエリアを表示します。構成情報のファイル出力だけをする場合,表示しません。

VV-RR:

HiRDBのバージョン情報

YYYY-MM-DD hh:mm:ss:

コマンド実行日時(年月日時分秒)

aa....aa:

RDエリア名

bb....bb:

RDエリアID

cc....cc:

世代番号

インナレプリカグループに含まれないRDエリアを指定した場合,世代番号はナル値となるため,「, GENERATION_NUMBER=cc....cc」は出力しません。

dd....dd:

ページ長(単位:バイト)

ee....ee:

セグメントサイズ(単位:ページ)

ff....ff:

HiRDBファイル数

gg...gg:

RDエリアの増分指定有無

U:指定あり

N:指定なし

hh...hh:

増分セグメント数

RDエリアの増分指定がない場合はナル値となるため,空文字を出力します。

ii...ii:

HiRDBファイル名

jj...jj:

HiRDBファイルのセグメント数

kk...kk:

物理ファイルID

ll...ll:

オリジナルRDエリア名

mm...mm:

レプリカRDエリア名

nn...nn:

チェック結果

表示内容

チェック結果

Configuration information matched.

構成情報一致

*Configuration information unmatched.

構成情報不一致

インナレプリカRDエリアで,ディクショナリ表中のRDエリアの構成情報に差分が発生した箇所では,列名の直前の半角空白を「*」に置き換えて表示します。HiRDBファイル名については,ファイル名が異なる場合だけ「*」を表示します。ファイル名以外の箇所が異なる場合,「*」には置き換えません。オリジナルRDエリアにだけ存在する物理ファイルが存在した場合,「*Some physical files not created, PHYSICAL_FILE_NAME={ファイル名}」行を出力します。

<出力例>

「-r RDエリア名」オプションを使用し,整合性に問題が無かった場合

pdrdconstck 10-06    *** RDAREA INFORMATION *** 2022-09-01 10:00:00
-----
[RDAREA_NAME=USER1, RDAREA_ID=10, GENERATION_NUMBER=0]
SQL_RDAREAS
 PAGE_SIZE=4096
 SEGMENT_SIZE=80
 FILE_COUNT=1
 EXTENSION=U
 EXTENSION_SEGMENT_SIZE=10
SQL_PHYSICAL_FILES
 PHYSICAL_FILE_NAME=/users/HiRDB/db/DB1/rdusr101
  INITIAL_SIZE=10
  PHYSICAL_FILE_ID=0
 PHYSICAL_FILE_NAME=/users/HiRDB/db/DB2/rdusr201
  INITIAL_SIZE=15
  PHYSICAL_FILE_ID=1
 
[RDAREA_NAME=USER1GN1, RDAREA_ID=21, GENERATION_NUMBER=1]
SQL_RDAREAS
 PAGE_SIZE=4096
 SEGMENT_SIZE=80
 FILE_COUNT=1
 EXTENSION=U
 EXTENSION_SEGMENT_SIZE=10
SQL_PHYSICAL_FILES
 PHYSICAL_FILE_NAME=/users/HiRDB/db/DB1GN1/rdusr101
  INITIAL_SIZE=10
  PHYSICAL_FILE_ID=0
 PHYSICAL_FILE_NAME=/users/HiRDB/db/DB2GN1/rdusr201
  INITIAL_SIZE=15
  PHYSICAL_FILE_ID=1
 
-----
 
[RDAREA USER1, USER1GN1 CHECK RESULT]
 Configuration information matched.

「-r RDエリア名」オプションを使用し,整合性に問題があった場合

pdrdconstck 10-06    *** RDAREA INFORMATION *** 2022-09-01 11:00:00
-----
[RDAREA_NAME=USER1, RDAREA_ID=10, GENERATION_NUMBER=0]
SQL_RDAREAS
 PAGE_SIZE=4096
 SEGMENT_SIZE=80
 FILE_COUNT=1
 EXTENSION=U
 EXTENSION_SEGMENT_SIZE=10
SQL_PHYSICAL_FILES
 PHYSICAL_FILE_NAME=/users/HiRDB/db/DB1/rdusr101
  INITIAL_SIZE=10
  PHYSICAL_FILE_ID=0
 PHYSICAL_FILE_NAME=/users/HiRDB/db/DB2/rdusr202
  INITIAL_SIZE=15
  PHYSICAL_FILE_ID=1
 PHYSICAL_FILE_NAME=/users/HiRDB/db/DB2/rdusr302
  INITIAL_SIZE=15
  PHYSICAL_FILE_ID=2
 
[RDAREA_NAME=USER1GN1, RDAREA_ID=21, GENERATION_NUMBER=1]
SQL_RDAREAS
 PAGE_SIZE=4096
 SEGMENT_SIZE=80
 FILE_COUNT=1
 EXTENSION=U
*EXTENSION_SEGMENT_SIZE=20
SQL_PHYSICAL_FILES
 PHYSICAL_FILE_NAME=/users/HiRDB/db/DB1GN1/rdusr101
  INITIAL_SIZE=10
  PHYSICAL_FILE_ID=0
*PHYSICAL_FILE_NAME=/users/HiRDB/db/DB2GN1/rdusr201
 *INITIAL_SIZE=15
 *PHYSICAL_FILE_ID=1
*Some physical files not created, PHYSICAL_FILE_NAME=rdusr202
*Some physical files not created, PHYSICAL_FILE_NAME=rdusr302
 
-----
 
[RDAREA USER1, USER1GN1 CHECK RESULT]
*Configuration information unmatched.

(7) 整合性に問題があるときの対処

整合性に問題があるときは,pdmodコマンドのdefine copy rdarea文を実行する必要があります。対処方法については,マニュアル「インナレプリカ機能 HiRDB Staticizer Option」の「インナレプリカグループ内のRDエリアの構成変更と構成情報の複写」を参照してください。

(8) 注意事項

  1. pdrdconstckコマンドのリターンコードを次に示します。

    0:正常終了(整合性に問題なし)

    4:正常終了(整合性に問題あり)

    8:異常終了(コマンド実行中にエラーが発生)

  2. インナレプリカグループ内のRDエリア,又はディクショナリ表のどちらかを更新する操作とpdrdconstckコマンドを同時に実行すると,pdrdconstckコマンドで更新前の値を参照し,整合性が正常に判定されないことがあります。このため,同時に実行しないでください。

  3. pdchpathfコマンドを実行した場合,pdchpathnコマンドを実行してディクショナリ表を更新してから,このコマンドを実行してください。

  4. HiRDB接続時のパスワード秘匿化機能を使用している場合,クライアント環境定義PDAUTHTYPEを設定する必要があります。指定値については,マニュアル「HiRDB システム運用ガイド」の「HiRDB接続時のパスワード秘匿化機能の設定方法」を参照してください。

  5. 通信情報ファイルディレクトリ変更機能を使用している場合,クライアント環境定義 PDIPCFILEDIRに値を設定する必要があります。指定値については,マニュアル「HiRDB UAP開発ガイド」の「クライアント環境定義の設定内容」を参照してください。

  6. pdrdconstckコマンド実行時には,データディクショナリ表のSQL_RDAREAS表, SQL_PHYSICAL_FILES表の検索を行います。検索時の排他オプションにはWITHOUT LOCK NOWAITを指定しているため,排他による待ちは発生しません。ただし,RDエリアが多数存在するHiRDB環境で「-r ALL」オプションを指定した場合,データディクショナリ表の検索に時間が掛かり,オンライン中の業務に影響を与える可能性があります。このようなHiRDB環境では,pdrdconstckコマンド実行による業務への影響を事前に確認してください。