学习啦>学习电脑>操作系统>Linux教程>

Linux系统重启db2数据库命令实例详解

佳洲分享

  Linux系统中db2数据库的启动关闭可以通过命令来实现。下面由学习啦小编为大家整理了Linux系统重启db2数据库命令实例详解,希望对大家有帮助!

  Linux系统重启db2数据库命令实例详解

  DB2重启数据库实例时,有时停止实例会失败,此时需要先确认没有应用链接数据库,然后再关闭数据库实例,并重新启动。

  1.查看是否有活动的链接

  命令:db2 list applications for db db_name

  发现有两个活动链接,此时需要将链接进行关闭。

  2.关闭连接

  命令:db2 force application all

  3.再执行一次步骤1中的命令,查看链接是否全部关闭。

  4.执行停止实例命令

  命令:db2stop

  注意:命令中没有空格

  5.执行实例启动命令

  命令:db2start

  6.如果此时,发现连接不了数据库,莫慌,需要激活目标数据库

  首先查看是否有活跃的数据库

  命令:db2 list active databases

  如果没有,需要对目标数据库进行激活设置

  命令:db2 activate database db_name

  然后再次使用上一条命令,就可查看到当前已有活跃的数据库了,此时可进行连接并执行数据库操作。

  在停止数据库实例失败时,也有一种直接迅速的方法可以停止实例,不过不建议使用,最好还是按照上述的步骤进行。

  快速方法

  执行命令:db2stop force

  Linux系统db2数据库常用命令

  启动数据库:

  启动db2服务:db2start

  激活数据库实例:db2 activate database <db_name>

  查看激活状态的数据库:db2 list active databases

  关闭数据库:

  失效数据库实例:db2 deactivate database <db_name>

  关闭数据库服务:db2stop

  查看数据库:db2 list db directory

  查看数据库应用:db2 list applications

  查看数据库应用和进程号:db2 list applications show detail

  查看数据库表空间:db2pd -db <db_name> -tablespace

  查看数据库配置:db2 get db cfg for <db_name>

  连接数据库:db2 connect to <db_name>

  db2 connect to <db_name> user[user_name] using [password]

  断开数据库连接:db2 connect reset/db2 terminate

  创建数据库:db2 create db <db_name>

  删除数据库:db2 drop database <db_name> (如果不能删除,尝试断开激活的连接或者重启db2)

  列出系统表:db2 list tables for system

  列出所有用户表:db2 list tables

  列出所有表:db2 list tables for all

  列出特定用户表:db2 list tables for schema [user]

  复制一张表:db2 create table t1 like t2

  显示表结构:db2 describe table tablename

  查询表:db2 "select * from table tablename where ..."

  执行SQL脚本:db2 -tvf scripts.sql

  查看错误代码信息:db2 ? 10054

  停止激活的连接:db2 force application all;\db2 force application all;\db2 force application all;\db2stop

  查看死锁: db2 get snapshot for locks on <db_name>

  db2 "select agent_id,tabname,lock_mode from table(snap_get_lock('<db_name>')) as aa"

  杀掉进程: db2 force application(NUM)

  监控DB2消耗多的SQL语句:

  eg:(DB_NAME=CMSDB)

  db2top -d CMSDB -----查看消耗资源 按照提示按 l,出现Application Handle,找到资源消耗大的Application Handle(stat)

  记下app handle。

  db2pd -d CMSDB -dyn -application > /tmp/db2pd1.txt ----到处会话语句,准备进行调优

  设置连接方式(重启才会生效):

  db2set DB2COMM=tcpip

  Linux下db2数据库的备份与还原

  步骤:

  1.打开SSH的client,在Profiles下找到要连接的服务器,输入密码,进入系统。

  2.新建存放备份文件的目录。

  (1)如果不是用root用户登录的系统,要先切换到root用户。

  执行命令 su root。

  (2)创建存放备份文件的目录。执行命令:mkdir /home/db2as。

  /home/db2as是我新建的目录。

  (3)把该目录的操作权限赋给数据库用户,假如数据库用户名是lilax。被赋予权限的目录是/home/db2as

  执行命令: chown lilax:users /home/db2as。

  (4)切换到lilax用户。执行命令:su lilax。

  3.切换到要备份到的目录。执行命令:cd /home/db2as

  4.停掉Tomcat服务。

  5.首先确保没有用户使用DB2。

  执行命令:db2 list applications for db pbcmoney。pbcmoney是我要备份的数据库名。

  6.停掉数据库。执行命令:db2stop force

  7.启动数据库服务,以便断掉所有的链接。执行命令:db2start

  8.备份数据库。执行命令:db2 backup db pbcmoney。pbcmoney是我要备份的数据名。

  备份成功后将会返回一个时间戳。

  9.把备份文件复制到本地。打开SSH的file transfer。在右边服务器目录中切换到home/db2as目录,找到刚刚备份的文件。将文件拖到右边你想复制到的本地目录。注意,左边的本地目录路径不能有中文。

  10.还原

  把备份文件放到/home/lilax目录下,lilax是我的数据库用户名。

  在SSH中执行命令:db2 restore db pbcmoney taken at 20101122205614 without rolling forward,其中pbcmoney 是我要还原的数据库名,20101122205614 是备份文件的时间戳,如备份文件名是PBCMONEY.0.lilax.NODE0000.CATN0000.20101122205614.001,则20101122205614即是时间戳Times。

    3644389