排行
数据库百科
核心案例
行业报告
月度解读
大事记
产业图谱
中国数据库
向量数据库
时序数据库
实时数据库
搜索引擎
空间数据库
图数据库
数据仓库
大调查
2021年报告
2022年报告
年度数据库
2020年openGauss
2021年TiDB
2022年PolarDB
2023年OceanBase
首页
资讯
活动
大会
学习
课程中心
推荐优质内容、热门课程
学习路径
预设学习计划、达成学习目标
知识图谱
综合了解技术体系知识点
课程库
快速筛选、搜索相关课程
视频学习
专业视频分享技术知识
电子文档
快速搜索阅览技术文档
文档
问答
服务
智能助手小墨
关于数据库相关的问题,您都可以问我
数据库巡检平台
脚本采集百余项,在线智能分析总结
SQLRUN
在线数据库即时SQL运行平台
数据库实训平台
实操环境、开箱即用、一键连接
数据库管理服务
汇聚顶级数据库专家,具备多数据库运维能力
数据库百科
核心案例
行业报告
月度解读
大事记
产业图谱
我的订单
登录后可立即获得以下权益
免费培训课程
收藏优质文章
疑难问题解答
下载专业文档
签到免费抽奖
提升成长等级
立即登录
登录
注册
登录
注册
首页
资讯
活动
大会
课程
文档
排行
问答
我的订单
首页
专家团队
智能助手
在线工具
SQLRUN
在线数据库即时SQL运行平台
数据库在线实训平台
实操环境、开箱即用、一键连接
AWR分析
上传AWR报告,查看分析结果
SQL格式化
快速格式化绝大多数SQL语句
SQL审核
审核编写规范,提升执行效率
PLSQL解密
解密超4000字符的PL/SQL语句
OraC函数
查询Oracle C 函数的详细描述
智能助手小墨
关于数据库相关的问题,您都可以问我
精选案例
新闻资讯
云市场
登录后可立即获得以下权益
免费培训课程
收藏优质文章
疑难问题解答
下载专业文档
签到免费抽奖
提升成长等级
立即登录
登录
注册
登录
注册
首页
专家团队
智能助手
精选案例
新闻资讯
云市场
微信扫码
复制链接
新浪微博
分享数说
采集到收藏夹
分享到数说
举报
首页
/
运维经验的进化
运维经验的进化
白鳝的洞穴
2020-11-19
463
运维经验是在实际运维工作中不断积累出来的,一般来说是专家或者用户实际遇到过的案例经过抽象化后形成的经验性的东西,可以在今后运维工作中发挥作用。大多数用户现在的运维经验都是停留在运维人员与专家的脑子里,而老白从2017年开始就逐渐把这些东西纳入到了D-SMART这个系统运维工具里了。
采用这种方法的好处是,运维自动化系统可以不断的积累能力,而不是不断的去优化那些华而不实的用户界面。不过作为一个产品,其中的部分运维经验来自于某些具体的用户,在抽象过程中不免考虑不周,因此也需要通过不断的演进优化,从而让这些运维经验更为精准。
昨天一个客户说我们的一条运维经验在他们那里经常报警,不过实际上他们的系统是没问题的。这条运维经验是“如果Oracle数据库中的进程数比会话数高N%(参数),则数据库可能存在登录风暴风险”。大家都知道,一般情况下我们都是使用独立服务器模式登录数据库,每个会话对应一个进程。一些其他进程的数量不会很多。但是某个进程在登录过程中,会话还没产生的时候,就会出现进程数比会话数多很多的情况。
Oracle数据库的登录过程是十分快的,一般来说是几十毫秒到一两百毫秒,因此在正常的情况下,这种情况很少会出现。不过在某些场景下是会出现这种情况的,一个是出现了不合理的登录风暴,一个应用BUG导致大量不正确的登录产生,会导致创建会话缓慢,登录进程积压。第二种情况是如果某个应用的数据库账号改了密码,而部分应用没有同步修改,而应用中没有针对这种情况进行处置,就会导致不断的创建新进程,而这些进程都无法登录成功(因此只有进程,没有会话),这种情况恶化下去,很快系统的processes参数就满了,一些正常要访问数据库的登录也会被阻止了。
不过这个运维经验在这个客户那边遇到了问题,因为这个客户的有些系统大量使用并行操作,因此配备了数百个并行进程,而这些并行进程在IDLE状态的时候,是不分配会话的,因此被我们的运维经验也计算为有进程无会话的情况了。于是这条报警就经常会出现误报的情况。弄清楚了这个问题后,就比较简单了,不过在优化这条运维经验的时候,我们又做了举一反三的分析。对于Oracle数据库,还有什么情况会出现类似的情况呢?经过仔细考虑后,我们又找到了一个元凶,SHARED_SERVER,这种共享服务器模式下使用的服务进程,通过shared_servers参数可以设置其服务进程数。
比如上面的案例,我们将这个参数设置为100,然后通过v$shared_servers来查看:
这些SERVER的状态都是wait(comm),这是等待连接的状态。因为我们的系统没有使用SHARED SERVER方式访问的客户端,因此这些进程都是没有分配会话的。通过启动100个SERVERD SERVER,D-SMART的运维经验告警系统自动产生了告警信息:
而此时实际上这条运维经验分析的所有问题本系统中都不存在。于是我们就有了优化这条运维经验的思路,在进程数中去掉空闲的并行进程数和空闲的共享服务进程数,然后再和会话数比较,这样出来的告警就更为精准了。
除此之外,我们还获得了一条新的运维经验,如果大量的共享服务进程的空闲比例超过一定比例(比如90%),并且大量共享服务进程长时间处于空闲状态,那么系统的共享服务进程配置是不合理的。
大家看,运维经验就是这样不断的积累的,也只有不断的这样去积累运维经验,运维才不会总是在原地打转转,运维自动化也不会成为花架子。
数据库
文章转载自
白鳝的洞穴
,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
领墨值
有奖问卷
意见反馈
客服小墨