http://fujishinko.exblog.jp/7853530/
http://db2watch.com/wiki/index.php/%E3%83%A1%E3%82%A4%E3%83%B3%E3%83%9A%E3%83%BC%E3%82%B8
基本的な概念と操作
概念
CLP起動
#su - db2inst1 $db2 db2 =>
データベースへの接続
db2 => CONNECT TO database name
データベースからの切断
db2 => CONNECT reset
ユーザの作成
OSのユーザを利用する。そのためOracleのように create userなどのコマンドは存在しない。ただし、データベースへの接続権限は付与する必要がある。
db2 => connect reset db2 => connect to データベース db2 => grant connect on database to user ユーザ名
データベース管理
データベース操作
データベースの一覧表示
db2 => LIST DB DIRECTORY
もしくは
db2 => LIST DATABASE DIRECTORY
データベースの作成
db2 => CREATE DATABASE sample
文字コードやデータ保存場所を指定することもできる。
db2 => CREATE DATABASE sample \ AUTOMATIC STORAGE YES ON '/home/db2inst1' \ DBPATH ON '/home/db2inst1' \ ALIAS sample_a \ USING CODESET UTF-8 \ TERRITORY JP \ COLLATE USING SYSTEM \ PAGESIZE 4096 WITH 'comment'
スキーマ操作
スキーマの一覧表示
SELECT SCHEMANAME,OWNER FROM SYSCAT.SCHEMATA
スキーマの作成
create schema スキーマ名 AUTHORIZATION ユーザ名
スキーマの削除
DROP SCHEMA スキーマ名 RESTRICT
テーブル操作
テーブルの一覧表示
db2=> LIST TABLES
テーブルの作成
db2=> CREATE TABLE DB2INST1.XML_TEST \ (ID BIGINT NOT NULL GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1, NO CACHE ), \ LASTMODIFIED TIMESTAMP NOT NULL , \ DOCUMENT XML)
テーブル定義表示
db2=> DESCRIBE TABLE table name
その他の操作
データベースのバックアップ
db2=> BACKUP DB database name TO /backup
接続を強制切断
※バックアップを取る際に使用
db2=> FORCE APPLICATION ALL
リストア
db2=> RESTORE DB database name FROM /backup
エクスポート
db2=> EXPORT TO /tmp/test.ixf OF IXF \ MESSAGES /tmp/test.log select * from xml_test
DEL:CSV形式
ASC:区切り文字無し
IXF:の型情報なども含むバイナリー形式
インポート
db2=> IMPORT FROM /tmp/test.csv OF IXF \ COMMITCOUNT 1000 \ MESSAGES /tmp/test.log INTO xml_test
ロック状態の解除
ロック情報の取得
$ db2 connect to データベース名 $ db2 "get snapshot for locks on データベース名"
DB2へ接続しているアプリケーションの把握
$ db2 list application
アプリケーションのハンドルを取得したら、
$ db2 "force application(アプリケーションハンドル)"
でアプリケーションを強制的に切断する。
もし、全てのプロセスを切断する場合は
db2 "force application all"
[カテゴリ: データベース > DB2]
[通知用URL]
Tweet
最終更新時間:2015年07月21日 21時29分02秒