- 论坛徽章:
- 0
|
7.恢复
恢复类型
Crash使用日志恢复,用于断电或程序异常出现的错误,这种一般有数据库自动完成
version or restore使用备份映像来恢复
roll froward同时使用备份映像和日志
日志记录插入或删除所有列的数据,但更新只记录所更改的列的数据
日志
循环日志提供crash和version or restore,不能提供roll forward
所有主日志一开始就被分配,辅日志使用时再分配
日志满会导致数据库停止
档案日志或记录保留日志 提供所有恢复方式,配置参数LOGRETAIN
档案日志包括:活动的,联机档案,脱机档案
恢复历史记录文件
rec_his_retenn设置历史记录保存周期
备份
BACKUP需要有SYSADM,SYSCTRL或SYSMAINT权限
只有启用了保留日志logretain或者用户出口userexit,才能使用联机备份
恢复
恢复需要SYSADM,SYSCTRL,SYSMAINT
如果数据库以前使用backup备份,现在也只能使用RESTORE命令
备份的数据库名可以和恢复的数据库名不同
表空间恢复
要实现表空间级别的备份和恢复,必须使用档案记录
8.监控和问题确定
出错日志
主出错日志 db2diag.log,路径由 DIAGPATH指定路径,缺省 /sqllib/db2dump
DIAGLEVEL设置记录信息级别
可以随时去除 db2diag.log,db2alert.log,####.dmp,t###.0000
监视器
快照监视器来检查数据库和应用程序的当前状态
事件监视器来收集状态变化的信息,比如死锁
db2evmon可以来查看监控程序的输出。
说明工具EXPLAIN
Visual Explain可以分析SQL语句
其它命令
LIST APPLICATIONS显示应用程序连接
FORCE APPLICATION断开应用程序连接
db2stop force可以断掉连接并停止实例
9.并发性
锁定
锁定使用在表空间,表,行和索引
隔离级
RS,RR,CR,UR
锁定升级可以降低锁定整体需求
locklist,maxlocks对锁定升级有影响
10.应用程序选择
数据库引擎访问
静态SQL里面可以包含变量
嵌入式SQL
预编译时把SQL语句注释掉,用过程调用代替
装入模块和程序包必须来自同一预编译步骤
PREP生成三个信息:CT,应用程序名,编译人名
找不到程序包,返还-805 ,CT不匹配,返回 -818
编译
编译用PREP,可以直接生成程序包
联编使用bind,GRANT可以授予用户BIND和EXECUTE的权限
ODBC
DB2 CLI提供和ODBC的接口
11.应用程序性能
优化
缺省优化级别 DFT_QUERYOPT,缺省为5
db2Set CURRENT QUERY OPTIMAZTIOn = n设置命令行处理器中
PREP或Bind选项 QUERYOPT
CLI客户机上db2cli.ini中DB2OPTIMIZATION
重新绑定程序
SYSCAT.PACKAGES的VALID列标识程序包是否有效
删除对象可导致隐式重新绑定
删除了UDF导致程序包不可操作,要用REBIND命令重新绑定
分块
一次传送多个行记录
只对读操作进行分块。影响分块有 游标和绑定式blocking选项
操作实用程序
RUNSTATS更新表和索引的统计信息
REORGCHK检查系统表中的数据,并应用公式来确定是否要重新组织表和他的索引
REORG解决了表和索引中的碎块,并且更加索引中顺序来安排表中行的顺序
在使用RUNSTATS之后使用BIND/REBIND
缺省情况下,RUNSTATS时其他应用程序可以更新表
用*号表示超过预定义的范围
REORG之后要使用RUNSTATS |
|