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。