#脚本作者收费
Oracle ADG (Active Data Guard) 一键自动化部署脚本
? 核心亮点
? 真正的一键部署
# 仅需一条命令,3分钟了解,30分钟部署完成!
./OracleADGSetup.sh -p 主库IP -s 备库IP
? 100%自动化,零人工干预
✨ 智能环境适配: 自动识别Oracle版本、架构、路径,无需手动配置 ⚡ 一键SSH配置: 智能处理密钥生成、分发、互信建立,全程自动化 ? 参数智能优化: 根据环境自动计算最优ADG参数,无需专家调优 ? 故障自动恢复: 遇到临时故障自动重试,确保部署成功 ? 实时进度显示: 美观的进度条和状态提示,随时了解部署进展 ✅ 自动验证完成: 部署后自动验证所有配置,确保ADG正常运行
?️ 企业级安全可靠
? 安全第一: 完整的权限检查,避免安全隐患 ?️ 智能容错: 每步都有前置检查,失败自动回滚 ? 详细日志: 完整的操作记录,便于审计和问题排查 ? 幂等性设计: 可重复执行,不会破坏已有配置
概述
本脚本是市面上最先进的Oracle Active Data Guard自动化部署解决方案,彻底解放DBA双手,实现真正的一键部署。无论您是Oracle新手还是资深专家,都能在几分钟内完成专业级的ADG环境搭建。
? 核心优势
⚡ 一键部署,极简操作
# 仅需一条命令,即可完成整个ADG环境部署
./OracleADGSetup.sh -p 192.168.1.10 -s 192.168.1.20
? 全程自动化,无人工干预
智能环境检测: 自动检测Oracle环境、版本、架构类型 自动SSH配置: 智能配置SSH互信,支持密码和密钥认证 自动参数优化: 根据环境自动调整ADG相关参数 自动备份恢复: 全自动RMAN备份和备库恢复 自动网络配置: 智能配置监听器和TNS连接 自动验证测试: 部署完成后自动验证所有配置
?️ 智能容错,稳定可靠
多重检查机制: 每个步骤都有完整的前置条件检查 自动重试机制: 网络异常、临时故障自动重试 回滚保护: 部署失败时自动清理,不影响原有环境 详细日志记录: 完整的执行日志,便于问题定位
功能特性
? 全自动化部署: 从SSH配置到备库同步,一键完成 ?️ 容错性强: 完善的错误处理和重试机制 ? 详细日志: 分级日志记录,便于问题排查 ? 灵活配置: 支持单机到单机、单机到多机、RAC到RAC等模式 ? 进度可视化: 实时显示部署进度条 ✅ 自动验证: 部署完成后自动验证配置状态 ? 智能识别: 自动识别Oracle环境和最佳配置 ? 安全可靠: 完整的权限检查和安全配置
? 参数详解
命令行参数
用法: ./OracleADGSetup.sh [选项]
Usage: ./OracleADGSetup.sh [options]
必需参数 / Required Parameters:
-p, --primary <IP> 主库IP地址 (必需)
Primary database IP address (required)
-s, --standby <IP列表> 备库IP地址,多个用逗号分隔 (必需)
Standby database IP addresses, comma-separated (required)
可选参数 / Optional Parameters:
-t, --type <类型> 备库类型 SINGLE|RAC (默认: SINGLE)
Standby type SINGLE|RAC (default: SINGLE)
-o, --oracle_sid <SID> ORACLE_SID (默认: 自动检测)
ORACLE_SID (default: auto-detect)
-u, --user <用户名> 数据库用户 (默认: oracle)
Database user (default: oracle)
-h, --help 显示帮助信息
Display help information
? 参数使用示例
下面结合实战部署演示进行直观感受,以Oracle 11GR2一主一备搭建进行演示
环境主备
环境安装
这里使用一键脚本安装,教程请看RockyLinux10一键安装Oracle 11GR2数据库[1],订阅请微信联系 krielwus0725
主库(安装数据库软件以及数据库)
$ chmod +x OracleShellInstall
$ ./OracleShellInstall -lf ens192 `# local ip ifname`\
-n primarynode `# hostname`\
-op oracle `# oracle password`\
-d /u01 `# software base dir`\
-ord /oradata `# data dir`\
-o orcl11g `# dbname`\
-dp oracle `# sys/system password`\
-ds AL32UTF8 `# database character`\
-ns AL16UTF16 `# national character`\
-redo 50 `# redo size`\
-opd Y `# optimize db`
备库(仅安装数据库软件)
$ chmod +x OracleShellInstall
$ ./OracleShellInstall -lf ens192 `# local ip ifname`\
-n standbynode `# hostname`\
-op oracle `# oracle password`\
-d /u01 `# software base dir`\
-ord /oradata `# data dir`\
-o orcl11g `# dbname`\
-dp oracle `# sys/system password`\
-ds AL32UTF8 `# database character`\
-ns AL16UTF16 `# national character`\
-ud Y `# 只安装数据库软件`
下载脚本
订阅后从github仓库下载脚本,并上传到主库节点
Oracle用户上传OracleADGSetup.sh部署脚本
这里演示从备库服务器上执行脚本
[oracle@primarynode:/home/oracle]$ ll
total 140
-rwxr-xr-x 1 oracle oinstall 140574 Jun 22 12:48 OracleADGSetup.sh
[oracle@primarynode:/home/oracle]$ chmod +x OracleADGSetup.sh
执行部署
[oracle@primarynode:/home/oracle]$ ./OracleADGSetup.sh -p 10.168.1.110 -s 10.168.1.111

全程仅需6min33s,非常的迅速省时省力
主备验证
主库建表插入
create tabletest(idnumber,namevarchar2(255));
insertintotestvalues(1,'zhangsan');
insertintotestvalues(2,'lisi');
commit;
set linesize 100
set pagesize 100
columnidformat9999
columnnameformat a20
select * fromtest;
--提交完去备库查看
--切换日志后再去备库查看
ALTERSYSTEMARCHIVELOGCURRENT;

备库111验证
set linesize 100
set pagesize 100
columnidformat9999
columnnameformat a20
select * fromtest;
ID NAME
----- --------------------
1 zhangsan
2 lisi

备库112验证
set linesize 100
set pagesize 100
columnidformat9999
columnnameformat a20
select * fromtest;
ID NAME
----- --------------------
1 zhangsan
2 lisi

未来计划
版本支持计划
Oracle 11G-21c: 单实例ADG已完成
架构增强计划 (RAC版本已在开发中)
RAC支持增强: 单机到RAC的一主一备配置 RAC到单机的一主一备配置 一主多备的混合架构(RAC+单机) 扩展备库节点: 动态添加备库节点功能 将现有一主一备扩展为一主多备 支持级联备库配置
功能增强计划
Windows版本: 正在开发Windows PowerShell版本,预计6个月内发布 性能优化: 提供更多性能调优建议和自动化配置
联系方式
作者: krielwus 邮箱: krielwus@foxmail.com 项目主页: https://github.com/WuShanMuYuu/OracleADGSetup 技术支持: 提交Issue到GitHub项目页面
本文链接:https://www.kinber.cn/post/5340.html 转载需授权!
推荐本站淘宝优惠价购买喜欢的宝贝:


支付宝微信扫一扫,打赏作者吧~
