备份DB2数据库的方法如下:
在db2inst1用户下操作.
在你要保存数据的当前目录执行以下命令:
$ db2stop force (停止数据库)
$ db2start (启动数据库)
*可不停止数据库,直接执行以下命令:
$ db2 connect to 数据库名 user 用户名 using 密码 (连接数据库)
$ db2 backup db 数据库名
系统会自动备份生成一个时间戳的数据备份文件,
如:xxxx.0.db2inst1.NODE0000.CATN0000.20070814031212.001
恢复数据库
在你备份出数据的当前目录执行以下命令:
$ db2 restore db 数据库名 taken at 20070814031212(直接取数据备份生成的时间戳即可)
查询sql的执行时间,找出时间长的sql进行优化
SELECT rows_read / (num_executions + 1) as avg_rows_read,
rows_written / (num_executions + 1) as avg_rows_written,
stmt_sorts / (num_executions + 1) as avg_sorts,
total_exec_time / (num_executions + 1) as avg_exec_time,
substr(stmt_text,1,1000) as SQL_Stmt
FROM SYSIBMADM.SNAPDYN_SQL ORDER BY avg_exec_time desc
fetch first 20 rows only;
获取数据库锁表
db2 "get snapshot for locks on dbname"
db2 "get snapshot for application agentid 4053"可查看锁表执行语句
db2 "force application(handle)"释放资源