据说可以这样:
----
使用新 QUIESCE 命令,可以强制所有用户关闭实例或数据库,并将其置于停顿方式以进行数据库维护。
QUIESCE 命令提供对实例或数据库的独占存取,而不必强制所有用户关闭实例或数据库并尝试停止用户与数据库引擎外部的连接(例如,通过关闭所有事务管理器)。
仅具有正确权限的用户才能连接至实例或数据库。在此停顿期间,可以在实例或数据库上执行系统管理。在管理完成后,可以取消停顿数据库(使用 UNQUIESCE 命令),并再次允许其他用户连接至数据库,而不必关机并再一次执行数据库启动。
例子:db2 connect to sample
db2 quiesce database immediate force connections
恢复:
db2 unquiesce database
-----
因为好奇,我也试下
到db2 quiesce database immediate force connections 时,不动了,另外一个客户端dbx也断开了连接
肿么办,关闭db2自带客户端,重新打开
db2 => connect to sample SQL1032N 未发出启动数据库管理器的命令。 SQLSTATE=57019 db2 => db2start SQL1032N 未发出启动数据库管理器的命令。 SQLSTATE=57019 db2 => db2start SQL1032N 未发出启动数据库管理器的命令。 SQLSTATE=57019 db2 => connect to sample SQL1032N 未发出启动数据库管理器的命令。 SQLSTATE=57019 db2 => db2stop force SQL1032N 未发出启动数据库管理器的命令。 SQLSTATE=57019
开启 的db2服务如下
开启第一个服务,报错
难道要我重启计算机
db2 => list active databases SQL1032N 未发出启动数据库管理器的命令。 SQLSTATE=57019 db2 => get cfg for sample SQL0104N 在 "GET" 之后发现意外的标记 "cfg"。期望的标记可能包括:"ADMIN"。 SQLSTATE=42601 db2 => get db cfg for sample SQL1032N 未发出启动数据库管理器的命令。 SQLSTATE=57019 db2 =>
db2 => get dbm cfg 数据库管理器配置 节点类型 = 带有本地客户机和 客户机的企业服务器版 数据库管理器配置发行版级别 = 0x0a00 打开的文件的最大总数 (MAXTOTFILOP) = 16000 CPU 速度(毫秒/指令) (CPUSPEED) = 5.589407e-007 通信带宽(MB/秒) (COMM_BANDWIDTH) = 1.000000e+002 并发活动数据库的最大数目 (NUMDB) = 8 Data Links 支持 (DATALINKS) = NO 联合数据库系统支持 (FEDERATED) = NO 事务处理器监视器名 (TP_MON_NAME) = 缺省对方付费帐户 (DFT_ACCOUNT_STR) = Java Development Kit 安装路径(JDK_PATH) = D:\PROGRA~1\IBM_ LLIB\java\jdk 诊断错误捕获级别 (DIAGLEVEL) = 3 通知级别 (NOTIFYLEVEL) = 3 诊断数据目录路径 (DIAGPATH) = 缺省数据库监视开关 缓冲池 (DFT_MON_BUFPOOL) = OFF 锁定 (DFT_MON_LOCK) = OFF 排序 (DFT_MON_SORT) = OFF 语句 (DFT_MON_STMT) = OFF 表 (DFT_MON_TABLE) = OFF 时间戳记 (DFT_MON_TIMESTAMP) = ON 工作单元 (DFT_MON_UOW) = OFF 监视实例和数据库的运行状况 (HEALTH_MON) = ON SYSADM 组名 (SYSADM_GROUP) = SYSCTRL 组名 (SYSCTRL_GROUP) = SYSMAINT 组名 (SYSMAINT_GROUP) = SYSMON 组名 (SYSMON_GROUP) = 客户机用户标识-密码插件 (CLNT_PW_PLUGIN) = 客户机 Kerberos 插件 (CLNT_KRB_PLUGIN) = IBMkrb5 组插件 (GROUP_PLUGIN) = 本地授权的 GSS 插件 (LOCAL_GSSPLUGIN) = 服务器插件方式 (SRV_PLUGIN_MODE) = UNFENCED GSS 插件的服务器列表 (SRVCON_GSSPLUGIN_LIST) = 服务器用户标识-密码插件 (SRVCON_PW_PLUGIN) = 服务器连接认证 (SRVCON_AUTH) = NOT_SPECIFIED 数据库管理器认证 (AUTHENTICATION) = SERVER 没有权限就允许编目 (CATALOG_NOAUTH) = NO 信赖所有客户机 (TRUST_ALLCLNTS) = YES 可信的客户机认证 (TRUST_CLNTAUTH) = CLIENT 绕过联合认证 (FED_NOAUTH) = NO 缺省数据库路径 (DFTDBPATH) = D: 数据库监视器堆大小(4KB) (MON_HEAP_SZ) = 66 “Java 虚拟机”堆大小(4KB) (JAVA_HEAP_SZ) = 512 审计缓冲区大小(4KB) (AUDIT_BUF_SZ) = 0 实例共享内存(4KB)的大小 (INSTANCE_MEMORY) = AUTOMATIC 备份缓冲区缺省大小(4KB) (BACKBUFSZ) = 1024 复原缓冲区缺省大小(4KB) (RESTBUFSZ) = 1024 代理进程的堆栈大小 (AGENT_STACK_SZ) = 16 最小已落实专用内存(4KB) (MIN_PRIV_MEM) = 32 专用内存阈值(4KB) (PRIV_MEM_THRESH) = 20000 排序堆阈值(4KB) (SHEAPTHRES) = 10000 目录高速缓存支持 (DIR_CACHE) = YES 应用程序支持层堆大小(4KB) (ASLHEAPSZ) = 15 最大请求程序 I/O 块大小(以字节计) (RQRIOBLK) = 32767 DOS 请求程序 I/O 块大小(以字节计) (DOS_RQRIOBLK) = 4096 查询堆大小(4KB) (QUERY_HEAP_SZ) = 1000 已调速实用程序对工作负载的影响 (UTIL_IMPACT_LIM) = 10 代理进程的优先级 (AGENTPRI) = SYSTEM 现有代理进程的最大数目 (MAXAGENTS) = 400 代理进程池大小 (NUM_POOLAGENTS) = 200(已计算) 池中的代理进程的初始数目 (NUM_INITAGENTS) = 0 协调代理进程的最大数目 (MAX_COORDAGENTS) = (MAXAGENTS - NUM AGENTS) 并发协调代理进程的最大数目 (MAXCAGENTS) = MAX_COORDAGENTS 客户机连接的最大数目 (MAX_CONNECTIONS) = MAX_COORDAGENTS 保留受防护的进程 (KEEPFENCED) = YES 合用受防护的进程的数目 (FENCED_POOL) = MAX_COORDAGENTS 受防护的进程的初始数目 (NUM_INITFENCED) = 0 索引重新创建时间和重做索引构建 (INDEXREC) = RESTART 事务管理器数据库名称 (TM_DATABASE) = 1ST_CONN 事务再同步时间间隔(秒) (RESYNC_INTERVAL) = 180 SPM 名称 (SPM_NAME) = WENCHAO_ SPM 日志大小 (SPM_LOG_FILE_SZ) = 256 SPM 再同步代理进程限制 (SPM_MAX_RESYNC) = 20 SPM 日志路径 (SPM_LOG_PATH) = NetBIOS 工作站名 (NNAME) = TCP/IP 服务名称 (SVCENAME) = db2c_DB2 发现方式 (DISCOVER) = SEARCH 发现服务器实例 (DISCOVER_INST) = ENABLE 最大查询并行度 (MAX_QUERYDEGREE) = ANY 启用分区内并行性 (INTRA_PARALLEL) = NO 内部通信缓冲区的数目(4KB) (FCM_NUM_BUFFERS) = 4096 FCM 请求块数目 (FCM_NUM_RQB) = AUTOMATIC FCM 连接条目数目 (FCM_NUM_CONNECT) = AUTOMATIC FCM 消息锚点数目 (FCM_NUM_ANCHORS) = AUTOMATIC 节点连接经过时间(秒) (CONN_ELAPSE) = 10 节点连接重试的最大数目 (MAX_CONNRETRIES) = 5 节点间的最大时差(分钟) (MAX_TIME_DIFF) = 60 db2start/db2stop 超时(分钟) (START_STOP_TIME) = 10 db2 =>
查看db2diag.log日志,总是报如下错误
2014-04-19-03.03.40.437000+480 E520319H396 LEVEL: Error (OS) PID : 3052 TID : 3120 PROC : db2fmp.exe INSTANCE: DB2 NODE : 000 FUNCTION: DB2 UDB, oper system services, sqloSSemClose, probe:20 CALLED : OS, -, unspecified_system_function OSERR: 6 RETCODE : ECF=0x9000000C=-1879048180=ECF_INVALID_PARAMETER Invalid parameter
好吧,看来是无法解决了暂时,重启电脑,重新连接
db2 => connect to sample 数据库连接信息 数据库服务器 = DB2/NT 8.2.0 SQL 授权标识 = WENCHAO 本地数据库别名 = SAMPLE db2 =>
可是我还想重新再试一边,看下还会不会出现这种问题!
我先再用dbx在连接一下
在命令行下运行
db2 => quiesce database immediate force connections在这里又卡住不动了
关闭命令行,重新打开
db2 => connect to sample SQL1032N 未发出启动数据库管理器的命令。 SQLSTATE=57019 db2 =>
db2 => db2start SQL1032N 未发出启动数据库管理器的命令。 SQLSTATE=57019
看下服务
没办法,只有重启电脑了!
看下重启后有哪些服务启动
什么也不说了
深入解析DB2--高级管理、内部体系结构与诊断案例
在我们执行quiesce命令停顿一张表期间,该表所在的表空间无法被其他应用访问,要查找停顿表空间的用户,我们可以使用DB2 LIST TABLESPACES SHOW DETAIL命令。下面借助 db2dart工具产生的报告,我们可以查询到发出quiesce命令的原始用户。
http://fanqiang.chinaunix.net/db/db2/2005-11-14/3847.shtml