su – db2inst1
■セットアップ
・前提条件確認
# ./db2prereqcheck -v 11.5.9.0
・インストール方法1
db2_install コマンド(CLI)- Db2プロダクトのインストールと最低限必要な設定だけが行われ、
インスタンス所有者ユーザーの作成等は行われません。そのため本コマンドを実行後に別途ユーザー作成や設定を行う必要があります。
・db2setup -r コマンド(CLI) – レスポンスファイルという、インストール内容を記載した
設定ファイルを読み込ませることで、インストール作業を自動化することが可能です。
レスポンスファイルは、ダウンロードしたインストールイメージの
./server_dec/db2/linuxamd64/samples/*.rspとして用意されています。
・db2setup コマンド(GUI)- Db2セットアップウィザードというGUIを起動してインストールを行います。
GUIが利用できる環境であれば、この方法が簡単です。
・Db2 セットアップ ・ウィザード(GUI)を開始
# cd /tmp/server_dec
# ./db2setup -l /tmp/db2setup.log -t /tmp/db2setup.trc
・応答ファイル・インストールを実行
db2setup コマンドを次のように入力します。
dvd/db2setup -r responsefile_directory/response_file
# ./db2setup -r /root/db2server.rsp
・db2icrtコマンドでDb2インスタンスを作成します。
# /opt/ibm/db2/V11.5/instance/db2icrt -u db2fenc1 db2inst1
・Db2インスタンスが自動起動するように設定する
システム起動時に障害モニター・コーディネーター・デーモン (db2fmcd) が起動するように設定します。
1. root でログインし、以下のコマンドを実行します。
# /opt/ibm/db2/V11.5/bin/db2fmcu -u -p /opt/ibm/db2/V11.5/bin/db2fmcd
a) 障害モニター・コーディネーター・デーモンによる起動
インスタンス・オーナーでログインし、以下のコマンドを実行します。
※再度db2inst1ユーザーにスイッチして
# su – db2inst1
$ db2iauto -on db2inst1
・正しく設定できたかは、db2setコマンド、もしくはdb2gregコマンドで確認が可能です。
$ db2set DB2AUTOSTART
=> YES
$ db2greg -getinstrec instancename=db2inst1 | grep -i StartAtBoot
=> StartAtBoot = 1
・障害モニター・コーディネーター・デーモンによる起動をOFFにする。
$ db2iauto -off db2inst1
$ db2greg -getinstrec instancename=db2inst1 | grep -i StartAtBoot
=> StartAtBoot = 1
b) 障害モニター・デーモン (db2fmd) による起動
1. インスタンス・オーナーでログインし、以下のコマンドを実行します。
db2fm -i
$ db2fm -i db2inst1 -f on
db2fm -i
$ db2fm -i db2inst1 -U
2. db2fm による変更が正しく反映されていることを確認します。
$ grep FM_ $HOME/sqllib/fm.*
=> FM_ON = yes # updated by db2fm
=> FM_ACTIVE = yes # default
■インスタンス操作
・インスタンスを起動する
$ db2start
・インスタンスを停止する
$ db2stop
■データベース操作
・データベースに接続する
db2 connect to DB名 [user ユーザー名] [using パスワード]
$ db2 connect to sample
・サンプルデータベースを作成する。
$ db2sampl
・データベースを活動化する
db2 activate db DB名
$ db2 activate db sample
ユーザーが接続要求すると、自動的に活動化されるが、自動的に活動化されたデータベースは、接続ユーザーがいなくなると、自動的に非活動化される。
本番業務システムでは明示的にactivate dbは行うこと。
・データベースを非活動化する
db2 deactivate db DB名
$ db2 deactivate db sample
・インスタンスに作成済みのデータベースをリストする
$ db2 list db directory
・インスタンスに存在するデータベースをリストする
$ db2 list tables
・データベースに問い合わせを投げる
$ db2 ‘SELECT * FROM act’
・CLPにおけるコミット(+)
$ db2 +c “insert into test values (1, ‘一行目’)”
・CLPにおける自動コミット(-)
$ db2 -c “insert into test values (1, ‘一行目’)”
・ファイルの実行(バッチモード)
$ db2 -tvf ファイル名
– ファイル中には、SQLを書く。
– 改行は適宜入れてよい。
– SQL文の最後は、セミコロン ; で示す。
– コメントは、ハイフン2つで始める。
–
– 実行は、以下のシンタックスで行う。
– db2 -tvf ファイル名
– -t:終端文字の指定。デフォルトがセミコロン。
– -v:入力コマンドを標準出力にエコーする。
– -f: 入力ファイル
■表情報取得
$ db2 list tables
– タイプ列の主なもの
– T:表
– A:別名(ALIAS)
– V:ビュー
– S:マテリアライズ照会表(MQT)
・特定のスキーマ名の表の一覧を取得する
$ db2 list tables for {schema_name} {table_name}
・表の列定義情報を表示する
$ db2 describe table {schema_name}.{table_name}
・表に定義された索引の情報を取得する
$ db2 describe indexes for table {table_name}
・詳細情報の出力(show detail)
$ db2 describe table {schema_name}.{table_name} show detail
$ db2 describe indexes for table {table_name} show detail
#逆引きDb2