(O+P)ut

アウトプット



(O+P)ut

エンジニアのアウトプット

【HiRDB/Linux】サンプルファイルを利用して初期構築を体験する

スポンサーリンク

はじめに

HiRDBのインストールと初期セットアップを行い、pdlsにて以下のようにACTIVEと表示されるまでの流れを記載しました。

$ pdls
HOSTNAME(110151)                 UNITID SVID     STATUS   STARTTIME
test                          unt1   ******** ACTIVE    ...
test                          unt1   sds01    ACTIVE    ...
環境情報
  • RHEL 9
  • HiRDB/Single Server Version 10

事前準備

メディアの中にあるsetupコマンドを利用してインストールを行うと

/mnt/media/x64lin/setup /mnt/media

以下のディレクトリ配下に関連ファイルが用意されます。

/opt/HiRDB_S

ここからpdsetupコマンドによって初期セットアップを行います。ただし、事前に必要なライブラリ(net-tools等)が不足していると以下のように警告が表示されるのでご注意ください。

# /opt/HiRDB_S/bin/pdsetup -c sjis -v recom  /opt/HiRDB_S/
KFPS00010-I HiRDB setup start, func = add, HiRDB directory = /opt/HiRDB_S
KFPS00012-I Library setup completed for character code set SJIS
KFPS00071-I HiRDB environment setup complete, sysdef=recom
KFPS00074-W Required package(net-tools) is not installed
KFPS00074-W Required package(sysstat) is not installed
KFPS00075-I Added SELinux context settings

関連する環境変数もセットしておきます。PDUSERは構築時に利用したユーザでrootであればroot/rootとなります。

export PDDIR=/opt/HiRDB_S
export PDCONFPATH=/opt/HiRDB_S/conf
export LD_LIBRARY_PATH=/opt/HiRDB_S/lib
export PATH=$PATH:/opt/HiRDB_S/bin
export PDHOST=test
export PDNAMEPORT=22200
export PDUSER='"xxx"/"xxx"'
export PDCLTLANG=SJIS
export PDLANG=SJIS

HiRDBファイルシステムの作成

以下にてHiRDBファイルシステムを作成します。

$PDDIR/sample/sampleconf/fmkfile

中では以下のようにpdfmkfsコマンドでファイルを作成しています。尚、DBはRDエリア用のHiRDBファイルシステム領域でWORKは作業表用の領域です。

$PDDIR/bin/pdfmkfs -r -n 1000 -l 1500 -i -k DB $PDDIR/rdsys02
$PDDIR/bin/pdfmkfs -r -n 20 -l 2 -e 2 -i -k WORK $PDDIR/rdsys03
$PDDIR/bin/pdfmkfs -r -n 40 -l 10 -i -k DB $PDDIR/rdsys04

続けて以下のコマンドで別の領域を作成します。

$PDDIR/sample/sampleconf/sysfmkfs

中では以下のようなコマンドが実行されており、システムログファイルやステータスファイル用の領域となります。

$PDDIR/bin/pdfmkfs -k SYS -r -n 16 -l 10 -i /opt/HiRDB_S/rdsys011
$PDDIR/bin/pdfmkfs -k SYS -r -n 16 -l 10 -i /opt/HiRDB_S/rdsys012
$PDDIR/bin/pdfmkfs -k SYS -r -n 16 -l 10 -i /opt/HiRDB_S/rdsys013
$PDDIR/bin/pdfmkfs -k SYS -r -n 16 -l 10 -i /opt/HiRDB_S/rdsys014
$PDDIR/bin/pdfmkfs -k SYS -r -n  5 -l 10 -i /opt/HiRDB_S/rdsys015
$PDDIR/bin/pdfmkfs -k SYS -r -n  5 -l 10 -i /opt/HiRDB_S/rdsys016

ステータスファイルの初期設定

以下にて作成したシステム用領域を初期化していきます、

$PDDIR/sample/sampleconf/sysfint

中ではステータスファイルやログファイルの初期化を行っています。

#   --- status file for unit ---
pdstsinit -f /opt/HiRDB_S/rdsys011/utsts1a -l 4096 -c 32
...
pdstsinit -f /opt/HiRDB_S/rdsys016/utsts3b -l 4096 -c 32
#   --- status file for SDS ---
pdstsinit -s sds01 -f /opt/HiRDB_S/rdsys011/sts1a -l 4096 -c 800
...
pdstsinit -s sds01 -f /opt/HiRDB_S/rdsys016/sts3b -l 4096 -c 800
#   --- system log file ---
pdloginit -d sys -s sds01 -f /opt/HiRDB_S/rdsys011/log1 -n 3000
...
pdloginit -d sys -s sds01 -f /opt/HiRDB_S/rdsys014/log4 -n 3000
#   --- syncpoint dump file ---
pdloginit -d spd -s sds01 -f /opt/HiRDB_S/rdsys014/spd1 -n 20
...
pdloginit -d spd -s sds01 -f /opt/HiRDB_S/rdsys016/spd3 -n 20

データベースの初期設定

初期設定用の制御ファイルを作成した後に

$PDDIR/sample/sampleconf/mkinit

できたファイルを引数で指定して初期設定をおこないます。

$ pdinit -d rdinit01
KFPX24000-I DB initialize ended, return code=12

続いてlogunldというスクリプトを

#----------- log for sds01
pdlogunld -d sys -s sds01 -g log1 -o /opt/HiRDB_S/unloadlog/ulog001
pdlogunld -d sys -s sds01 -g log2 -o /opt/HiRDB_S/unloadlog/ulog002
pdlogunld -d sys -s sds01 -g log3 -o /opt/HiRDB_S/unloadlog/ulog003
pdlogunld -d sys -s sds01 -g log4 -o /opt/HiRDB_S/unloadlog/ulog004

実行すると準備完了です。

$PDDIR/sample/sampleconf/logunld
 1838 15:37:17 unt1          KFPS01271-I Unloading completed. generation number=1, start block number=1, end block number=********

起動

pdstartコマンドで起動を行います。

$ pdstart
 6136 11:01:16 unt1 _rdm     KFPS05210-I HiRDB system initialization process complete

以下は起動確認。ACTIVEになっていれば正常に起動しています。

$ pdls
HOSTNAME(110151)                 UNITID SVID     STATUS   STARTTIME
test                          unt1   ******** ACTIVE    ...
test                          unt1   sds01    ACTIVE    ...

ちなみに起動ログは以下となっていました。

       0  6059       0 HRD1 ...  unt1 _pdstart adm KFPS01800-I Now starting HiRDB unit unt1
        1  6139       0 HRD1 ...  unt1 _sts0    sts KFPS01001-I utsts1 assigned as current logical status file. server kind:00 server:unt1
        2  6059       1 HRD1 ...  unt1 _pdstart adm KFPS01826-I
    HiRDB dir = /opt/HiRDB_S
    HiRDB vrs = 10-10(64)
    unit run ID = 693b7761
    HiRDB ID = HRD1
    unit ID = unt1
    sysdef = recom

        3  6059       2 HRD1 ...  unt1 _pdstart adm KFPS05602-I HiRDB Option = Object Option, unit_id = unt1, version = 10-10
        4  6059       3 HRD1 ...  unt1 _pdstart adm KFPS01894-I
    Master_file_name = /opt/HiRDB_S/rdsys02/rdmast

        5  6059       4 HRD1 ...  unt1 _pdstart adm KFPS01803-I HiRDB unit unt1 start mode determined. start mode:S
        6  6142       0 HRD1 ... unt1 _log1    sts KFPS01001-I sts1 assigned as current logical status file. server kind:01 server:sds01
        7  6150       0 HRD1 ...  unt1 _log1s   jnl KFPS01221-I log1 assigned as current file group of sys(sds01) log file. generation number=1, first block number=1
        8  6150       1 HRD1 ...  unt1 _log1s   cpd KFPS02183-I Syncpoint dump for sds01 has been acquired to file group spd1. log file information:log1, 1, 1. start time=11:01:13, end time=11:01:15

終わりに


実際に起動を行なった流れを出力結果付きで整理しました。ご参考になれば幸いです。