版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_26010491/article/details/81902045
大版本升级命令:
db2iupgrade
$DB2DIR/instance/db2iupgrade InstName
安装:
tar -xzvf file.tar.gz
cd server_t
./db2_inistall
SERVER
purescale选NO
添加用户:
groupadd -g 10000 db2igrp
grouped -g 10001 db2fgrp
useradd -u 10000 -g db2igrp -m -d /home/db2inst1 db2inst1
useradd -u 10001 -g db2fgrp -m -d /home/db2fenc1 db2fenc1
./db2icrt -s ese -p 60000 -u db2fenc1 db2inst1
groupadd -g 20000 db2igrp2
groupadd -g 20001 db2fgrp2
useradd -u 20000 -g db2igrp -m -d /home/db2inst2 db2inst2
useradd -u 20001 -g db2fgrp -m -d /home/db2fenc2 db2fenc2
创建fence user是为了防止用户写的存储过程中包含非sql的可能会破坏db2数据结构,使db2引擎崩溃的代码,让这些存储过程在单独的进程下运行,起到隔离和保护作用
实例
创建实例:
创建失败时查看是否ping通127.0.0.1,如果不行,在/etc/hosts文件里增加127.0.0.1 主机名。
cd /opt/IBM/db2/V10.5/instance
./db2icrt -s ese -p 50000 -u db2fenc2 db2inst2
查看db2所有实例:
db2ilist
查看机器上的实例
db2greg -dump
查看实例参数
db2 get dbm cfg show detail
对于那些无法立即生效的参数,Show detail可以用来显示它们的deferred value。
更改实例参数
db2 update dbm cfg using mon_heap_sz 1024 automatic
更改数据库参数
db2 update db cfg for sample using sortheap 1024
db2diag.log路径
/home/db2inst1/sqllib/db2dump/DIAG0000
重要参数
diagpath: Location of the log files
diaglevel: Types of errors to be written to log
删除实例
db2stop force
Db2idrop 实例名
实例启停
db2start
db2stop
创建数据库:
db2 create database sample using codeset utf-8 territory CN
或者
db2sampl
列出所有表:
db2 list tables for all
db2同一主机下一个实例连接另一个实例
db2 catalog tcpip node N1 remote 127.0.0.1 server 60000(要连接的实例端口)
db2 catalog database sample as sinst1 at node N1 (别名尽量不要超过8位)
db2 connect to sample user db2inst1 using 登录密码
表空间:
表空间是逻辑上的概念,物理存储是容器。
容器可以是裸设备(比如没有格式化的磁盘),也可以是文件、目录。
创建表空间
sms
使用 CREATE TABLESPACE 语句的 MANAGED BY SYSTEM 子句创建 (重要) sms
要求将容器定义为目录名。
性能差一点,一般用作临时表空间dms
使用 CREATE TABLESPACE 语句的 MANAGED BY DATABASE 子句创建 dms
要求将容器定义为文件或设备。(重要)
dms性能通常高于sms自动存储管理表空间不需要指定容器,对于数据表空间会自动选择dms,对临时表空间会选择sms,创建自动存储管理表空间时必须要先开启自动存储管理。
创建buffer pools
db2 CREATE BUFFERPOOL bp8k size 1000 PAGESIZE 8192
db2 "create tablespace mytbs
pagesize 8192
managed by database
using (file '/home/db2inst2/tablespace/aa' 10000 )
bufferpool bp8k"
用来查看表空间的大小页数等重要信息
db2 "LIST TABLESPACES SHOW DETAIL"
能够自动增加表空间大小
CREATE TABLESPACE mytabs MANAGED BY DATABASE USING (FILE '/db2files/DMS1' 10 M) AUTORESIZE YES
db2 ALTER TABLESPACE mytbs AUTORESIZE YES
权限控制
db2 "grant select on db2inst1.x1 to user test" #将对表db2inst1.t的select权限赋予testusr (重要)
db2 "revoke select on db2inst1.x1 from user test" #将对表db2inst1.t的select权限从dbuser收回
Db级权限示例:
GRANT DBADM ON DATABASE TO USER "asd"
GRANT CONNECT ON DATABASE TO USER "asd"
强制断开所有应用连接
db2 force applications all
脱机备份
db2 BACKUP DATABASE sample TO /home/db2inst2/backup
退出实例
db2 terminate
删除数据库
db2 drop db sample
恢复
db2 RESTORE DATABASE sample FROM /home/db2inst2/backup TAKEN AT 20180816232659 WITHOUT ROLLING FORWARD WITHOUT PROMPTING
重定向恢复
db2 list tablespaces查看表空间id
db2 RESTORE DATABASE sample FROM /home/db2inst2/backup TAKEN AT 20180816232659 redirect WITHOUT ROLLING FORWARD WITHOUT PROMPTING
db2 "set tablespace containers for 表空间id using (file '/home/db2inst2/backup/dd’ 10000)"
db2 restore db sample continue
HADR
db2 start hadr on database hadr_db as standby (重要) 先启动备份机再启动主机
db2 start hadr on database hadr_db as primary
查看监控开关
db2 get monitor switches
打开监控开关
db2 update monitor switches using bufferpool on
查看快照
db2 get snapshot for database on sample
查看数据库bufferpools信息
db2 "select * from syscat.bufferpools with ur"
调整缓冲池大小
db2 "alter bufferpool bp8k immediate size 2000"
查看错误详细信息
db2 ? SQL0104N
建库
db2sampl
db2 connect to sample
db2 list tables for all | grep -i empmdc
事件监视器
创建
db2 "create event monitor dlmon for deadlocks with details
write to file '/home/db2inst1/evmon'"
开启
db2 SET EVENT MONITOR monitor-name STATE 0 / 1
导出
db2evmon -path directory path >1.out
分析sql执行计划
vi 1.sql
select * from empmdc where empno=500 with ur
db2expln -d sample -f 1.sql -z ";" -g -o 1.exp
Sql优化建议
cd /home/db2inst2/sqllib/misc
db2 -tvf EXPLAIN.DDL 生成相关库
db2advis -d sample -n db2inst2 -i 1.sql > 1.adv
执行sql文件
db2 -tvf 1.adv
查看db2命令的帮助
db2 ?
查看db2命令所有参数解释的帮助
db2 ? OPTIONS
查看db2版本和补丁信息
db2level
查看数据库、表定义
Db2look
命令汇总
db2start
db2stop
db2 list db directory
db2 ? <command>
db2 connect to <database>
db2 list tables [for <schema> / for all]
db2 list tablespaces [show detail]
db2 list tablespace containers for <tablespace ID>
设置相关
Database Manager Configuration
db2 get dbm cfg
db2 update dbm cfg using <parameter> <value>
DIAGLEVEL & DIAGPATH
Database Configuration
db2 get db cfg for <database>
db2 update db cfg for <database> using <parameter> <value>
Environment
db2set -all
db2set <parameter>=<value>
System tables and views
常见路径
Code /opt/IBM/db2/V10.5/*
Instance home /home/<instance>/sqllib
Diagnostic data /home/<instance>/sqllib/db2dump
Database directory
db2 list db directory
Tablespace containers
db2 list tablespaces show detail
db2 list tablespace containers for <tablespace id>
Database transaction logs
db2 get db cfg for <db> | grep "Path to log files"
强制中断命令
db2 force application all / db2stop
db2stop force
db2_kill
ipclean