mtu怎么查看(mtu在哪里看)

今天主要总结一下db2数据库日常维护的一些命令,虽然目前生产环境只剩一台db2了,但毕竟还在用,所以还是得做一下日常维护的~

db2 list active databases

db2 active db 数据库名

db2start –启动

db2stop [force] –停止

mtu怎么查看(mtu在哪里看)插图

db2 CONNECT TO DBName [user UserID using PWD]–建立连接

db2 CONNECT reset /db2 disconnect CURRENT –断开连接

db2 terminate –断开与数据库的连接

mtu怎么查看(mtu在哪里看)插图1

db2icrt < 实例名称 > –创建 db2 实例

db2idrop < 实例名称 >–删除 db2 实例

set db2intance=db2 –设置当前 db2 实例

db2ilist –显示 db2 拥有的实例

db2 list db directory –查看本地节点目录

db2 catalog tcpip node remote ostype –编目一个

mtu怎么查看(mtu在哪里看)插图2

TCP/IP节点

db2 uncatalog node –取消节点编目

db2 catalog DATABASE AS AT node –编目数据库

db2 uncatalog DATABASE –取消数据库编目

用ps命令查看是否有db2sysc后台进程

#ps -ef | grep db2sysc

mtu怎么查看(mtu在哪里看)插图3

也可以以DB2实例所有者登录,通过发出db2start命令来确保启动了实例(如果实例已经启动,则会告知SQL1026N 数据库管理器已激活;否则,将把实例启动起来)

以db2实例所有者登录

db2 list tablespaces show detail //在单分区上查看表空间的状态,正常返回0x0000

db2_all list tablespaces show detail //在所有分区上查看表空间的状态

mtu怎么查看(mtu在哪里看)插图4

mtu怎么查看(mtu在哪里看)插图5

mtu怎么查看(mtu在哪里看)插图6

mtu怎么查看(mtu在哪里看)插图7

可以使用LIST TABLESPACES 命令确定连接数据库中表空间的当前状态,可以使用SHOW DETAIL选项查看表空间的详细信息。

查询系统目录视图以获得关于数据库的表的状态信息。例如,下面的语句将返回在 SYSCAT.TABLES 中有项的所有表的名称,以及每个表的列数和表的状态(N = 正常;C = 待审核(check pending))

#db2 select tabname, colcount, status FROM syscat.tables ORDER BY tabname

mtu怎么查看(mtu在哪里看)插图8

查看数据库活动日志目录是否已满,活动日志目录的位置可以使用db2 get db cfg查看,注意一定不要手工删除活动日志

mtu怎么查看(mtu在哪里看)插图9

#df -k

mtu怎么查看(mtu在哪里看)插图10

查看DMS表空间中是否还有可用页

#db2 list tablespaces show detail //在单分区上查看表空间的是否还有可用页

# db2_all list tablespaces show detail //在所有分区上查看表空间是否还有可用页

请查看TSM或第三方存储管理软件,看备份映像文件是否完整的保存到了磁带机上了,想在DB2上查看备份情况,可以使用LIST命令

# db2 list history backup all for 数据库名

mtu怎么查看(mtu在哪里看)插图11

mtu怎么查看(mtu在哪里看)插图12

# db2 get snapshot for bufferpools on 数据库名 > log.txt

#db2 “select * from SYSCAT.BUFFERPOOLS” 查缓冲池大小信息

命中率计算:

(1- ((Buffer pool data physical reads + Buffer pool index physical reads) /(Buffer pool data logical reads + Buffer pool index logical reads))) * 100%

用grep命令查看” Number of executions”执行次数最频繁的语句,看其命中率是否正常。

比如:

grep -n " Number of executions" log.txt | grep -v "= 0" | sort -k 5,5rn | more

#db2 list applications show detail

mtu怎么查看(mtu在哪里看)插图13

看这些连接的情况,看有没有不合适的IP连上来,或者不被允许的第三方工具连上来,比如一些第三方工具连上来会对表进行锁定,影响业务系统正常运行,这个时候可以用db2 “force application(应用程序句柄号)” 将某个单独的句柄停下来。

# db2 get snapshot for all on 数据库名 > log.txt

用grep命令查看输出的文件中是否有死锁的记录,比如

grep -n "Deadlocks detected" log.txt | grep -v "= 0" | more

–离线备份

db2 force applications all–断开所有连接

db2 force application(h1,h2……)–杀死与数据库相连接的某个进程

db2 backup db DBName [to /backup] [use TSM]–离线备份

–在线、增量备份

–前提:更改数据库参数 logretain, userexit, trackmod 为 on,之后数据库处于backup pending状态,要完全离线备份数据库一次,之后就可以进行在线、在线增量备份了。

db2 update db cfg using logretain on userexit on trackmod on–启用相关参数

–归档路径

DB2 UPDATE DATABASE CONFIGURATION USING LOGARCHMETH1 DISK:/backup

–LOGARCHMETH1参数改成TSM

DB2 UPDATE DATABASE CONFIGURATION USING LOGARCHMETH1 TSM IMMEDIATE

db2 backup db DBName [to /backup] [use TSM]–离线备份

db2 backup db DBName online [to /backup] [use TSM] include logs –在线线备份

db2 backup db DBName online incremental [to /backup] [use TSM]–在线增量备份

–数据库恢复

db2 restore db DBname [incremental] [FROM /backup][use TSM] taken AT YYYYMMDDHHMMSS

–恢复 (时间戳记:YYYYMMDDHHMMSS)

db2 list history backup [since YYYYMMDDHHMMSS] ALL FOR DBName

–查看 [从YYYYMMDDHHMMSS] 对DBName的备份情况

db2 ROLLFORWARD DATABASE DBName TO END OF LOGS AND COMPLETE NORETRIEVE–将暂挂的数据恢复到前滚状态

db2 ROLLFORWARD DATABASE DBName TO END OF LOGS AND COMPLETE OVERFLOW LOG PATH (“/home/db2inst1/SQLOGDIR”)

–导出

db2 EXPORT TO D:\TableName.txt OF del SELECT * FROM SCHEMA.TableName–文本格式

db2 EXPORT TO D:\TableName.csv OF del SELECT * FROM SCHEMA.TableName–csv可转为excel

db2 EXPORT TO D:\TableName.ixf OF ixf SELECT * FROM SCHEMA.TableName

–导出数据(IXF 集成通用交换格式)

db2 EXPORT TO “D:\TableName.data” OF IXF MESSAGES “D:\TableName.msg” SELECT * FROM SCHEMA.TableName;

–导入

db2 IMPORT FROM D:\TableName.txt OF del INSERT INTO SCHEMA.TableName

db2 IMPORT FROM “D:\TableName.data” OF IXF [MESSAGES “D:\TableName.msg”] [COMMITCOUNT 1000] INSERT/CREATE INTO SCHEMA.TableName;

db2 IMPORT FROM “D:\TableName.ixf” OF IXF [COMMITCOUNT 1000] INSERT/INSERT_UPDATE/CREATE/REPLACE/REPLACE_CREATE INTO SCHEMA.TableName;

请至少每天查看一次db2diag.log文件,看其中是否有异常。

# db2level

mtu怎么查看(mtu在哪里看)插图14

觉得有用的朋友多帮忙转发哦!后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注下~

mtu怎么查看(mtu在哪里看)插图15

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如有侵权请联系网站管理员删除,联系邮箱1856753@qq.com。

0
显示验证码
没有账号?注册  忘记密码?