1④内部公开请勿外传版权所有©1993-2017金蝶国际软件集团有限公司④内部公开请勿外传金蝶云星空系统运维—数据库日常监控内容崔智刚2④内部公开请勿外传数据库日常监控内容3④内部公开请勿外传SQLServer运行状况Oracle运行状况数据库日常监控内容4④内部公开请勿外传Sp_readerrorlog–是否存在错误,警告…Master..sysprocesses–当前会话运行状况–Dbccinputbuffer(spid)(查看进程对应的SQL语句)–select*frommaster..sysprocesseswhereblocked<>0--是否存在阻塞检查某个表的碎片情况–selecttop10object_name(id),rowsfromsysindexeswhereindidin(0,1)andid>100orderbyrowsdesc(获取数据量大的表)–Dbccshowcontig(tablename)/withfast;(查看统计信息)SQLServer运行状况5④内部公开请勿外传返回记录说明存在阻塞如果隔几秒再次执行,没有记录返回,那可能属于正常的阻塞当然也可以通过下面的SQL获取何为阻塞,何为死锁?死锁用上面的语句是无法抓取的查看是否存在阻塞语句select*frommaster..sysprocesseswhereblocked<>0select*fromsys.dm_exec_requests6④内部公开请勿外传抓取阻塞相关信息SELECTt1.resource_typeAS[锁类型],DB_NAME(resource_database_id)AS[数据库名],t1.resource_associated_entity_idAS[阻塞资源对象],t1.resource_descriptionas[资源描述信息],t1.request_modeAS[请求的锁],t1.request_session_idAS[等待会话],t2.wait_duration_msAS[等待时间],(SELECT[text]FROMsys.dm_exec_requestsASrWITH(NOLOCK)CROSSAPPLYsys.dm_exec_sql_text(r.[sql_handle])WHEREr.session_id=t1.request_session_id)AS[等待会话执行的批SQL],(SELECTSUBSTRING(qt.[text],r.statement_start_offset/2,(CASEWHENr.statement_end_offset=-1THENLEN(CONVERT(nvarchar(max),qt.[text]))*2ELSEr.statement_end_offsetEND)/2)FROMsys.dm_exec_requestsASrWITH(NOLOCK)CROSSAPPLYsys.dm_exec_sql_text(r.[sql_handle])ASqtWHEREr.session_id=t1.request_session_id)AS[等待会话执行的SQL],t2.blocking_session_idAS[阻塞会话],(SELECT[text]FROMsys.sysprocessesASpCROSSAPPLYsys.dm_exec_sql_text(p.[sql_handle])WHEREp.spid=t2.blocking_session_id)AS[阻塞会话执行的批SQL]FROMsys.dm_tran_locksASt1WITH(NOLOCK)INNERJOINsys.dm_os_waiting_tasksASt2WITH(NOLOCK)ONt1.lock_owner_address=t2.resource_addressOPTION(RECOMPILE);7④内部公开请勿外传死锁–SQLSERVER2008之前•dbcctraceon(1204,1222,3605,-1)/dbcctraceoff•dbcctracestatus()•Sp_readerrorlog•SQLServerprofiler–错误和警告事件–锁事件下的死锁图形SQLServer运行状况8④内部公开请勿外传死锁展示–图形–文字–XML9④内部公开请勿外传SQLserver2008r2SQLServer2012显示的时间可能存在错误情况查询死锁信息语句SELECTXEventData.XEvent.value('@timestamp','datetime2(3)'),cast(XEventData.XEvent.value('(data/value)[1]','varchar(max)')asxml)FROM(SELECTCAST(target_dataASXML)ASTargetDataFROMsys.dm_xe_session_targetsstJOINsys.dm_xe_sessionssONs.address=st.event_session_addressWHERE[name]='system_health'ANDst.target_name=N'ring_buffer')ASDataCROSSAPPLYTargetData.nodes('//RingBufferTarget/event')ASXEventData(XEvent)WHEREXEventData.XEvent.value('@name','varchar(4000)')='xml_deadlock_report';SELECTXEvent.query('(event/data/value/deadlock)[1]')ASDeadlockGraphFROM(SELECTXEvent.query('.')ASXEventFROM(SELECTCAST(target_dataASXML)ASTargetDataFROMsys.dm_xe_session_targetsstJOINsys.dm_xe_sessionssONs.address=st.event_session_addressWHEREs.name='system_health'ANDst.target_name='ring_buffer')ASDataCROSSAPPLYTargetData.nodes('RingBufferTarget/event[@name="xml_deadlock_report"]')ASXEventData(XEvent))ASsrc;10④内部公开请勿外传死锁信息抓取和查看https://vip.kingdee.com/article/89375499427988224https://vip.kingdee.com/article/8937495319499955211④内部公开请勿外传Tempdb大小设置是否合适查看SQL语句使用TEMPDB的空间大小12④内部公开请勿外传活动监控自带报表–阻塞–会话–最耗CPU的10个查询–最耗IO的10个查询–平均CPU最高的10个查询–平均IO最高的10个查询–…SQLServerProfilerSQLServer运行状况13④内部公开请勿外传两个有用的事件–获取死锁–获取执行计划事件提取设置–按死锁SqlProfiler14④内部公开请勿外传数据库文件大小Tempdb文件大小金蝶云数据库,TMP开头表数目CPU资源使用情况数据文件所在磁盘空间大小IO使用情况错误日志是否有异常SQLServer运行状况15④内部公开请勿外传EM平台/性能Oracle运行状况16④内部公开请勿外传顶级活动阻塞会话挂起分析快照SQL监视…Oracle运行状况17④内部公开请勿外传EM查看执行长时间的SQL18④内部公开请勿外传19④内部公开请勿外传查看某个快照20④内部公开请勿外传21④内部公开请勿外传日志文件–alert_实例名.log–关注ORA错误查看Oracle警告日志/u01/app/oracle/diag/rdbms/orcl/orcl/trace22④内部公开请勿外传关注用户表空间SYSAUX表空间物理磁盘空间重做日志空间查看表空间使用情况23④内部公开请勿外传Select*fromuser_tableswheretable_name=…Select*fromuser_tab_statisticswheretable_name=Select*fromuser_tab_col_statisticswheretable_name=查看表空间大小,统计分析时间