首先大家可以购买使用三哥的ORACLE数据库一键安装脚本,分别在主节点和备节点上传数据库安装包和安装脚本,同时要加载操作系统的安装ISO光盘,我这次部署的是ORACLE 11g ADG一主一备。
注:在安装数据库之前,最好按三哥一键安装要求,对每个节点做一下环境准备检查工作,以避免环境准备不足导致安装失败重新再来。
主节点执行数据库软件及数据库实例安装,命令如下。
./OracleShellInstall -lf ens33 `# local ip ifname`\
-n lucifer `# hostname`\
-op oracle `# oracle password`\
-d /u01 `# software base dir`\
-ord /oradata `# data dir`\
-o lucifer `# dbname`\
-dp oracle `# sys/system password`\
-ds AL32UTF8 `# database character`\
-ns AL16UTF16 `# national character`\
-redo 100 `# redo size`\
-opd Y `# optimize db`
备节点只安装数据库软件,切记不要安装数据库实例,命令如下。
./OracleShellInstall -lf ens33 `# local ip ifname`\
-n lucifer1 `# hostname`\
-op oracle `# oracle password`\
-d /u01 `# software base dir`\
-ord /oradata `# data dir`\
-o lucifer `# dbname`\
-dp oracle `# sys/system password`\
-ds AL32UTF8 `# database character`\
-ns AL16UTF16 `# national character`\
-ud Y `# optimize db`
注:主节点和备节点的数据库名称保持一致,我这里直接使用了三哥的网名lucifer作为数据库名称。
从安装脚本命令的参数可以看出操作系统oracle用户的密码为oracle。这个密码要记住,安装过程中要用oracle用户、密码来做SSH互信。
将暮渔木鱼的一键ADG部署上传到oracle用户主目录下,并对该脚本命令加上执行权限,chmod +x OracleADGSetup.sh,
如果大家需要了解购买暮渔木鱼的一键ADG安装部署脚本可以打开这个网站链接https://blog.krielwus.top/blossom/#/articles?articleId=20333进行咨询。
执行./ OracleADGSetup.sh -p 192.168.1.6 -s 192.168.1.7
-p 192.168.1.6指的是主节点的IP地址
-s 192.168.17 备节点的IP地址,如果你有多个备节点,IP地址可以一起写上。最后我贴上一键ADG脚本安装部署日志,
[oracle@lucifer:/home/oracle/logs]$ cat console_20250719_184104.log
2025-07-19 18:41:04 [INFO] ===== Oracle ADG自动化部署脚本启动 =====
2025-07-19 18:41:04 [INFO] 脚本版本: 1.0
2025-07-19 18:41:04 [INFO] 执行时间: 2025-07-19 18:41:04
2025-07-19 18:41:04 [INFO] 执行用户: oracle
2025-07-19 18:41:04 [INFO] 日志文件: /home/oracle/logs/adg_setup_20250719_184104.log
2025-07-19 18:41:04 [INFO] 控制台日志: /home/oracle/logs/console_20250719_184104.log
2025-07-19 18:41:04 [INFO] 开始执行Oracle ADG自动化部署
2025-07-19 18:41:04 [INFO] 主库: 192.168.1.6
2025-07-19 18:41:04 [INFO] 备库: 192.168.1.7
2025-07-19 18:41:04 [INFO] 备库类型: SINGLE
┌──────────────────────────────────────────────────┐
│ 🔐 步骤 1/6: 配置SSH互信 │
└──────────────────────────────────────────────────┘
============================================
请输入 oracle@192.168.1.6 的密码
============================================
[1/2] 已完成 192.168.1.6 的SSH互信配置
============================================
请输入 oracle@192.168.1.7 的密码
============================================
[2/2] 已完成 192.168.1.7 的SSH互信配置
✓ 所有主机SSH互信配置完成 (2/2)
┌──────────────────────────────────────────────────┐
│ ✨ 步骤 2/6: 检测主库环境 │
└──────────────────────────────────────────────────┘
⏳ 检测中: [##################################################] 100%
✅ 主库环境检测完成
• 数据库名: LUCIFER
• 主库类型: SINGLE
• 主库版本: 11.2.0.4.0
• 归档模式: ARCHIVELOG
┌──────────────────────────────────────────────────┐
│ ⚙️ 步骤 3/6: 配置主库ADG参数 │
└──────────────────────────────────────────────────┘
🔄 配置中: [##################################################] 100%
✅ 主库ADG参数配置完成
• 备库名称: LUCIFES1
• 监听器状态: 正常
┌──────────────────────────────────────────────────┐
│ 💾 步骤 4/6: 创建主库备份 │
└──────────────────────────────────────────────────┘
📋 备份中: [##################################################] 100%
✅ 主库备份完成
• 备份位置: /tmp/adg_backup_20250719_184200
• 备份大小: 300M
┌──────────────────────────────────────────────────┐
│ 🖥️ 步骤 5/6: 配置备库 │
└──────────────────────────────────────────────────┘
🔄 配置备库 192.168.1.7: [██████████████████████████████████████████████████] 100% ✓
✅ 所有备库配置完成
┌──────────────────────────────────────────────────┐
│ ✅ 步骤 6/6: 验证ADG配置 │
└──────────────────────────────────────────────────┘
🔍 验证配置中...
DEST_ID DEST_NAME STATUS ERROR
---------- -------------------- ---------- --------------------------------------------------
1 LOG_ARCHIVE_DEST_1 VALID
2 LOG_ARCHIVE_DEST_2 VALID
3 LOG_ARCHIVE_DEST_3 INACTIVE
完成!
2025-07-19 18:45:27 [INFO] 清理临时备份文件...
2025-07-19 18:45:28 [INFO] ===== ADG状态详细报告 =====
2025-07-19 18:45:28 [INFO] --- 主库状态 (192.168.1.6) ---
=== 主库基本信息 ===
DATABASE_ROLE DB_UNIQUE_NAME OPEN_MODE LOG_MODE
-------------------- -------------------- -------------------- ------------
PRIMARY lucifer READ WRITE ARCHIVELOG
=== 归档目标状态 ===
DEST_ID DEST_NAME STATUS ERROR
---------- -------------------- ---------- --------------------------------------------------
1 LOG_ARCHIVE_DEST_1 VALID
2 LOG_ARCHIVE_DEST_2 VALID
3 LOG_ARCHIVE_DEST_3 INACTIVE
4 LOG_ARCHIVE_DEST_4 INACTIVE
5 LOG_ARCHIVE_DEST_5 INACTIVE
=== 最近的归档日志 ===
THREAD# SEQUENCE# NAME APPLIED
---------- ---------- ------------------------------------------------------------ ---------
1 12 /u01/app/oracle/fast_recovery_area/LUCIFER/archivelog/2025_0 NO
7_19/o1_mf_1_12_n7pxt6yw_.arc
1 11 /u01/app/oracle/fast_recovery_area/LUCIFER/archivelog/2025_0 NO
7_19/o1_mf_1_11_n7pxt6xl_.arc
1 11 LUCIFES1 NO
1 10 /u01/app/oracle/fast_recovery_area/LUCIFER/archivelog/2025_0 NO
7_19/o1_mf_1_10_n7pxrkmk_.arc
1 10 LUCIFES1 YES
2025-07-19 18:45:28 [INFO] --- 备库状态 (192.168.1.7) ---
=== 备库基本信息 ===
DATABASE_ROLE DB_UNIQUE_NAME OPEN_MODE
-------------------- -------------------- --------------------
PHYSICAL STANDBY LUCIFES1 READ ONLY WITH APPLY
=== MRP进程状态 ===
PROCESS STATUS THREAD# SEQUENCE# BLOCK#
---------- -------------------- ------- --------- ----------
RFS IDLE 0 0 0
RFS IDLE 1 13 2
RFS IDLE 0 0 0
RFS IDLE 0 0 0
MRP0 WAIT_FOR_LOG 1 12 0
=== 归档应用状态 ===
THREAD# LAST_APPLIED_SEQ
------- ----------------
1 10
=== 数据保护模式 ===
PROTECTION_MODE PROTECTION_LEVEL
-------------------- --------------------
MAXIMUM PERFORMANCE MAXIMUM PERFORMANCE
=== 日志间隙 ===
no rows selected
2025-07-19 18:45:28 [INFO] ===== ADG状态报告结束 =====
╔══════════════════════════════════════════════════════════════════════╗
║ 🎆 Oracle ADG 部署最终状态报告 🎆 ║
╚══════════════════════════════════════════════════════════════════════╝
┌─────────────────────────────────────────────────────────────────────┐
│ 📊 配置概要 │
└─────────────────────────────────────────────────────────────────────┘
• 数据库名称: LUCIFER
• 数据库版本: 11.2.0.4.0
• 主库架构: SINGLE
• 主库服务器: 192.168.1.6
• 主库唯一名: lucifer
• Oracle SID: lucifer
• 备库总数: 1
• 备库配置:
├─ 备库1: 192.168.1.7
│ └─ DB_UNIQUE_NAME: LUCIFES1
┌─────────────────────────────────────────────────────────────────────┐
│ 🔍 主库状态详情 │
└─────────────────────────────────────────────────────────────────────┘
📌 基本信息:
• 数据库角色: PRIMARY
• 打开模式: READWRITE
• 保护模式: MAXIMUMPERFORMANCE
• 当前保护级别: MAXIMUMPERFORMANCE
📁 归档状态:
• 最新归档序列号: 12
• 归档传输目标:
└─ LOG_ARCHIVE_DEST_1: ✓ VALID → LOG_ARCHIVE_DEST_1
└─ LOG_ARCHIVE_DEST_2: ✓ VALID → LOG_ARCHIVE_DEST_2
┌─────────────────────────────────────────────────────────────────────┐
│ 💻 备库状态详情 │
└─────────────────────────────────────────────────────────────────────┘
🖥️ 备库1: 192.168.1.7 (LUCIFES1)
═══════════════════════════════════════════════════
📌 基本信息:
• 连接状态: ✓ 正常
• 数据库角色: PHYSICALSTANDBY
• 打开模式: READONLYWITHAPPLY
• DB_UNIQUE_NAME: LUCIFES1
• 监听器状态: ✓ 运行中
📡 日志应用状态:
• MRP进程: ✓ MRP0 - WAIT_FOR_LOG
• 正在应用序列号: 12
• 最新应用的归档: 10
• 应用延迟: +0000:00:00
• 日志差距: 2 个归档日志
┌─────────────────────────────────────────────────────────────────────┐
│ 🎯 部署最终状态 │
└─────────────────────────────────────────────────────────────────────┘
╔═══════════════════════════════════════════════════════════════╗
║ 🎉 恭喜!ADG部署完全成功!🎉 ║
╚═══════════════════════════════════════════════════════════════╝
✅ 所有检查项均已通过:
✓ 主库归档传输配置正确
✓ 所有备库监听器运行正常
✓ 所有备库日志应用进程正常
✓ 主备库之间数据同步正常
✓ 数据保护级别设置正确
┌─────────────────────────────────────────────────────────────────────┐
│ 📋 后续操作建议 │
└─────────────────────────────────────────────────────────────────────┘
1. 验证ADG同步状态:
# 在主库执行
sqlplus / as sysdba
SQL> select thread#, max(sequence#) from v$archived_log group by thread#;
2. 配置自动故障切换(可选):
# 配置Fast-Start Failover
# 使用Data Guard Broker进行管理
3. 设置监控告警:
# 监控归档日志传输延迟
# 监控备库MRP进程状态
# 监控主备库日志序列号差距
4. 定期测试切换:
# 建议每季度进行一次切换演练
# 验证应用连接字符串配置
┌─────────────────────────────────────────────────────────────────────┐
│ 📊 执行信息汇总 │
└─────────────────────────────────────────────────────────────────────┘
• 开始时间: 2025-07-19 18:41:04
• 结束时间: 2025-07-19 18:45:28
• 执行时长: 0小时 4分钟 24秒
• 详细日志: /home/oracle/logs/adg_setup_20250719_184104.log
• 控制台日志: /home/oracle/logs/console_20250719_184104.log
• 执行用户: oracle
• 脚本版本: 1.0
╔══════════════════════════════════════════════════════════════════════╗
║ 感谢使用 Oracle ADG 自动化部署脚本 ║
╚══════════════════════════════════════════════════════════════════════╝
2025-07-19 18:45:29 [INFO] ===== Oracle ADG自动化部署完成 =====
2025-07-19 18:45:29 [INFO] 部署总结:
2025-07-19 18:45:29 [INFO] - 主库: 192.168.1.6 (SINGLE)
2025-07-19 18:45:29 [INFO] - 备库: 192.168.1.7
2025-07-19 18:45:29 [INFO] - 数据库: LUCIFER
2025-07-19 18:45:29 [INFO] - 主库唯一名: lucifer
2025-07-19 18:45:29 [INFO]
2025-07-19 18:45:29 [INFO] ADG搭建结果:
2025-07-19 18:45:30 [INFO] - 主库归档传输: ✓ 正常
2025-07-19 18:45:30 [INFO] - 备库 192.168.1.7: ✓ 已配置为Physical Standby (READ ONLY WITH APPLY模式)
2025-07-19 18:45:30 [INFO]
2025-07-19 18:45:30 [INFO] 详细日志: /home/oracle/logs/adg_setup_20250719_184104.log
2025-07-19 18:45:30 [INFO] 控制台日志: /home/oracle/logs/console_20250719_184104.log
从安装部署日志看,暮渔木鱼的一键ADG脚本部署的效率非常高,我的centos7操作系统内存是8G的,部署ADG架构只用了4分钟 24秒。一鍵ADG脚本大大节约了DBA手工部署的时间,提高了广大DBA们的工作效率。
在主节点的的表中插入数据
SYS@lucifer SQL> insert into t values(20,'20');
1 row created.
SYS@lucifer SQL> commit;
Commit complete.
SYS@lucifer SQL> alter system archive log current;
System altered.
在备节点查询刚才插入的数据
SQL> select * from t;
ID NAME
---------- ----------
1 one
2 two
3 three
4 four
5 five
6 six
7 seven
8 eight
10 10
9 9
11 11
ID NAME
---------- ----------
20 20
12 rows selected.




