1.检查是否有僵尸进程
ps -emo THREAD | grep -i Z | grep -i 实例名
2.处理死锁
--第一步:查看所有死锁
db2 get snapshot for locks on <db_name>
select agent_id,tabname,lock_mode from table(snap_get_lock('<db_name>')) as aa where aa.tabname is not null;
--第二步:查看该死锁产生的进程
db2 get snapshot for application agentid ***(具体的agentid) 得到某个agentid关联的进程ID以及相关信息。
--第三步:KILL死锁
db2 "force application(agentid value)"
3.数据导出导入
导出方法:
方法1:export to d:\table1.del of del select * from 表名; 或者 export to d:\table1.ixf of ixf select * from 表名;
方法2:
db2look -D 数据库名 -E -A -L -I 数据库用户 -W 密码 -O 导出.sql [这是整库DDL导出]
db2move 数据库名 export -u 数据库用户 -p 密码 [这是整库数据导出]
导入方法:
方法1:import from d:\table1.del of del insert into 表名; 或者 import from d:\table1.ixf of ixf insert into 表名;
import from d:\table1.ixf of ixf savecount 1000 messages insert into 表名;// 其中,savecount表示完成每1000条操作,记录一次.
方法2:load from d:\table1.ixf of ixf insert into 表名; 或者 load from d:\table1.ixf of ixf replace into 表名; // 装入数据前,先删除已存在记录
load from d:\table1.ixf of ixf modified by identityignore insert into 表名; // 存在自增长字段
[注意]:使用load的性能要比import要好
方法3:无需中间文件的导入导出方法:
declare c1 cursor for select * from 表名;
load from c1 of cursor messages d:\mes.msg insert into 表名; // messages选项可以记录日志
方法4:
db2 -tvf 导出.sql -z 导入过程.log
db2 -tvd@ -f 存储过程.db2 (.db2后缀名可以任意)
方法5:
db2move 数据库名 import -io replace -u 数据库用户 -p 密码
4.查看当前活动实例
db2 get instance
5.启动/停止数据库服务
db2start / db2stop (force)
6.激活数据库实例
db2 activate database <db_name>
7.查看激活状态的数据库
db2 list active databases
8.失效数据库实例
db2 deactivate database <db_name>
9.查看数据库当前版本
db2level
10.数据库连接
断开连接但不释放资源:db2 connect reset
断开连接并释放资源:db2 terminate
连接:db2 connect to <db_name> user <user> using <pwd>
11.查看数据库配置参数
db2 list db directory
12.自动提交
db2=> update command options using C off --临时关闭自动提交
db2=> update command options using C on --临时开启自动提交
13.查看连接数据库的应用
db2 list applications
db2 list applications show detail
14.查看数据库表空间
db2pd -db <db_name> -tablespace
15.查看数据库配置
db2 get db cfg for <db_name>
16.查看配置实例参数
db2 get dbm cfg ; db2 update dbm cfg using ... ; db2 reset dbm cfg (恢复默认参数); 实例配置参数保存在 sqllib/db2systm文件中
17.查看配置DAS实例参数
db2 get admin cfg ; db2 update admin cfg using ...; db2 reset admin cfg ;
18.删除数据库
db2 drop db <db_name> (如果不能删除,尝试断开激活的连接或者重启db2)
19.删除实例
db2idrop -f 实例名 (加-f是为了删除sqllib,否则下次再建用例时会报错)
20.查看实例
db2ilist
21.系统启动自动启动实例
db2iauto -on 实例名 db2iauto -off 实例名
22.查看das用户
daslist
23.创建das实例
dasicrt 实例名
24.启停管理服务器(即das实例)
db2admin start/stop , 一个机器上如果装多个db2版本的产品, 也是共享一个das实例, 若das创建时是基于A版本的db2, A版本升级后,也要用A版本的dasupdt升级一下das实例。 若升级的是其他版本的db2, 则das可不用升级。
25.删除das用户
dasdrop 用户名
26.列出系统表
db2 list tables for system
27.列出所有用户表
db2 list tables
28.列出所有表
db2 list tables for all
29.列出特定用户表
db2 list tables for schema [user]
30.系统环境变量
DB2INSTANCE , 设置当前活动实例
31.实例参数
DFTDBPATH 设置数据库安装路径
32.创建数据库
db2 create db <db_name>
(dft_extent_sz 4
catalog tablespace managed by database using (FILE 'C:\111.dat' 2000, FILE 'C:\222.dat' 2000) extentsize 8 prefetchsize 16
temporary tablespace managed by system using ('C:\333.dat', 'C:\444.dat')
user tablespace managed by database using (FILE 'C:\555.dat' 1200 extentsize 24 prefetchsize 48)
automatic storage on path1,path2
autoresize yes
initialsize 200M
increasesize 20%
maxsize none
using codeset GBK territory CN )
automatic storage--默认设置,设置数据库为自动存储,即DMS自动存储
autoresize yes--表空间用光时,自动扩展
initialsize 200M--初始表空间大小为200MB, 每个容器100MB, 因为指定了两个path.
maxsize none--不限制表空间最大大小
using codeset=GBK territory=CN--指定数据库代码页为中文
using codeset=UTF-8 territory=US 指定代码页为unicode编码,可支持XML数据
33.创建表空间
db2 create tablespace <name> managed by automatic storage; DMS自动存储的数据库建立表空间, managed by可省略。
db2 create tbalespace <name> managed by system using () ; 未开启自动存储的数据库使用SMS方式建立表空间
db2 create tbalespace <name> managed by database using () extentsize 4; 未开启自动存储的数据库使用DMS方式建立表空间
extentsize 4--每个容器最多写入4个数据页; extentsize 4M--每个容器最多写入4M大小的数据
prefetchsize 4--从表空间预获取的数据页数量; prefetchsize 4M--预获取数据大小
34.复制一张表
db2 create table t1 like t2
35.显示表结构
db2 describe table tablename
36.执行SQL脚本
db2 -tvf scripts.sql
37.查看错误代码信息
db2 ? 10054
38.停止激活的连接
db2 force application all;
db2 "force application(***某agentid)"
39.监控DB2消耗多的SQL语句
eg:(DB_NAME=SUNDB)
db2top -d SUNDB -----查看消耗资源 按照提示按 l,出现Application Handle,找到资源消耗大的Application Handle(stat)
记下app handle。
db2pd -d SUNDB -dyn -application > /tmp/db2pd1.txt ----到处会话语句,准备进行调优
40.设置连接方式(重启才会生效,新建实例和数据库后,若不设置此项,则远程客户端无法进行连接)
db2set DB2COMM=tcpip
db2set DB2COMM=
41.建立远程编目
db2 catalog tcpip node 本地节点名称(随意取名) remote IP地址 server 端口
db2 catalog db 远程数据库名称 as 本地别名 at node 本地节点名称
db2 catalog db 本地数据库名称 on 本地数据库所在目录(可通过DB2PATH环境变量查看)
db2 uncatalog node 本地节点名称 (删除节点编码)
db2 uncatalog db 远程数据库名称 (删除数据库编目)
db2 list node directory 查看编目信息
42.查看SQL的执行计划
db2expln -d 数据库名称 -u 用户名 密码 -statement "SQL语句(不加分号)" -terminal -g
43.
数据库版本变更后,迁移实例
db2imigr (大版本变更使用,比如从V8升级到V9)
db2iupdt (小版本变更使用,比如从v8.1升级到v8.2)
44.连接实例
db2 attach to 实例名
45.断开实例
db2 detach
46.创建实例
db2icrt -p 50000(端口) -u dbfenc(这是受防护用户) dbinst(这是实例名)
db2icrt -d ... > debug.log 加上-d参数可以生成debug日志,检查实例创建失败原因
47.DAS
一个用于远程管理其他实例的特殊实例。 只有用图形工具远程控制时需要。用命令行远程控制不需要。
48.db2授权
GRANT DBADM ON DATABASE TO USER 用户名
49.自增序列
CREATE TABLE CUSTOMERS
(ID INT NOT NULL GENERATED ALWAYS AS IDENTITY(START WITH 1 INCREMENT BY 1),
NAME CHAR(10) NOT NULL DEFAULT 'NO NAME' );
或者:
CREATE TABLE SYSINFO
(ID INT NOT NULL GENERATED BY DEFAULT AS IDENTITY (START WITH 10 INCREMENT BY 10),
NAME CHAR(10) NOT NULL DEFAULT 'NO NAME' ) ---这种写法可以手工指定自增序列的值,前者只能系统指定。
alter table TAB_NAME alter column GENE_COL_NAME restart with 10; ---当前序列重置为10
50.显式控制db2不记录事务日志[当操作大量数据时使用,防止db2事务日志满]
alter table table_name activate not logged initially;
各种SQL操作
commit; ---commit之前的SQL都不记录事务日志,可以防止事务日志超限的问题,即执行大批量的数据插入等操作,commit之后事务日志恢复默认记录
51.查看数据库读写比
db2 get snapshot on databases global
列出的参数中Rows selected 就是SQL语句得到的结果集记录数A, Rows read 就是SQL语句一共扫描过的记录数B, A/B即为读写比,比例越高代表SQL语句效率越高
52.查看数据库表空间对应的缓冲池
db2pd -d 数据库名称 -tab
得到的结果中,Name列即为表空间名称,Id列即为表空间对应的缓冲池标识符
53.查看缓冲池使用命中率
db2pd -d 数据库名称 -buff
得到结果中,可以查看缓冲池的信息,包括总大小,命中率。 PageSz列即为每数据页的大小,单位为Byte,PA-NumPgs即为缓冲区占用的数据页数, 两者相乘即为缓冲区大小。
HitRatio列即为命中率,即查询的SQL有多少能直接在缓冲区中立即使用。
- nginx日常维护常用命令
http://www.jb51.net/article/47750.htm 一.简明nginx常用命令 1. 启动 Nginx poechant@ubuntu:sudo ./sbin/nginx 2. ...
- linux系统日常维护常用命令
环境: OS:Red Hat Linux As 5 1.find 11.查找当前目录以及子目录下包含ORA字符的文件 find . -type f|xargs grep "ORA&qu ...
- DB2日常维护——REORG TABLE命令优化数据库性能(转)
[转]DB2日常维护——REORG TABLE命令优化数据库性能 一个完整的日常维护规范可以帮助 DBA 理顺每天需要的操作,以便更好的监控和维护数据库,保证数据库的正常.安全.高效运行,防止一些错误 ...
- db2日常维护
一. DB2日常维护操作 1.数据库的启动.停止.激活 db2 list active databases db2 active db 数据库名 db2start --启动 db2stop [forc ...
- Linux系统管理和维护常用命令
Linux系统管理和维护常用命令 ls 命令 功能说明 ls 命令显示指定工作目录下的内容,列出工作目录所包含的文件及子目录. 语法结构: ls [选项] [路径或文件] ls 选项及说明 -a 显示 ...
- DB2日常维护——REORG TABLE命令优化数据库性能
一个完整的日常维护规范可以帮助 DBA 理顺每天需要的操作,以便更好的监控和维护数据库,保证数据库的正常.安全.高效运行,防止一些错误重复发生. 由于DB2使用CBO作为数据库的优化器,数据库对象的状 ...
- Oracle以及SDE维护常用命令-查看表空间等
之前现场反馈一个数据更新的问题,查看感觉是因为表空间满了导致的(错误在之前的博客随笔中写过),因此远程对服务器进行查看.个人平常都是通过Oracle客户端的Entreprise Manager Con ...
- mongodb维护常用命令
一,用户操作:1. #进入数据库adminuse admin2. #增加或修改用户密码db.addUser('name','pwd')3. #查看用户列表db.system.users.find()4 ...
- linux 学习随笔-系统日常管理常用命令
1:W 查看系统整体负载,无法查看具体负载,比如内存,磁盘 23:25:20 up 13 min, 2 users, load average: 0.00, 0.01, 0.01 USER ...
随机推荐
- 腾讯2019年暑期实习生招聘在线笔试技术研究和数据分析方向第二题(python)
def printindex(n,arr): # n = int(input()) # arr = list(map(int,input().split(' '))) li1=[] li2=[] fo ...
- Codeforces Round #491 (Div. 2)
Codeforces Round #491 (Div. 2) https://codeforces.com/contest/991 A #include<bits/stdc++.h> us ...
- 【codelife 阿里技术文章分享——读后感】
目前看到的几篇比较有感触的文章,分别是: 前端Leader如何做好团队规划?阿里内部培训总结公开 ——>这里会有关于针对技术项目如何做规划的一些指导,非常有价值 程序员吃的是青春饭?本质上取 ...
- GOF23设计模式
单例设计模式 饿汉式:
- taro安装使用 Node Sass does not yet support your current environment: Windows 64-bit with Unsupported runtime (64)错误
1. 安装node.js 官网下载:https://nodejs.org/en/ 下载推荐版本: 2. Npm安装慢,可以使用cnpm,安装淘宝镜像: npm install -g cnpm - ...
- Solidity-让合约地址 接受ETH的转账充值的 三种方式
以太坊智能合约开发:让合约接受转账 在以太坊智能合约开发中,通常会有向合约地址进行转账的需求,那么有几种向合约地址进行转账的方式呢? 有三种方式: 部署合约时转账 调用合约提供的方法 直接向合约地址进 ...
- maven项目引用时,导入类报错,选择两个项目同时执行Maven update
maven项目引用时,导入类报错,选择两个项目同时执行Maven update springboot引入第三方jar,需要扫描时加@ComponentScan("第三方的包名") ...
- log4j 配置日志输出(log4j.properties)
轉: https://blog.csdn.net/qq_29166327/article/details/80467593 一.入门log4j实例 1.1 下载解压log4j.jar(地址:http: ...
- linux 查看系统资源命令
vmstat vmstat 1 3 #每隔一秒刷新3次 lsof lsof | more #process->file lsof | /sbin/init #file->process l ...
- MySQL解压包的安装教程
一.下载MySQL解压包 解压过的文件夹里面是没有 data 文件夹的. 二.创建文件 1.在根目录下创建 my.ini文件 内容如下: [mysqld] # 设置mysql的安装目录 basedir ...