半自动化搭建Data Guard的想法和实践(三)

简介: 今天总算抽了些时间把半自动化的脚本完成了大半,目前还缺少两部分的脚本,一部分是安装前的检查脚本,可以做一个预检查。虽然目前来看还不是必须,但是这些是标准和规范的地方,这些条件不满足,失败的概率会加大。
今天总算抽了些时间把半自动化的脚本完成了大半,目前还缺少两部分的脚本,一部分是安装前的检查脚本,可以做一个预检查。虽然目前来看还不是必须,但是这些是标准和规范的地方,这些条件不满足,失败的概率会加大。另外一部分是安装后的补充脚本,其实安装后还有很多需要注意的地方。
大体想了下,补充的脚本包含下面的部分。
配置crontab,目前的常用job是定期删除归档,定期检查监听的情况
配置iptables ,把主库的防火墙信息拷贝过来,或者作为静态备份,需要是启用
配置大页,这个可以在优化的基础上进行计算,在内核参数中修改。
禁用NUMA,这个是系统层面,虽然安装不会受到影响,但是需要在grub中禁用,而且这个操作需要重启服务器,在最后确认无误后操作。

脚本的实现思路:
目前的设计思路是在中控端运行,从主库抓取配置信息,向备库同步这些配置,生成便捷的搭建脚本。目前的脚本的核心文件是一个配置文件,命名为autodg.cnf
内容如下:
export db_name=statdb1
export pri_db_unique_name=statdb96
export pri_db_ip_addr=10.127.133.96
export std_db_unique_name=statdb3
export std_db_ip_addr=10.127.133.45

预期的目标是只需要知道主备库的IP即可,剩下的事情不用一一连接到数据库端去检查,我们需要明确搭建的数据库uniqe_name
这个工作是由一个便捷的检查脚本来得到主库的信息,脚本的执行情况如下,是否已有备库,主库的信息,重要的参数等都一目了然。

基于这些信息我们可以很顺利的完成autodg.cnf的配置。备库的信息则根据自己的需要来配置即可。
接下来的脚本就会自动读取autodg.cnf中的配置信息,从主库抓取配置信息。


主备库的明细信息,延迟,SCN都会抓取到,其实后台会进行更多的配置,对listener.ora,tnsnames.ora,hosts,pfile文件进行修改。
最后开通主备库的防火墙互通访问,当然这个还需要一个脚本open_firewall.sh,主要就是iptables命令在主备库检查开通端口访问权限。
接着半自动化的脚本来了。init_pri.sh
这个脚本会生成提示,我们需要在主库端做下面两个简单的操作,需要手动完成,全是基于安全考虑。

目前最后一个脚本是init_std.sh,会初始化备库的环境。
会把配置信息拷贝到备库,在启动数据库之前需要检查备库中的一些路径是否存在

这几个脚本,可以一下子都运行完,或者一个一个来运行,如果不跳出规范和标准,那么应该能够很快在5分钟内配置完成。
后期继续改进,我想想怎么能够更加便捷,哪些工作还可以补充进去。
目录
相关文章
|
16天前
|
敏捷开发 测试技术 持续交付
自动化测试框架的演进与实践
随着软件开发流程的加速,自动化测试成为确保软件质量的关键。本文将探索自动化测试框架的发展轨迹,从早期的线性脚本到现代的持续集成环境中的复杂框架,并讨论如何根据项目需求选择合适的自动化测试工具,以及实施自动化测试策略时面临的挑战和解决方案。
|
10天前
|
运维 监控 Devops
DevOps文化下的自动化运维实践
本文将探讨在DevOps文化背景下,自动化运维的重要性及其实现方式。通过分析自动化运维的优势和挑战,文章提供了具体的实施策略和案例,旨在帮助读者理解如何在DevOps实践中融入自动化运维,以提高软件开发和部署的效率与质量。
|
23天前
|
运维 监控 Docker
构建高效微服务架构:从理论到实践构建高效自动化运维体系:Ansible与Docker的完美融合
【5月更文挑战第31天】 在当今软件开发的世界中,微服务架构已经成为了实现可伸缩、灵活且容错的系统的关键策略。本文将深入探讨如何从零开始构建一个高效的微服务系统,涵盖从概念理解、设计原则到具体实施步骤。我们将重点讨论微服务设计的最佳实践、常用的技术栈选择、以及如何克服常见的挑战,包括服务划分、数据一致性、服务发现和网络通信等。通过实际案例分析,本文旨在为开发者提供一套实用的指南,帮助他们构建出既健壮又易于维护的微服务系统。
|
19天前
|
存储 数据管理 测试技术
构建Python构建自动化测试框架(原理与实践)
当谈到软件质量保证时,自动化测试是一个不可或缺的步骤。Python作为一种简单易学的编程语言,具有丰富的测试框架和库,使得构建自动化测试框架变得相对简单。本文将介绍如何使用Python构建自动化测试框架,包括选择合适的测试框架、编写测试用例、执行测试和生成报告等方面。
构建Python构建自动化测试框架(原理与实践)
|
2天前
|
机器学习/深度学习 人工智能 测试技术
探索自动化测试的前沿技术与实践
自动化测试作为提升软件开发效率和质量的关键工具,正经历着前所未有的变革。随着人工智能、机器学习、云计算等技术的融合与创新,自动化测试不断突破传统界限,展现出更智能、更高效、更灵活的发展趋势。本文将深入探讨自动化测试领域的最新技术进展,分析其在现代软件开发中的应用,并讨论如何有效整合这些技术以最大化测试效率和准确性。
|
4天前
|
数据可视化 前端开发 Java
自动化测试框架的选择与实践: Selenium vs. TestComplete
【6月更文挑战第18天】在软件开发的海洋中,自动化测试是一艘能够确保产品质量和效率的坚固船只。本文将深入探讨两种流行的自动化测试框架——Selenium和TestComplete,从它们的优势、局限性到适用场景进行对比分析。我们将通过实际案例来揭示如何根据项目需求选择最合适的测试工具,并提供一些实用的实施建议。文章旨在为读者提供清晰的指导,帮助他们在自动化测试的旅程中做出明智的决定。
9 3
|
21天前
|
Web App开发 IDE 测试技术
使用Selenium进行自动化测试:从入门到实践
【6月更文挑战第1天】本文介绍了使用Selenium进行自动化测试的基础知识,包括Selenium工具集的三大组件:WebDriver、IDE和Grid。Selenium支持多种浏览器和编程语言接口。文中详细阐述了安装配置过程,如安装浏览器驱动和Selenium库,并提供了一个Python示例,演示如何初始化WebDriver、打开网页、操作元素及关闭浏览器。此外,文章指出Selenium可扩展实现更复杂测试,可与其他测试框架结合以提升测试效率。
|
24天前
|
运维 监控 Devops
构建高效自动化运维系统:DevOps在企业级应用的实践
【5月更文挑战第30天】 随着信息技术的飞速发展,企业对软件交付速度和稳定性的要求越来越高。传统的运维模式已无法满足快速迭代和高效稳定的需求,因此,本文将探讨如何通过实施DevOps文化、流程和工具,构建一个高效的自动化运维系统。文章将详细描述DevOps的核心理念、关键技术组件以及如何在组织中落地实施策略,旨在帮助企业提升运维效率,加速产品的上市时间,同时保证系统的高可用性和稳定性。
|
24天前
|
敏捷开发 监控 测试技术
探索自动化测试框架的构建与实践
【5月更文挑战第30天】 在软件开发周期中,测试环节是保证产品质量的关键步骤。随着敏捷开发和持续集成的普及,自动化测试成为提高测试效率和准确性的重要工具。本文将深入探讨自动化测试框架的构建与实践,重点分析其设计原则、关键技术选型以及实施过程中的挑战和解决方案。通过对不同自动化测试工具的比较,我们将展示如何根据项目需求定制合适的测试框架,并分享一些实用的优化技巧,以期为软件测试人员提供参考和启发。
|
23天前
|
人工智能 自然语言处理 安全
构建未来:AI驱动的自适应网络安全防御系统提升软件测试效率:自动化与持续集成的实践之路
【5月更文挑战第30天】 在数字化时代,网络安全已成为维护信息完整性、保障用户隐私和企业持续运营的关键。传统的安全防御手段,如防火墙和入侵检测系统,面对日益复杂的网络攻击已显得力不从心。本文提出了一种基于人工智能(AI)技术的自适应网络安全防御系统,该系统能够实时分析网络流量,自动识别潜在威胁,并动态调整防御策略以应对未知攻击。通过深度学习算法和自然语言处理技术的结合,系统不仅能够提高检测速度和准确性,还能自主学习和适应新型攻击模式,从而显著提升网络安全防御的效率和智能化水平。 【5月更文挑战第30天】 在快速迭代的软件开发周期中,传统的手动测试方法已不再适应现代高效交付的要求。本文探讨了如