スケーラブルデータベースサーバ HiRDB Version 8 コマンドリファレンス(UNIX(R)用)

[目次][索引][前へ][次へ]

13.1 概要

整合性チェックユティリティ(pdconstck)は,参照制約又は検査制約が定義された表に対して,整合性チェック及び検査保留状態の操作(設定又は解除)をするユティリティです。

<この節の構成>
(1) 前提条件
(2) pdconstck実行時の認可識別子

(1) 前提条件

(a) 動作条件

pdconstck実行時の前提条件を次の表に示します。

表13-1 pdconstck実行時の前提条件

項目 前提条件
実行権限 DBA権限を持つユーザ,又は表の所有者が実行できます。
RDエリアの状態 pdconstckと処理対象RDエリアの状態の関係については,「付録C コマンド実行時のRDエリアの状態」を参照してください。
同時実行 同一表に対するpdconstckの同時実行はできません。同時実行した場合,該当する表の資源種別名TABL(資源種別:0002)とDICT(資源種別:3005)間でデッドロックとなることがあります。
対象となる表が異なる場合は,pdconstckを同時実行できます。ただし,検査保留状態を変更する場合,排他待ちとなります。
最大同時実行数 pdconstckの最大同時実行数は,pd_max_usersオペランドの指定値÷2となります。
資源数 pdconstckは,対象表及び外部キーが参照する被参照表に対して排他を掛けます。そのため,次のシステム定義の指定値に注意してください。
  • 同時アクセス可能実表数
    システム定義のpd_max_access_tablesオペランドには,(対象表の外部キー数+1)以上の値を指定してください。
  • 1サーバ当たりのUNTIL DISCONNECT指定の排他表及びRDエリア数の総和
    システム定義のpd_lck_until_disconnect_cntオペランドには,次の計算式X以上の値を指定してください。
    X=(2+処理対象表の外部キー数+処理対象表の格納RDエリア数
    +外部キーが参照する主キーの表の格納RDエリアの総数)
  • サーバ当たりの排他制御用プールサイズ
    システム定義のpd_lck_pool_sizeオペランドには,↑Y÷x↑キロバイト以上の値を指定してください。
    HiRDB/シングルサーバの場合:
    Y=209+A+f+(a+c+(d×b))×e
    HiRDB/パラレルサーバの場合:
    ・ディクショナリサーバ
     Y=209+A+(a+c+(d×b))×e
    ・フロントエンドサーバ
     Y=2+f
    ・バックエンドサーバ
     Y=(d×b)×e

(凡例)
a:表格納用RDエリア数
b:インデクス格納用RDエリア数
c:LOB列格納用RDエリア数
d:インデクス数
e:レプリカRDエリアがある世代数
f:処理対象表及び外部キーが参照する主キーの表に定義されたプラグイン数
x:32ビットモードのHiRDBの場合は6,64ビットモードのHiRDBの場合は4
A:MAX(表の列数,表のインデクス数,表格納用RDエリア数,表の外部キー数,表の検査制約数)
検査保留状態の遷移 システム定義のpd_check_pendingオペランドの指定に関係なく,pdconstckの実行によって検査保留状態は遷移します。
インナレプリカ機能 インナレプリカ機能を使用する場合,対象表に関連するすべてのRDエリア(表格納用RDエリア,LOB列格納用RDエリア,及びインデクス格納用RDエリア)のレプリカ定義数を一致させてください。また,レプリカRDエリアの世代番号をすべてそろえてください。なお,対象となる表が参照表の場合,参照表が参照する被参照表に関連するRDエリアは,該当する表とレプリカ定義が異なるときでも,pdconstckを実行できます。
  1. 対象表
    ・表に関連するすべてのレプリカRDエリアが,コマンド閉塞かつクローズ状態の世代の場合,処理対象にはなりません。
    ・サーバ間の分割をしている場合,サーバ内にレプリカRDエリアがないとき,そのサーバはカレントRDエリアを処理対象とします。
  2. 対象表(参照表)が参照する被参照表
    ・全世代単位の場合は,対象表(参照表)が参照する被参照表に関連するレプリカRDエリアが,対象表に対応するレプリカRDエリアの世代でないとき,カレントRDエリアを整合性チェック対象とします。
    ・世代単位の場合は,参照表が参照する被参照表に関連するレプリカRDエリアが,指定した世代にないとき,カレントRDエリアを整合性チェック対象とします。
    ・カレントRDエリアの世代の場合は,参照表が参照する被参照表のカレントRDエリアを整合性チェック対象とします。
(b) 動作環境

pdconstckの動作環境を次の表に示します。

表13-2 pdconstckの動作環境

項目 動作環境
HiRDB環境 コマンド実行場所 pdconstckは,シングルサーバ又はシステムマネジャがあるサーバマシンで実行してください。
サーバの状態 pdconstckを実行する場合,次のサーバが稼働していなければなりません。

HiRDB/シングルサーバの場合:シングルサーバ

HiRDB/パラレルサーバの場合:ディクショナリサーバ,フロントエンドサーバ,及びバックエンドサーバ(マルチフロントエンドサーバの場合,一つ以上のフロントエンドサーバが稼働中である必要があります)
環境変数
PDDIR
PDDIR環境変数に,絶対パス名でHiRDB運用ディレクトリを設定してください。
PDCONFPATH PDCONFPATH環境変数に,絶対パス名でHiRDBシステム定義ファイルを格納するディレクトリを設定してください。
OS環境 LANG環境変数 pdsetupコマンドで指定した文字コード種別に合わせて,LANG環境変数を設定してください。OSがサポートしていない文字コードを使用する場合は,PDLANG環境変数を設定してください。
LANG及びPDLANGの設定値については,マニュアル「HiRDB Version 8 UAP開発ガイド」を参照してください。
-oオプションで指定するファイル及びディレクトリ pdconstck実行ユーザに対してアクセス権限を与えてください。
なお,-oオプションを省略した場合は,表13-3に示すディレクトリにファイルを作成すると解釈されるため,同様にアクセス権限を与えてください。

表13-3 pdconstckがファイルを出力するディレクトリ

-oオプションの指定 システム定義のpd_tmp_directoryオペランドの指定
あり なし
環境変数TMPDIRの指定
あり なし
あり -oオプションに指定したディレクトリ
なし pd_tmp_directoryに指定したディレクトリ TMPDIRに指定したディレクトリ /tmpディレクトリ

注※ コマンド実行環境の環境変数の指定

(2) pdconstck実行時の認可識別子

pdconstck実行時には,HiRDBに接続する認可識別子,並びに処理対象表及び制約名称の認可識別子を指定できます。HiRDBに接続する認可識別子,並びに処理対象表及び制約名称の認可識別子を次の表に示します。

表13-4 HiRDBに接続する認可識別子,並びに処理対象表及び制約名称の認可識別子

指定条件 HiRDBとの接続 処理対象表又は制約名称の認可識別子
HiRDBに接続する認可識別子(-uオプション) 環境変数PDUSER 処理対象表又は制約名称の認可識別子(-t又は-cオプション) 認可識別子 パスワード
識別子 パスワード
指定あり 指定あり 指定あり 指定あり -uオプションで指定した認可識別子 応答付きメッセージに対して入力 -t又は-cオプションで指定した認可識別子
指定なし -uオプションで指定した認可識別子
省略 指定あり -t又は-cオプションで指定した認可識別子
指定なし -uオプションで指定した認可識別子
環境変数PDUSER省略 指定あり -t又は-cオプションで指定した認可識別子
指定なし -uオプションで指定した認可識別子
指定なし 指定あり 指定あり 指定あり 環境変数PDUSERに指定した認可識別子 環境変数PDUSERに指定したパスワード -t又は-cオプションで指定した認可識別子
指定なし 環境変数PDUSERに指定した認可識別子
省略 指定あり 省略 -t又は-cオプションで指定した認可識別子
指定なし 環境変数PDUSERに指定した認可識別子
環境変数PDUSER省略 指定あり ログインウィンドウのユーザ名(認可識別子) 応答付きメッセージに対して入力 -t又は-cオプションで指定した認可識別子
指定なし ログインウィンドウのユーザ名(認可識別子)

注※
パスワード入力要求の応答付きメッセージが表示されます。応答付きメッセージに対して,パスワードを入力してください。なお,応答付きメッセージに対して空送信した場合,パスワードを省略したと解釈されます。