-
クライアントの起動は
$ db2
-
接続開始は
db2> connect to hoge-db user kei using passwd
(hoge-dbに対しユーザ名kei、パスワードpasswdで接続)
接続終了は
db2> disconnect hoge-db;
- コマンドをシェルから一つずつ実行
$ db2 "select * from hoge-db"
- セミコロン区切りのデータをまとめて処理(バッチ処理)
$ db2 -tvf hoge.sql
-
# db2icrt -u db2fenc1 <インスタンス名> (インスタンス作成)
# db2ilist (インスタンス一覧)
- テーブル一覧を表示
db2> list tables;
-
db2は一連のデータベース編集のあとにcommit;って打たないと変更が反映されません。(他のDBでもauto-commitでない場合は同様)
commitせずに色々いじってると操作不能になることがあるので注意。
なお、変更せずに戻す場合はrollbackと打ちます。
-
一からやりなおす
# db2admin stop (管理サーバ停止)
# db2ilist
# su - db2inst1 (インスタンスの各所有者で)
$ db2stop
$ ^D
# dasidrop db2as (管理サーバ削除)
# db2idrop db2inst1 (インスタンス削除)
-
上で、db2stopでインスタンスを停止したい時に
$ db2stop
SQL10003C There are not enough system resources to process the request.
The request cannot be processed. SQLSTATE=57011
と出るときは、DBの不整合が起こっている。
ここを参考に、プロセスや共有メモリの削除を行う。プロセスの削除は
# ps -auxww | grep db2
して、怪しげなプロセス(例えば999)に対し
# kill -9 999
で手当たり次第に削除。
共有メモリも同様に、
# ipcs
で表示される資源を解放する。ipcrmで一々消してもいいが、
$ ipcclean
で一発。