您的位置:首页 > 数码常识数码常识

db2基本操作(db2运维命令)

2025-05-11人已围观

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

  db2运维命令概述

  1、数据库的启动、停止、激活

  db2 list active databases

  db2 active db 数据库名

  db2start --启动

  db2stop [force] --停止

  2、数据库的连接、断开

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

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

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

  3、实例的创建、删除

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

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

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

  db2ilist --显示 db2 拥有的实例

  4、节点、数据库的编目

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

  db2 catalog tcpip node <node_name> remote <hostname|ip_address> <svcname|port_number> ostype <OS2|AIX|WIN95|NT|HPUX|SUN|MVS|OS400|VM|VSE|SCO|SGI|LINUX|DYNIX>--编目一个

  TCP/IP节点

  db2 uncatalog node <node_name> --取消节点编目

  db2 catalog DATABASE <db_name> AS <db_alias> AT node <node_name>--编目数据库

  db2 uncatalog DATABASE <db_name> --取消数据库编目

  5、检查DB2实例是否已经启动

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

  #ps -ef | grep db2sysc

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

  6、 查看表空间状态是否正常

  以db2实例所有者登录

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

  7、 查看表的状态

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

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

  8、 查看磁盘空间

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

  #df -k

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

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

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

  9、 检查数据库备份是否正常

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

  10、 查看当前运行最频繁的SQL,其命中率是否正常

  # 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"执行次数最频繁的语句,看其命中率是否正常。

  比如:

  11、 查看当前连接的应用程序,有没有非法连接

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

  12、 检查有没有死锁

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

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

  13、数据库的备份、恢复

  --离线备份

  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")

  14、数据的导出、导入

  --导出

  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;

  15、查看DB2日志

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

  16、 数据库补丁级别

  # db2level

  上面就是小居数码小编今天给大家介绍的关于(db2运维命令)的全部内容,希望可以帮助到你,想了解更多关于数码知识的问题,欢迎关注我们,并收藏,转发,分享。

  94%的朋友还想知道的:

  教你操作步骤(智能电视怎么装第三方软件)

  ps图形怎么旋转怎么操作(ps图形旋转变换)

  wps云办公进行文档加密操作流程(wps云文档加密如何设置)

  word绘制流程图步骤操作(word绘制流程图)



  151859
 

很赞哦! ()

随机图文