DB2日常维护手册_第1页
DB2日常维护手册_第2页
DB2日常维护手册_第3页
DB2日常维护手册_第4页
DB2日常维护手册_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

-.z.DB2日常维护手册-.z.目录DB2日常维护手册-2-一、DB2日常维护操作-2-1.检查管理服务器是否启动-2-2.检查DB2实例是否已经启动-2-3.查看表空间状态是否正常-2-4.查看表的状态-2-5.查看磁盘空间-2-6.检查存储管理软件是否正常-2-7.检查数据库备份是否正常-2-8.检查归档日志是否正确归档了-2-9.查看缓冲池的命中率-2-10.查看当前运行最频繁的SQL,其命中率是否正常-2-11.查看当前连接的应用程序,有没有非法连接-2-12.检查有没有死锁-2-13.对表和索引进行runstats-2-14.检查表是否需要重组-2-15.对需要重组的表进行重组-2-二、DB2日常维护月操作-2-1.查看DB2日志-2-2.检查备份和日志是否都保存好了-2-三、DB2日常维护季度操作-2-1.通过快照监控器,查看系统性能如何-2-2.数据库补丁级别-2-四、注意事项-2-1.不要删除活动日志文件-2-2.注意交易日志存储空间-2-3.按照系统的实际工作量配置日志空间-2-4.设置正确数据库代码页-2-5.检查许可证(License)安装情况-2-6.创建数据库前调整好系统时间-2-7.不要随便执行chown(chmod)–R(UNI*/Linu*)-2-8.归档模式设置-2-五、附:以脱机方式重组表-2-六、附:使用CLP捕获数据库运行状况快照-2-七、附:IBMDB2常用命令-2--.z.DB2日常维护手册DB2日常维护操作检查管理服务器是否启动用ps命令查看是否有dasusr1后台进程#ps-ef|dasusr1请确保管理服务器已经启动,如果没有启动,则按以下步骤启动管理服务器:以管理服务器用户(UNI*默认是DASUSR1)登录发出db2adminstart命令如果是HA环境,则要保证在脚本中正确配置了启动命令检查DB2实例是否已经启动用ps命令查看是否有db2sysc后台进程#ps-ef|db2sysc也可以以DB2实例所有者登录,通过发出db2start命令来确保启动了实例(如果实例已经启动,则会告知SQL1026N数据库管理器已激活;否则,将把实例启动起来)查看表空间状态是否正常以db2实例所有者登录*db2listtablespacesshowdetail//在单分区上查看表空间的状态,正常返回0*0000*db2_alllisttablespacesshowdetail//在所有分区上查看表空间的状态可以使用LISTTABLESPACES命令确定连接数据库中表空间的当前状态,可以使用SHOWDETAIL选项查看表空间的详细信息。比如,我们连上SAMPLE数据库,执行listtablespacesshowdetail,可以看到状态返回值是0*0000,此时,使用db2tbst可以查看状态编号对于的状态含义,具体语法如下:db2tbst<tablespacestate>可以查看编号所代表的状态db2tbst命令接收十六进制的状态值,并返回相应的表空间状态。例如,命令db2tbst0*0008返回State=LoadPending。而该十六进制的状态值反过来又是LISTTABLESPACES命令输出的组成部分。表空间的外部可见状态是由单个状态值的十六进制总和构成的。例如,如果表空间的状态是BackupPending和LoadinProgress,则所返回的十六进制值就是0*20020(0*00020+0*20000)查看表的状态查询系统目录视图以获得关于数据库的有用信息。例如,下面的语句使用NOTLIKE断言,返回在SYSCAT.TABLES中有项的所有用户定义的表的名称,以及每个表的列数和表的状态(N=正常;C=待审核(checkpending))*db2selecttabname,colcount,statusFROMsyscat.tablesWHEREtabschemaNOTLIKE'SYS%'ORDERBYtabname也可以使用loadquery命令查看单个表的状态,比如对表TEST1,我们可以发出如下命令:*db2loadquerytabletest1查看磁盘空间查看数据库活动日志目录是否已满,活动日志目录可以使用getdbcfg查看,注意一定不要手工删除活动日志*df-k查看SMS表空间对应的容器目录空间是否满了*df-k查看DMS表空间中是否还有可用页*db2listtablespacesshowdetail//在单分区上查看表空间的是否还有可用页*db2_alllisttablespacesshowdetail//在所有分区上查看表空间是否还有可用页检查存储管理软件是否正常请检查TSM或其他存储管理软件是否正常,以及磁带机是否运行正常。检查数据库备份是否正常请查看TSM或第三方存储管理软件,看备份映像文件是否完整的保存到了磁带机上了,想在DB2上查看备份情况,可以使用LIST命令*db2listhistorybackupallfor数据库名检查归档日志是否正确归档了请确保活动日志目录下没有的日志文件都已经正确归档到了带机上(查看TSM或第三方存储管理软件)。查看活动目录里的日志文件:*ls-l查看缓冲池的命中率*db2getsnapshotforbufferpoolsondbname查看缓冲池的命中率,看其是否低于95%(命中率越高越好)查看当前运行最频繁的SQL,其命中率是否正常*db2getsnapshotforbufferpoolsondbname>log.t*t用grep命令查看"Numberofe*ecutions"执行次数最频繁的语句,看其命中率是否正常。比如:grep-n"Numberofe*ecutions"snap.out|grep-v"=0"|sort-k5,5rn|more查看当前连接的应用程序,有没有非法连接*db2listapplicationsshowdetail看这些连接的情况,看有没有不合适的IP连上来,或者不被允许的第三方工具连上来,比如一些第三方工具连上来会对表进行锁定,影响业务系统正常运行,这个时候可以用FORCEAPPLICATIONS(应用程序句柄)停下来。检查有没有死锁*db2getsnapshotforallon数据库名>log.t*t用grep命令查看输出的文件中是否有死锁的记录,比如grep-n"Deadlocksdetected"log.t*t|grep-v"=0"|more对表和索引进行runstats*db2runstatsontabletablenameandinde*all对系统表以及变化比较频繁的表运行统计信息,建议写成shell脚本自动运行。检查表是否需要重组使用REORGCHK命令,通过统计数据检查表是否需要重组,语法如下:REORGCHK[UPDATE|CURRENT]STATISTICSON[TABLESYSTEM|TABLEUSER|TABLEALL|TABLEtable_name|SCHEMAschema_name]UPDATESTATISTICS:更新表的统计数据,根据该统计数据判断是否需要重组表CURRENTSTATISTICS:根据当前表统计数据判断是否需要重组表TABLEtable_name:对单个表进行分析TABLEALL:对数据库所有的表进行分析TABLESYSTEM:对系统表进行分析TABLEUSER:对当前用户模式下的所有表进行分析*db2reorgchkupdatestatisticsontableall对需要重组的表进行重组*db2reorgtable表名//通过重构行来消除“碎片”数据*db2reorginde*esallfortable表名//只重组索引比如:reorgtableinde*by_id将根据索引by_id,如果不加INDE*选项将重组表和所有的索引:reorgtableinde*by_idusetempspace1使用指定的临时表空间重组表表重组完成后需要进行RUNSTATS。另外,记住在分区数据库环境中,如果想在所有节点运行命令,需要使用db2_all命令。DB2日常维护月操作查看DB2日志请至少每月查看一次db2diag.log(在DB2安装目录下可搜索该日志文件),看其中是否有异常。检查备份和日志是否都保存好了通过TSM或第三方存储管理软件,查看备份和归档日志是否都保存好了,在数据库级别查看备份,可以使用:*db2listhistorybackupallfordbnameDB2日常维护季度操作通过快照监控器,查看系统性能如何通过快照监控器,抓取数据库的信息,分析数据库性能是否合理:*db2getsnapshotforallondbname>log.t*t数据库补丁级别*db2level注意事项不要删除活动日志文件DB2的活动日志文件不能被删除。一旦DB2的活动日志文件被删除,或者所在的存储设备出现问题,则不可避免地造成DB2数据库系统宕机。注意交易日志存储空间在归档日志模式下,如果没有使用自动归档方式,则存储的日志文件会不断增多,有可能造成日志所在的文件系统空间满。当这种情况发生时,会根据参数BLK_LOG_DSK_FUL的配置而有不同的现象:1)如果该参数启用,则DB2数据库可继续读操作,但是写操作会挂起2)如果该参数没有启用,则DB2数据库会停止工作两种情况下,都需要到日志所在的文件系统添加了空间才恢复正常。按照系统的实际工作量配置日志空间DB2数据库通过日志文件维护数据的完整性和一致性。DB2数据库的日志空间可通过如下公式计算:日志空间=(主日志文件+二级日志文件)*日志文件尺寸其中:1)主日志文件由参数LOGPRIMARY控制,2)二级日志文件由参数LOGSECOND控制3)日志文件尺寸由参数LOGFILSIZ控制4)LOGPRIMARY+LOGSECOND<256(不同的DB2版本略有不同,请参看相同版本的DB2手册确认)。设置正确数据库代码页由于数据库的代码页在数据库创建之后是无法修改的,所以在创建数据库时一定要选择正确的代码页。错误的数据库代码页会造成JDBC/ODBC访问时中文字段被截断(包括控制中心),这种情况需要重建数据库以修改数据库代码页。从全局规划来说,如果应用需要访问多个数据库,则这多个数据库的代码页应该是一致的。检查许可证(License)安装情况许可证过期会造成不必要的服务中断,所以在DB2安装完毕后,建议检察许可的安装情况。创建数据库前调整好系统时间在数据库创建好之后,调整系统时间会造成数据库部时间戳的异常。数据库中一些对象和时间相关,一旦时间不准确要调整需要很小心。错误的时间调整可能会造成很多问题,如:*些对象失效,例如:SQL0440N,找不到具有兼容自变量的类型为“<例程类型>”的名为“<例程名>”的已授权例程数据库日志逻辑错误->宕机常见错误–只调整时间,未调整时区不要随便执行chown(chmod)–R(UNI*/Linu*)在实例目录下chown(chmod)-R会造成1)在数据库服务器上db2connectto<dbname>能连接上数据库2)db2connectto<dbname>user...using...连接不上归档模式设置在归档日志模式下使用LOAD记得加NONRECOVERABLE参数。附:以脱机方式重组表以脱机方式重组表是整理表碎片的最快方法。重组可减少表所需的空间量并提高数据访问和查询性能。必须具有SYSADM、SYSCTRL、SYSMAINT或DBADM权限,或者必须具有对表的CONTROL权限才能重组表。必须具有数据库连接才能重组表。标识需要重组的表之后,可以对这些表运行REORG实用程序,并且可以选择对在这些表上定义的任何索引运行该实用程序。要使用CLP重组表,请发出REORGTABLE命令:db2reorgtabletest.employee要使用临时表空间mytemp重组表,请输入:db2reorgtabletest.employeeusemytemp要重组表并根据索引myinde*对行进行重新排序,请输入:db2reorgtabletest.employeeinde*myinde*要使用SQL调用语句重组表,请使用ADMIN_CMD过程发出REORGTABLE命令:callsysproc.admin_cmd('reorgtableemployeeinde*myinde*')要使用DB2管理API重组表,请使用db2REORGAPI。在重组表之后,应收集有关表的统计信息,以便优化器具有最准确的数据来评估查询访问方案。附:使用CLP捕获数据库运行状况快照可从CLP使用GETHEALTHSNAPSHOT命令来捕获运行状况快照。该命令语法支持检索运行状况监视器监视的不同对象类型的运行状况快照信息。先决条件必须具有实例连接才能捕获运行状况快照。如果没有实例连接,则创建缺省实例连接。要获取远程实例的快照,必须先连接至该实例。过程要使用CLP捕获数据库运行状况快照1.从CLP发出带有期望参数的GETHEALTHSNAPSHOT命令。在以下示例中,将在启动数据库管理器之后立即捕获数据库管理器级别运行状况快照。db2gethealthsnapshotfordbm2.对于分区数据库系统,可为特定分区捕获专门的数据库快照,或者为所有分区捕获全局的数据库快照。要对特定分区(如分区号2)上的数据库捕获运行状况快照,请发出以下命令:db2gethealthsnapshotfordbondbnameatdbpartitionnum2要对所有分区上的所有应用程序捕获数据库快照,请发出以下命令:db2gethealthsnapshotfordbondbnameglobal以下命令捕获的运行状况快照带有附加详细信息,包括公式、附加信息和运行状况指示器历史记录:db2gethealthsnapshotfordbondbnameshowdetail3.对于基于集合状态的运行状况指示器,可对所有集合对象捕获数据库快照,而不考虑这些对象的状态。常规GETHEALTHSNAPSHOTFORDB命令返回所有集合对象,这些对象需要针对所有基于集合状态的运行状况指示器的警报。要对列示了所有集合对象的数据库捕获运行状况快照,请发出以下命令:db2gethealthsnapshotfordbondbnamewithfullcollection附:IBMDB2常用命令命令行窗口*打开命令行窗口db2cmd*打开控制中心db2cmddb2cc*打开命令编辑器db2cmddb2ce操作数据库命令*启动数据库实例db2start*停止数据库实例db2stop如果你不能停止数据库由于激活的连接,在运行db2stop前执行db2forceapplicationall就可以了*创建数据库db2createdb[dbname]*连接到数据库db2connectto[dbname]user[username]using[password]*断开数据库连接db2connectreset*列出所有数据库db2listdbdirectory*列出所有激活的数据库db2listactivedatabases*列出所有数据库配置db2getdbcfg*删除数据库db2dropdatabase[dbname]操作数据表命令*列出所有用户表db2listtables*列出所有系统表db2listtablesforsystem*列出所有表db2listtablesforall*列出系统表db2listtablesforsystem*列出用户表db2listtablesforuser*列出特定用户表db2listtablesforschema[user]*创建一个与数据库中*个表(t2)结构相同的新表(t1)db2createtablet1liket2*查询表db2"select*fromtablenamewhere..."*显示表结构db2describetabletablename*修改列db2altertable[tablename]altercolumn[columname]setdatatypevarchar(24)脚本文件操作命令*执行脚本文件db2-tvfscripts.sql帮助命令*查看命令帮助db2"db2start*查看错误码信息db2"22001DB2常用命令II1.启动数据库db2start2.停止数据库db2stop3.连接数据库db2connecttoo_yduserdb2usingpwd4.读数据库管理程序配置db2getdbmcfg5.写数据库管理程序配置db2updatedbmcfgusing参数名参数值6.读数据库的配置db2connecttoo_yduserdb2usingpwddb2getdbcfgforo_yd7.写数据库的配置db2connecttoo_yduserdb2usingpwddb2updatedbcfgforo_ydusing参数名参数值8.关闭所有应用连接db2forceapplicationalldb2forceapplicationID1,ID2,,,IdnMODEASYNC(db2listapplicationfordbo_ydshowdetail)9.备份数据库db2forceapplicationalldb2backupdbo_ydtod:(db2initializetapeon

\\.\tape0)(db2rewindtapeon

\\.\tape0)db2backupdbo_ydto\\.\tape010.恢复数据库db2restoredbo_ydfromd:tod:db2restoredbo_ydfrom

\\.\tape0tod:11.绑定存储过程db2connecttoo_yduserdb2usingpwddb2bindc:\dfplus.bnd拷贝存储过程到服务器上的C:\sqllib\function目录中12.整理表db2connecttoo_yduserdb2usingpwddb2reorgtableydddb2runstatsontableyddwithdistributionandinde*esall13.导出表数据db2e*porttoc:\sw.t*tofdelselect*fromdftzdb2e*porttoc:\sw.i*fofi*fselect*fromdftz14.导入表数据db2importfromc:\sw.t*tofdelinsertintoylb*.czy**db2importtoc:\sw.t*tofdelmitcount5000messagesc:\dftz.msginsertintodftzdb2importtoc:\dftz.i*fofi*fmitcount5000messagesc:\dftz.msginsertintodftzdb2importtoc:\dftz.i*fofi*fmitcount5000insertintodftzdb2importtoc:\dftz.i*fofi*fmi

温馨提示

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

最新文档

评论

0/150

提交评论