D2管理工作手册--数据库.doc_第1页
D2管理工作手册--数据库.doc_第2页
D2管理工作手册--数据库.doc_第3页
D2管理工作手册--数据库.doc_第4页
D2管理工作手册--数据库.doc_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

DB2 管理工作手册 前 言 概述 该文档主要目的是降低现场实施人员及用户 DB2 数据 库的管理难度 文档提供了 DB2 数据库日常管理 性 能快照监控 备份恢复等常用内容 依照该手册进行 DB2 数据库的日常工作 能有效地把握 DB2 后台数据 库的整体运行健康状况 通过收集相关重要信息分析 能很好地防范即将出现的系统风险 系统出现问题后 尽快地定位问题 现场解决一部分常规数据库问题 对其它专业要求比较强的数据库问题 也能为后续 DB2 专家深入分析 诊断问题提供规范 完整的信息 适用范围 适于需求分析 设计 实现和测试 实施所有阶段 适于架构设计师 系统设计师 开发工程师和项目经 理 适于 EAS 产品所有版本 约定 符号约定 在本文中可能出现下列标志 它们所代表的含义如下 符号说明 表示有潜在风险 如果忽视这些 文本 可能导致操作错误 数据 丢失 设备性能降低或不可预知 的结果 表示可以帮助您获取更多相关信 息或提示您通过其它方式也可以 获得相同结果 强调或补充说明所描述的信息 内容约定 本处对文中通用信息作如下约定 EAS HOME 表示 EAS 服务器安装的根目录 即 安装过程中输入的本地路径 BOS HOME 表示 BOS 工具的安装根目录 即安 装过程中输入的本地路径 目 录 1 事前阶段事前阶段 5 1 1 日常工作 每天应做工作内容 5 1 1 1 工作内容 日常环境监控 5 1 1 2 工作内容 日常性能监控 7 1 1 3 工作内容 日常数据库管理 21 1 1 4 工作内容 日常数据库备份恢复 26 2 事中阶段事中阶段 30 2 1 DB2 数据库出现问题时需掌握的相关信息 30 2 1 1 问题症状描述 30 2 1 2 问题在什么地方出现 30 2 1 3 问题在什么时间出现 31 2 1 4 问题在什么条件下出现 31 2 1 5 问题涉及的范围 31 2 1 6 问题是否能重现 31 2 1 7 数据库运行环境软 硬件基本信息 31 2 1 8 DB2 性能相关 32 2 2 DB2 数据库问题的解决途径 32 1 事前阶段 1 1 日常工作 每天应做工作内容 1 1 1 工作内容 日常环境监控 1 系统运行环境监控 查看 DB2 数据文件 日志文件所在空间使用情况 重点关注 db2 软件及数据文件所在卷空间使用 率 su db2inst1 AIX linux 查看磁盘空间 df kv HP UX 查看磁盘空间 bdf 检测操作系统 CPU 内存 交换区 I O 配置状况 AIX CPU 内存 网络 IO 进程 页面交换 topas Linux HP UX CPU 内存 网络 IO 进程 页面交换 top 2 数据库运行状况监控 检查 DB2 数据库核心主进程是否存在 状态是否正常 ps ef grep db2sysc db2inst1 7929 7928 0 Jun 3 0 17 db2sysc 0 查看数据库是否处于活动状态 db2 list active databases Active Databases Database name EASDB Applications connected currently 7 Database path databak db2inst1 NODE0000 SQL00001 查看数据库是否能正常连接 db2 connect to easdb Database Connection Information Database server DB2 HPUX IA64 9 1 6 SQL authorization ID DB2INST1 Local database alias EASDB 1 1 2 工作内容 日常性能监控 1 使用操作系统 top 等工具监控系统资源动态运行状况 CPU 内存 网络 IO 进程 页面交换等主 要活动监控 top topas vmstat iostat 等 2 数据库健康状况快照分析 db2 get health snapshot for db on yh03 show detail yh03health log 注 了解数据库整体运行健康状况 包括 表 空间容器利用率 日志利用率 死锁率 锁定 升级率 锁定等待占应用程序比率 专用 共 享排序内存利用率 溢出排序百分比 目录缓 存 程序缓存命中率 监视器堆 数据库堆利 用率 实例 数据库严重警告 错误等重要信 息 3 数据库性能监控分析 DB2 数据库性能快照分析 DB2 数据库稳定运行一段时间后 需要监控 采集 DB2 数据库快照信息 对其分析 以对参数进行适当 微调 通过数据库快照机制获取 DB2 整体性能状况 参数调整参考对应蓝色字体部分 db2 get snapshot for database on 数据库名数据库名 Database Snapshot Database name YHDMS Database path easdata data yh db2inst1 NODE0000 SQL0 0002 Input database alias YHDMS Database status Active High water mark for connections 354 Application connects 856 Secondary connects total 3 Applications connected currently 246 Appls executing in db manager currently 33 Agents associated with applications 249 Maximum agents associated with applications 354 Maximum coordinating agents 354 Locks held currently 5578 Lock waits 16867 Time database waited on locks ms 34998200 Lock list memory in use Bytes 2903616 Deadlocks detected 0 Lock escalations 0 Exclusive lock escalations 0 Agents currently waiting on locks 21 Lock Timeouts 0 Number of indoubt transactions 0 Total Private Sort heap allocated 0 Total Shared Sort heap allocated 132 Shared Sort heap high water mark 10947 Post threshold sorts shared memory 0 Total sorts 6619959 Total sort time ms 4259101 Sort overflows 192111 排序溢出尽量要小 否则检查排序列表堆 SORTHEAP 是不是设了太小或 sql 语句的存取计 划是否合理 Active sorts 6 Buffer pool data logical reads 2109665735 Buffer pool data physical reads 29662793 逻辑读取要远大于物理读 否则检查缓冲池是不是 设了太小 Buffer pool temporary data logical reads 107147477 Buffer pool temporary data physical reads 513201 Direct reads 144560 Direct writes 207934 Direct read requests 38787 Direct write requests 97215 Direct reads elapsed time ms 24204 Direct write elapsed time ms 88063 要尽量降低数据库的直接读写操作 当数据库中有 long varchar LOB 或正在做数据库备份的时候会有直接的 读写操作 Database files closed 18 Log space available to the database Bytes 8208174209 Log space used by the database Bytes 461825791 Maximum secondary log space used Bytes 0 Maximum total log space used Bytes 3206412489 Secondary logs allocated currently 0 Log pages read 344 Log read time sec ns 0 000000004 Log pages written 12386174 Log write time sec ns 1614 000000004 Number write log IOs 2089713 Number read log IOs 43 Number partial page log IOs 195465 Number log buffer full 5436 Log data found in buffer 13 Appl id holding the oldest transaction 721 Log to be redone for recovery Bytes 2762835399 Log accounted for by dirty pages Bytes 2661948170 SQL 语句快照方式性能分析 打开数据库的监控开关 通过动态语句快照抓取详细 的 SQL 语句进行分析 1 使用命令 db2 update monitor switches using STATEMENT on 打 SQL 语句监控开关 2 使用命令 db2 get snapshot for dynamic sql on database name 获取统计信息 3 在输出的信息中 Number of executions 10003 Number of compilations 1 Worst preparation time ms 0 Best preparation time ms 0 Internal rows deleted 0 Internal rows inserted 0 Rows read 20006 Internal rows updated 0 Rows written 0 Statement sorts 0 Statement sort overflows 0 Total sort time 0 Buffer pool data logical reads 20006 Buffer pool data physical reads 0 Buffer pool temporary data logical reads 0 Buffer pool temporary data physical reads 0 Buffer pool index logical reads 20006 Buffer pool index physical reads 1 Buffer pool temporary index logical reads 0 Buffer pool temporary index physical reads 0 Total execution time sec ms 0 469952 Total user cpu time sec ms 0 000212 Total system cpu time sec ms 0 000070 Statement text SELECT NAME VALUE FROM MOF REFLIST WHERE MOF REFLIST MOF REFERENCE ID ENUM EMP TYPE CRM VISIT PLAN LN S ALE CRM 重点关注红色标出的部分 Number of executions Total execution time sec ms 为平均执行时间 Rows read 为涉及到的记录数 Statement text 为 sql 语句 重点分析平均执行时间长 涉及记录数多的 sql 语句 另外频繁 Statement sort 排序 和 Statement sort overflows 排序溢出 也是影响性能的原因之一 这 些 sql 语句即调整重点 SQL 语句执行计划详细信息 DB2 图形化工具对于超过一页的复杂执行计划不方便 保存 建议使用命令行方式获取语句的全面解释计划 信息 db2 set current explain mode explain db2 运行语句 db2 set current explain mode no db2 db2exfmt d yh6326 g TIC w 1 n s 0 o sql exfmt txt 可以直接通过 DB2 命名编辑器执行前三步 但 db2exfmt 格式化输出执行计划只能在字符界面下执行 SQL 语句索引分析 除上面获取 TOP SQL 的相关统计信息 执行计划外 还可以对该语句进行索引分析 获取 DB2 数据库对该 语句额外需创建的索引建议 db2advis d yh03 i db2advis in index suggest log db2advis in 文件中除了以 结尾的 sql 语句外 需要 在文件第一行标注该语句执行频率信息 SET FREQUENCY 2 DB2 性能监控图形工具 日常对 DB2 运行期间性能相关指标实时监控主要使用 活动监控器 该工具只能在 windows 平台上使用 具体来说 活动监控器提供的一组基于特定监视器数 据子集的预定义报告 这些报告允许将重点放在监视 应用程序性能 应用程序并行性 资源消耗和 SQL 语句使用情况上 活动监控器 还为大多数报告提供了 建议 这些建议可帮助诊断数据库性能问题的原因 以及调整查询来获取数据库资源的最优使用率 执行任务主要有以下几类 表 1 1 活动监控器中执行的任务 活动监控器 中的任务 任务的各个方 面 调用 事务查看在所选应 用程序上运行 的事务 在报告数据报告数据窗格中选择一 个或多个应用程序 右键 单击并选择显示最新事务显示最新事务 应用程序事务 窗口将打 开 语句查看在所选应 用程序上运行 的 SQL 语句 在报告数据报告数据窗格中选择一 个或多个应用程序 右键 单击并选择显示最新语句显示最新语句 应用程序语句 窗口将打 开 查看在所选应 用程序上运行 的 SQL 语句 的文本 从 应用程序语句 窗口中 右键单击报告数据报告数据窗格中 的语句 选择显示语句文显示语句文 本本 查看当前影响 所选应用程序 的锁定和锁定 等待情况 在报告数据报告数据窗格中选择应 用程序 右键单击并选择 显示锁定链显示锁定链 应用程序 锁定链 窗口将打开 应用程序锁 定链 查看有关所选 应用程序的信 息 您正在查 看该应用程序 的锁定信息 从 应用程序锁定链 窗口 右键单击应用程序 然后 选择关于关于 查看有关数据 库中所选应用 程序挂起的锁 定和等待的锁 定的信息 从 应用程序锁定链 窗口 右键单击应用程序 然后 选择显示锁定详细信息显示锁定详细信息 查看报告数 据和建议 查看可帮助您 解释报告数据 的信息 在 活动监控器 窗口 应用程序语句 窗口或 应用程序事务 窗口中 使用报告报告箭头键来选择该 报告并单击报告详细信息报告详细信息 按钮 查看详细信息详细信息页 查看活动监控 器提供的建议 在 活动监控器 窗口 应用程序语句 窗口或 应用程序事务 窗口中 使用报告报告箭头键来选择该 报告并单击报告详细信息报告详细信息 按钮 查看建议建议页 活动监控器方式监控 cpu 消耗高的动态 SQL 举例 配置活动监控器时选择系统定义的 解决数据库系统性 能下降 的监控任务 报告主要包含应用 CPU 消耗 缓存池命中率 排序等 待 溢出 锁定数 锁等待 SQL 语句 CPU 消耗 读 取记录数 排序等信息 通常性能影响较大的 SQL 语句执行时间较长 消耗用 户 CPU 时间较大 在报告列表中选择 Top CPU time consuming SQL statements 注意消耗 CPU 时间排名前几位的 SQL 语句 将其抓 取出来 另存为文件 右键选择 说明查询 另存为文件 将该 SQL 语句执行计划截图保存 注 如语句执行计划较复杂 需分页截图保存或使用 字符方式获取执行计划 1 1 3 工作内容 日常数据库管理 1 检查诊断日志文件中最新错误信息 查看实例用户目录下 sqllib db2dump db2diag log 文件 重点关注锁升级 死锁及参数大小超出等错误信息 如 锁内存不足会报 SQL0912 错误 db2diag time 2008 03 04 level Error Severe diaglog error log 20080304 输出 2008 年 3 月 4 日开始数据库系统错误信息 根据 错误代码可以直接在 DB2 中查看错误解释详细信息 Example 错误代码为 30082 db2 sql30082 2 手工方式统计分析 通常情况下 配置了系统自动维护中的自动统计分析 AUTO RUNSTATS 后 不需要再对表 索引进行 额外的统计分析 但由于是根据系统资源状况自动调 度执行 有时候当表发生大批量数据插入 删除 修 改时 数据库会来不及调度对其统计分析 这个时候 涉及该表的 SQL 语句执行计划可能出现异常 因此需 要手工进行统计分析 1 对数据库所有表进行统计分析 reorgchk update statistics on table all 2 对单个表进行统计分析 reorgchk update statistics on table 用户 名 表名 3 DB2 锁日志收集 死锁日志收集 1 查看当前死锁事件监控器状态 缺省存在激活的死 锁事件 db2detaildeadlock SELECT EVMONNAME EVENT MON STATE EVMONNAME FROM SYSCAT EVENTMONITORS 1 为激活 0 为停止 2 停止 再激活死锁监控事件 db2detaildeadlock 将 死锁日志写出到 EVT 文件 set event monitor db2detaildeadlock state 0 set event monitor db2detaildeadlock state 1 3 格式化输出死锁日志 db2evmon db yh03 evm db2detaildeadlock yh03deadlock log 锁等待超时日志收集 分析 通过 db2pd 从内存中抓取 1 在容易发生锁等待超时或锁等待的业务运行期间内 使用活动监控器 选择具有最大锁定超时数的应用 程序选项进行跟踪 如果跟踪到某个应用平均锁定 等待时间等于 locktimout 的值 可以推断这个应用 程序很有可能发生了锁定等待超时 记录该应用对 应的应用程序句柄及执行语句 根据语句推断出自 哪个业务功能 2 下次在该业务功能运行的期间对数据库内存进行监 控 抓取锁相关信息 1 db2pd db yheas locks show detail applications transactions agents lock pd log 读取生成的 log 文件 Locks 部分 找到 Sts 标志为 W 的 lockname 关联找到同名 lockname 所在 Sts 为 G 的 TranHdl Transactions 部分 通过上面的 TranHdl 找到 AppHandl Applications 部分 通过上面的 AppHandl 找到 L AnchID 2 从内存中抓取相关动态 sql 语句信息 db2pd db yheas dynamic lock statement log 在该日志中通过上面的 L AnchID 对应能找出相关 sql 4 配置数据库远程连接 db2 catalog tcpip node node6125 remote 192 168 61 25 server 50000 编目节点 db2 catalog database easdb as easdb at node node6125 编目具体数据库 关联节点 db2 connect to easdb user db2inst1 using db2inst1 测试配置是否成功 5 快速获取错误详细描述信息 经常能够在 EAS 的报错信息中看到 db2 的信息 诸如 错误信息 DB2 SQL error SQLCODE 911 SQLSTATE 40001 SQLERRMC 68 这是一个非常有用的信息 在 db2 的命令窗口中键入 db2 sql911 在 SQLCODE 前加上 SQL 关键字 则 能很快得到这个错误的解释 用户下一步应该做的事 情 这是一个非常高效而简单的过程 能够解决 90 以上 的问题 举例 SQL0668N Operation not allowed for reason code 3 或 1 on table Reason code 1 db2 set integrity for db2inst1 t bd assistanthg immediate checked 该表处于 设置完整性暂挂无访问 状态 通常时导 入数据进行到检测数据一致性的时候异常中断退出 Reason code 3 如果导入 db2 帐套过程中出现异常中断 重新再导 则中断点的表会置为不可用状态 此时select 该表 会提示 sql0668 错误 reason code 为 3 解决办法 通过分别发出带有 RESTART 或 TERMINATER 选项的 LOAD 来重新启动或终止先前失 败的对此表的 LOAD 操作 db2 load from T PM USERORGPERM ixf of ixf terminate into db2inst1 T PM USERORGPERM db2 load from T PM USERORGPERM ixf of ixf lobs from T PM USERORGPERM insert into T PM USERORGPERM 6 获取数据库配置参数 获取实例级配置 db2 get dbm cfg 获取数据库级配置 db2 get db cfg for dbname 修改数据库配置参数 db2 update db cfg using 参数名 值 immediate 例如 db2 update db cfg using STMTHEAP 20480 immediate 7 使用 LOGARCHMETH1 来设置归档日志模式 db2 update db cfg using LOGARCHMETH1 DISK bak archivelog immediate db2 get db cfg grep LOG Log retain for recovery enabled LOGRETAIN RECOVERY First log archive method LOGARCHMETH1 DISK bak archivelog 1 1 4 工作内容 日常数据库备份恢复 1 DB2 backup restore 物理备份恢复 DB2 一个实例可以包含多个数据库 分别对应多个帐 套 因此备份 恢复 EAS 帐套即备份 恢复相应的数 据库 使用 DB2 本身的 BACKUP RESTORE 方式效 率最高 DB2 BACKUP RESTORE 备份恢复单个数据库详细 步骤 步骤 1全库备份 db2 backup db eas to bkdb 注 备份开始后 该数据库将置为备份暂挂状态 步骤 2显示需恢复库当前所有备份信息 Db2 list history backup all for eas 如 Op Obj Timestamp Sequence Type Dev Earliest Log Current Log Backup ID R D 20080726030002001 F S0000000 LOG S0000000 LOG 20080102171206 Contains 5 tablespace s 00001 SYSCATSPACE 00002 SYSTOOLSPACE 00003 EASTS16K 00004 EASTS32K 00005 EASTS8K Comment RESTORE YH NO RF Start Time 20080726030002 End Time 20080726030112 从中可以获取备份的时间戳 序列号构成的标志及备 份开始 结束的时间点信息 恢复时需要用到 步骤 3从其中一个备份中恢复 获取对应时间戳 去除后三 位序列号 步骤 4创建恢复脚本 DB2V9 以上版本 db2 restore db eas from bkdb taken at 20080726030002 redirect generate script restoreeas clp 步骤 5恢复到原库 db2 tvf restoreeas clp 或者 db2 restore db eas from bkdb taken at 20080726030002 步骤 6恢复到新库 EAS6 0 之后通过管理控制台新建的 DB2 数据库均采 用自动存储方式 恢复相对简单 命令如下 1 修改 restoreeas clp 中 ON INTO 内容 如 ON 新库存储路径 DBPATH ON INTO 新库名 systools 表空间需要修改路径来 redirect SET TABLESPACE CONTAINERS FOR 9 IGNORE ROLLFORWARD CONTAINER OPERATIONS USING PATH 新路径 db2 tvf restoreeas clp windows 下存储路径只能指定到盘符 如 d EAS5 4 及之前早期版本 DB2 数据库采用 SMS 方式存 储数据文件 因此恢复时有几个表空间需重定向路径 如使用脚本 restoreeas clp 恢复 需要对脚本中以下表 空间进行重定向修改 如命令行手工方式恢复 则运 行如下语句 db2 restore db eas from bkdb taken at 20080726030002 on bkdb hseasnew dbpath on bkdb hseasnew into hseasnew newlogpath bkdb hseasnew log redirect db2 set tablespace containers for 4 USING path bkdb hseasnew eas EAS 16K db2 set tablespace containers for 5 USING path bkdb hseasnew eas EAS 16K temp db2 set tablespace containers for 6 USING path bkdb hseasnew eas EAS 32K db2 set tablespace containers for 7 USING path bkdb hseasnew eas EAS 32K temp db2 set tablespace containers for 8 USING path bkdb hseasnew eas EAS 8K db2 set tablespace containers for 9 USING path bkdb hseasnew eas EAS 8K temp db2 set tablespace containers for 2 USING path bkdb hseasnew SYSTOOLSTMPSPACE db2 set tablespace containers for 3 USING path bkdb hseasnew SYSTOOLSPACE db2

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论