这是一个用来监控Oracle Data Guard环境下从主库到备库的重做日志传输和应用情况的nagios插件。在我们所维护的系统环境中,如果有data guard环境的数据库系统,可以使用此插件监控data guard的运行状态。建议设置为每小时运行一次。该插件测试结果显示其执行时间有数秒钟,请注意。
1、技术关键点:
在主库上检查v$archived_log视图中归档日志的最新归档日志和最新应用时间来判断日志传输和应用状态。使用的SQL如下:
with t_standby as (select dest_id, applied, max(first_time) as first_time from v\\$archived_log group by dest_id, applied) select dest_id,round(nvl(archived_gap,0)) as archived_gap,round(nvl(applied_gap,0)) applied_gap from ( select (SELECT ${P3} FROM DUAL) as dest_id, 60*24 * ((select first_time from t_standby where dest_id = 1) - (select max(first_time) from t_standby where dest_id = ${P3})) as archived_gap, 60*24 * ((select max(first_time) from t_standby where dest_id =${P3}) - (select min(first_time) from t_standby where dest_id = ${P3})) as applied_gap from dual );
2、源代码见附件
3、使用格式
check_oracle_standby.sh --standby_dest <ORACLE_SID> <DEST_ID> <ARCHIVED_GAP> <CRITICAL> <APPLIED_GAP> <CRITICAL>"
4、使用示例
例如,监控主库xxdb的实例xxdb1的log_archive_dest_2的日志传输和应用情况
/usr/local/nagios/libexec/check_oracle_standby.sh --standby_dest xxdb1 2 archived_gap 10 applied_gap 10
结果如下:
standby OK:db:xxdb1 log_archive_dest_2 archived_gap:0mins applied_gap:0mins
例如:监控主库yydb的实例yydb1的log_archive_dest_2和log_archive_dest_3的日志传输和应用情况
/usr/local/nagios/libexec/check_oracle_standby_dest.sh --standby_dest yydb1 2 archived_gap 10 applied_gap 1500
结果如下:
standby OK:db:yydb1 log_archive_dest_2 archived_gap:0mins applied_gap:1475mins
注意,log_archive_dest_2执行的standby节点的日志应用延迟了1440分钟,所以这里看到延迟时间较长。
/usr/local/nagios/libexec/check_oracle_standby_dest.sh --standby_dest yydb1 3 archived_gap 10 applied_gap 10
结果如下:
standby CRITICAL:db:yydb1 log_archive_dest_3 archived_gap:0mins applied_gap:46mins
分享到:
相关推荐
- **配置管理**:使用 Oracle Enterprise Manager 和 Data Guard Broker 来简化 Data Guard 的配置管理和监控工作。 #### 结论 Oracle Data Guard 提供了强大的数据保护和灾难恢复能力,是构建高可用性系统的重要...
Oracle Data Guard是Oracle数据库系统中一个强大的高可用性和灾难恢复解决方案。它提供了多种保护模式,以确保在主数据库出现故障时,数据的完整性和服务的连续性不受影响。本手册详细介绍了Oracle Data Guard的各项...
该技术通过实时的日志传输和应用,使得备用数据库与生产数据库保持同步或接近同步的状态。在塔河数字林业系统中,由于数据处理和存储需求的增长,系统的稳定性和数据安全性至关重要。因此,选择Oracle Data Guard...
总结来说,Oracle Data Guard通过冗余数据、日志传输和应用,以及灵活的角色切换策略,为企业提供了强大的数据库保护和高可用性保障。它不仅能够应对硬件故障、软件错误和自然灾害,还可以在不影响业务运行的前提下...
Oracle Data Guard是Oracle数据库系统中一个强大的高可用性和灾难恢复解决方案。它为Oracle数据库提供了一套全面的保护机制,确保在面临硬件故障、软件错误、自然灾害或其他潜在数据丢失的情况下,能够保持业务连续...
Data Guard通过日志传输,将主数据库上产生的重做日志(redo logs)传输到备用数据库,并在备用数据库上应用这些日志,保持数据同步。Data Guard提供了几种不同类型的备用模式,包括物理备用数据库和逻辑备用数据库...
对于监控和维护Data Guard环境,管理员还需要了解如何使用Oracle Data Guard Broker和Oracle Enterprise Manager等工具,以便于更直观和高效地管理Data Guard配置。 综上所述,该手册为IT专业人员提供了一套完整的...
Oracle Data Guard是一种高级的容灾解决方案,由Oracle公司提供,旨在确保企业的业务连续性和数据安全性。该技术通过管理和监控多个备用数据库,以防止因故障、灾难、错误或崩溃导致的数据损失。Data Guard的核心...
- 范围和应用:定义手册适用的环境,如Oracle RAC(Real Application Clusters)系统,以及Data Guard的各种应用场景。 - 相关文档:列出其他相关的技术文档,帮助读者扩展学习和理解。 - 前提:列出安装和配置...
3. **redo应用**:Redo Apply是Data Guard将主数据库的重做日志(redo logs)应用到备用数据库的过程。在最大保护模式下,如果无法立即应用重做,主数据库会暂停写入,以防止数据丢失。 4. **快速启动故障恢复...
总之,Oracle Data Guard提供了一套全面的高可用性和灾难恢复策略,通过精确的重做日志应用,确保主备数据库间的实时同步。其灵活性、安全性和易管理性使其成为企业级数据库系统的理想选择。在部署Data Guard时,...
3. **Redo Apply**:在Physical Standby模式下,主数据库的重做日志被传输到备用数据库,然后在备用数据库上应用,使备用数据库保持最新状态。这个过程称为Redo Apply。 4. **Fast Start Failover**:Oracle Data ...
总之,Oracle Data Guard在Linux操作系统上的应用为重要信息系统提供了强大的数据容灾能力,通过对数据库实例和数据流的精细管理,确保了业务连续性和数据安全性。论文的研究内容涵盖了理论原理、系统架构、配置实践...
Broker是Oracle Data Guard中的一个组件,用于管理Data Guard配置,实现了从单一控制台对物理备用数据库进行监控和操作。配置Broker包括启用Broker功能、启动备用数据库、打开PDB库以及使用Broker创建主备库的详细...
- **管理工具**:Oracle 提供了多种管理工具,如 SQL*Plus、Oracle Enterprise Manager (OEM) 等,用于监控、管理和调整 Data Guard 的配置。 - **切换与故障转移**:当主数据库出现故障时,可以手动或自动将物理...
Oracle Data Guard是一种高可用性和灾难恢复解决方案,它为Oracle数据库提供了额外的数据保护层。通过创建一个或多个备用数据库,Data Guard能够确保在主数据库发生故障时,数据的连续性和完整性得到保障。以下是对...
Oracle Data Guard是Oracle数据库系统中一个强大的高可用性和灾难恢复解决方案。它提供了多种保护模式,以确保在主数据库出现故障时,数据能够被安全、快速地恢复,同时保持业务连续性。在Oracle 10g版本中,Data ...
6. **redo transport services**:这是Data Guard传输重做日志数据到standby数据库的机制,包括redo log files的传输、应用和验证。 7. **快速启动故障恢复 (FSFR)**:当主数据库因计划外停机而关闭时,FSFR能够...