DB2如何停库/如何使数据库处于offline状态
2016-09-23 10:20
218 查看
问题:
DB2中有些操作要求数据库处于非激活,或者说离线(offline)状态,这时候需要停库操作,比如db2dart要求数据库是offline的,那什么样的数据库才是离线状态的?如何停库?
答:
首先需要确认一点,停库和停实例是两个概念。停库是指是使database处于非激活状态,而停实例使用的命令是db2stop
C:\windows\system32> db2 "list active databases"
Active Databases
Database name = SAMPLE
Applications connected currently = 0
Database path = C:\DB2INST1\NODE0000\SQL00005\MEMBER0000\
补充说明:一个实例下可能有多个库,而db2 force applications all会断掉整个实例下所有库的连接,并且,如果数据是被显式激活的,即使所有应用都被force掉了,数据库也是活动状态的。
DB2中有些操作要求数据库处于非激活,或者说离线(offline)状态,这时候需要停库操作,比如db2dart要求数据库是offline的,那什么样的数据库才是离线状态的?如何停库?
答:
首先需要确认一点,停库和停实例是两个概念。停库是指是使database处于非激活状态,而停实例使用的命令是db2stop
1.激活数据库的2种方法
有两种办法可以激活数据库,第一种是显式地激活,即使用db2 activate database <dbname>。第二种是隐式地激活,当有首个连接到数据库时,数据库会被隐式激活,即db2 connect to <dbname>2.查看数据库是否处于活动状态
使用db2 list active databases,如下例,数据库SAMPLE处于活动状态C:\windows\system32> db2 "list active databases"
Active Databases
Database name = SAMPLE
Applications connected currently = 0
Database path = C:\DB2INST1\NODE0000\SQL00005\MEMBER0000\
3.停库的办法
这个要根据数据库是显式地激活,还是隐式地激活的。如果是显式地激活的,必须使用db2 deactivate db <dbname>,如果是隐式地激活,最后一个连接断开时,库自然停掉。测试1. 显示地激活数据库,使用list applications查看,虽然没有连接,但数据库是活动状态。
C:\windows\system32>db2 "activate db sample" DB20000I The ACTIVATE DATABASE command completed successfully. C:\windows\system32>db2 "list active databases" Active Databases Database name = SAMPLE Applications connected currently = 0 Database path = C:\DB2INST1\NODE0000\SQL00005\MEMBER0000\ C:\windows\system32>db2 "list applications" SQL1611W No data was returned by Database System Monitor. C:\windows\system32>db2 "deactivate db sample" DB20000I The DEACTIVATE DATABASE command completed successfully. C:\windows\system32>db2 "list active databases" SQL1611W No data was returned by Database System Monitor.
测试2. 隐式地激活数据库,使用list applications查看,有连接,并且数据库是活动状态
C:\windows\system32>db2 "connect to sample" Database Connection Information Database server = DB2/NT64 10.5.6 SQL authorization ID = MIAOQING... Local database alias = SAMPLE C:\windows\system32>db2 "list applications" Auth Id Application Appl. Application Id DB # of Name Handle Name Agents -------- -------------- ---------- -------------------------------------------------------------- -------- ----- MIAOQIN> db2bp.exe 130 *LOCAL.DB2INST1.160923021540 SAMPLE 1 C:\windows\system32>db2 "list active databases" Active Databases Database name = SAMPLE Applications connected currently = 1 Database path = C:\DB2INST1\NODE0000\SQL00005\MEMBER0000\ C:\windows\system32>db2 "terminate" DB20000I The TERMINATE command completed successfully. C:\windows\system32>db2 "list applications" SQL1611W No data was returned by Database System Monitor. C:\windows\system32>db2 "list active databases" SQL1611W No data was returned by Database System Monitor.
补充说明:一个实例下可能有多个库,而db2 force applications all会断掉整个实例下所有库的连接,并且,如果数据是被显式激活的,即使所有应用都被force掉了,数据库也是活动状态的。
相关文章推荐
- 解决新建数据库时的错误 SQL4414N “DB2 管理服务器”处于不活动状态
- Windows中如何获取键盘和鼠标处于空闲状态的时间
- 如何把数据库系统迁移到 DB2 9
- [VB.NET]VB2005,DataGridView如何设置当前的单元格里的内容处于编辑状态.
- c# 如何获取键盘和鼠标处于空闲状态的时间
- asp.net 如何让DropDownList的某一项处于选中状态
- 如何让情绪长时间处于巅峰状态?
- 有没有知道如何连接DB2的数据库?
- VS2008 .net中 如何安装部署DB2 数据库应用
- vc++如何使复选框处于选中状态
- 在RFT中如何等待浏览器处于Ready状态?
- 如何将PENDING OFFLINE状态的回滚段OFFLINE?
- sql:如何恢复数据库到两个备份时间点之间的状态
- Excel中,如何在cell处于编辑状态时,对其用代码赋值
- 如何随时处于就绪状态?
- 如何判断跟数据库的连接状态
- 如何设置提交后让页面处于等待状态
- 如何让ListCtrl的CheckBox只有一个处于选中状态
- 如何修复数据库状态(转载)
- 如何处理创建DB2工具目录数据库的时候遇到的SQL1005N错误?