2011年7月16日,作者: 杰克·范瓦斯(Jack Vamvas)
根据情况,可能有必要停用一个DB2 数据库或单个实例中的所有数据库
要停用一个数据库,以下步骤将有所帮助:
- 通过命令关闭AUTORESTART
db2更新cfg,以使用自动重启功能
-迫使用户离开
db2 force全部应用
- 停用数据库
db2停用db
在某些情况下,这是行不通的。在这种情况下,请执行Quiesce数据库
QUIESCE数据库<my_db>立即强制连接
要再次允许访问,将需要UNQUIESCE。
要停用实例中的所有数据库– 对于所有数据库,请遵循上述步骤,或者执行以下脚本。这将遍历实例中的所有数据库并停用,以及 creates a log file :
working_dir=$PWD logfile="DEACTIVATE__`date +%d%m%y`.log" touch $working_dir/$logfile >$working_dir/$logfile echo "Current working directory $working_dir" >> $working_dir/$logfile echo "operatation began `date`" >> $working_dir/$logfile for i 在 `db2 list db directory | grep 'Database name' | awk '{print $4}'`; do echo "==============================" >> $working_dir/$logfile ; echo "beginning takeover for $i" >> $working_dir/$logfile ; echo "==============================" >> $working_dir/$logfile ; echo "checking 数据库 state" >> $working_dir/$logfile ; state=$(db2 get db cfg for $i | grep 'HADR 数据库 role' | awk '{print $5}'); echo "Current state is $state" >> $working_dir/$logfile ; echo "command : db2 takeover hadr on db $i" >> $working_dir/$logfile ; db2 停用 db $i >> $working_dir/$logfile ; echo "==============================" >> $working_dir/$logfile ; echo ""; done echo "operatation ended `date`" >> $working_dir/$logfile
Posted by: |