oracle自动打补丁

需求背景

        opatch应用程序是一个应用程序和允许回滚临时补丁到Oracle产品的工具。在Oracle发布相应补丁时,工程师下载最新opatch工具和需要安装的补丁包,手动在需要更新补丁的oracle数据库服务器进行安装操作。

需求实现

实现方式

        在蓝鲸自动化运维平台,使用标准运维saas应用,实现对oracle自动打补丁进行流程编排实现。

应用介绍

        蓝鲸自动化运维平台,简称蓝鲸,是一套基于 PaaS 的技术解决方案,提供了完善的前后台开发框架、调度引擎、公共组件等模块,帮助业务的产品和技术人员快速构建低成本、免运维的支撑工具和运营系统。该套体系不仅提供了基础运维(发布变更、监控处理、数值调整、数据提取等)的无人值守服务,而且还给运维人员提供了解决方案(工具),并随时调整,避免重复性的操作服务。而运维人员则可以做些“用户体验优化”和“运营决策辅助”等运维增值工作,并且可以通过蓝鲸智云提供的集成平台,低成本的学习 DevOps技能,进一步提升自己的能力,加速转型。此外,这套体系还可以运行轻应用、管理类、及职能类应用,是个全方位的运维、管理平台。
        标准运维是拥有可视化的图形界面,并进行任务流程编排和执行的系统。标准运维有两大核心服务。一个是调度编排服务:基于蓝鲸集成平台服务总线(ESB)对接企业内部各个系统API的能力,将企业内部多系统间的工作整合到一个流程模版中,实现一键自动化调度。另一个是自助化服务:标准运维通过与蓝鲸集成平台深度整合,为用户提供了“轻应用”和“职能化”功能,让用户可以将业务日常的运维工作交给产品和职能化人员执行,实现业务的发布、变更等工作自助化。

解决方案

实现目标

        通过任务编排实现自动安装补丁流程,简要流程图如下:

Created with Raphaël 2.2.0 开始 判断该补丁是否安装 补丁存在? 发送通知消息 结束 安装补丁操作 yes no
实现过程
  1. 流程编排
1.判断补丁是否存在:
通过opatch lsinv命令确认安装过的补丁(具体实现脚本通过传参进来的补丁版本和opatch lsinv查询到的已知版本进行判断)
流程编排如果补丁存在走false,直接发送通知;如果补丁不存在走true,执行之后的流程。

2.备份文件:
oracle数据库安装后的,主机的opatch文件可能已经不是最新的应用程序了,所以需要获取最新文件并备份之前版本文件。

3.文件获取:
可以根据需求,有oracle补丁的svn库、git库或者ftp等等,编写对应脚本获取所需要的opatch文件和补丁包;或者使用文件分发的方式,分发到目标主机。

4.安装补丁:
#opatch apply  -silent -ocmrf /xx/xx/xx/ocm.rsp
脚本中静默方式安装补丁,使用opatch apply加rsp文件的方式,避免安装过程中多次交互信息;
rsp文件提前编译好后,之后可以复用。

oracle自动打补丁_第1张图片
2. 参数说明

1.目标账户	${job_account}:
目标账户指流程中脚本等执行所需用户,脚本中都为su - oracle -c “”执行,故目标账户设置为通用的默认root用户。

2.目标IP	${job_ip_list}:
目标IP指安装补丁的oracle主机,在执行任务流程时填写,也可以设置集群、模块下选择目标主机。
例值:10.10.10.10

3.opatch包	${opatch_application}:
opatch包为安装补丁所需的opatch的应用程序的包。在流程安装是获取该值进行对实际包解压并使用。
例值:p6880880_112000_Linux-x86-64.zip

4.补丁包	${opatch_file}:
补丁包指实际安装补丁的包名;在流程第一步判断是否安装过补丁即对该值进行版本截取。
例值:p28729262_112040_Linux-x86-64.zip

5.执行结果	${_result_b7f7}     执行结果	${_result_7cd8}:
上述变量即为上一个原子步骤的执行结果,获取该值进行下一步骤执行前的判断。

oracle自动打补丁_第2张图片

备注说明

  1. 分支网关
1.每个分支都需要设置分支表达式,执行时只有一条表达式为True的分支会被执行
2.在流程中false后的原子节点设置[失败处理—自动忽略],在之前节点模拟原子节点报错,从而执行false后原子节点
  1. 轻应用
            可以将任务流程配置为轻应用,类似于saas应用,放置于蓝鲸桌面,每次使用时,进入轻应用,填写补丁包等参数后执行,进行自动安装补丁。
    oracle自动打补丁_第3张图片
    oracle自动打补丁_第4张图片

你可能感兴趣的:(蓝鲸,自动运维,数据库)