在对诸如订单、交易、支付等实时在线业务系统的研发、维护过程中,随着业务量的快速增长,我们经常会遇到由于关系型数据库(如:MySql)单表数据量增长过大而引发的线上事故;虽然这些事故多数时候是由于不合理的慢SQL而引起的系统雪崩,但有时也会出现由于数据库热点块IO争用而引发的系统性性能下降。总之,单表数据量的无限增长总是会在这样或那样的情况下增加系统的不稳定性因素。
分类:
数据库 时间:
2020-09-23 23:29:00
阅读次数:
49
查询热块对象sql语句: SELECT * FROM (SELECT O.OWNER, O.OBJECT_NAME, O.OBJECT_TYPE, SUM(TCH) TOUCHTIME, FROM X$BH B, DBA_OBJECTS O WHERE B.OBJ = O.DATA_OBJECT_I ...
分类:
其他好文 时间:
2017-11-10 15:21:49
阅读次数:
145
客户号码办理系统出现会话连接数超高告警,造成数据库性能问题,影响了全网业务办理。告警发生在11月7日20点--21点时间段,查询当时等待事件最高的bufferbusywaits。查询该等待事件对应的sql;selectsql_id,count(*)fromv$active_session_historywheresample_time>=to_date(..
分类:
其他好文 时间:
2016-12-02 16:39:59
阅读次数:
181
RMAN全备//参数文件,控制文件,数据文件,归档日志,不备份联机日志文件RMAN>backupdatabase;RMAN备份分为copy物理备份:源文件跟备份后的文件一样大backup逻辑备份,基于块级别的备份。已经使用过的块,热点块。仅仅备份单个的文件RMAN>backupspfile;RMAN只能备份二进..
分类:
其他好文 时间:
2015-08-06 13:31:34
阅读次数:
118
1、优化与热点表相关的sql,sql执行时间过长就会长时间的持有latch。对于返回结果数量较少的语句,应该检查是否用到索引和分区条件。例如我们查询已经建立分区的表,如果返回少量数据,我们可以创建分区索引并且用到分区条件,如果没有用到查询分区表的执行效率反而更低。
2、 对于需要返回大量数据的查询语句尽量减少执行次数,一次读取数据放入缓存(如在代码逻辑中灵活使用map等数据结构作为缓存层,或者使...
分类:
数据库 时间:
2015-02-25 10:22:56
阅读次数:
227