[oracle@centos7 tmp]$ more monitor_mrp.sh # Oracle 11.2.0.4 RAC 备库 MRP 进程检测 Bash 脚本 # 数据库 SID DB_SID="orcl" # e.g., 'orcl' # 设置 ORACLE_SID export ORACLE_SID=$DB_SID # 检查数据库连接的 SQL 查询 CHECK_CONN_SQL="SELECT 1 FROM DUAL;" # 检查数据库角色的 SQL 查询 CHECK_ROLE_SQL="SELECT DATABASE_ROLE FROM V\$DATABASE;" # 检查 MRP 进程的 SQL 查询 CHECK_MRP_SQL="SELECT PROCESS || ',' || STATUS FROM V\$MANAGED_STANDBY WHERE PROCESS = 'MRP0';" check_connection() { connOutput=$(echo "$CHECK_CONN_SQL" | sqlplus -S / as sysdba 2>&1) if echo "$connOutput" | grep -q "ORA-"; then echo "数据库连接失败: $connOutput" return 1 else echo "数据库连接成功。" return 0 fi } check_role() { roleOutput=$(echo "$CHECK_ROLE_SQL" | sqlplus -S / as sysdba | grep "PHYSICAL STANDBY") if [ -n "$roleOutput" ]; then echo "数据库角色为备库。" return 0 else echo "数据库角色不是备库,无需检查 MRP 进程。" return 1 fi } # 使用 sqlplus 执行查询 check_mrp() { sqlplusOutput=$(echo "$CHECK_MRP_SQL" | sqlplus -S / as sysdba) if echo "$sqlplusOutput" | grep -q "MRP0,APPLYING_LOG"; then echo "MRP 进程正常运行。" return 0 elif echo "$sqlplusOutput" | grep -q "MRP0"; then status=$(echo "$sqlplusOutput" | sed 's/MRP0,//') echo "MRP 进程异常: 状态为 $status" return 1 else echo "未找到 MRP 进程。" return 1 fi } handle_abnormal() { # 这里可以添加异常处理逻辑,例如发送警报、重启进程等 echo "检测到 MRP 异常,进行处理..." # 示例: 发送邮件或调用其他脚本 # TODO: 实现具体处理 } # 主逻辑 if ! check_connection; then exit 1 fi if check_role; then if ! check_mrp; then handle_abnormal fi fi[oracle@rhel6 tmp]$ sh monitor_mrp.sh 数据库连接成功。数据库角色为备库。MRP 进程正常运行。
Oracle脚本之自动检测MRP进程异常时修复
来源:这里教程网
时间:2026-03-03 22:39:02
作者:
编辑推荐:
- Oracle脚本之自动检测MRP进程异常时修复03-03
- 数据库管理-第354期 实战RAC下Service的Failback(20250807)03-03
- 如何主库进行闪回,而备库不需要重新搭建?03-03
- 苹果(apple)ios系统和安卓(Android) apk系统开发者账号类型及申请步骤03-03
- 怎么样的数据库才是真国产?03-03
- 监听故障案例03-03
- OCI编程基础篇(一) 程序结构03-03
- OCI编程基础篇(二) 创建环境、分配句柄03-03
下一篇:
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- 数据库管理-第354期 实战RAC下Service的Failback(20250807)
- 监听故障案例
监听故障案例
26-03-03 - 数据库管理-第357期 23ai:试玩Extended Cluster(20250814)
- 当varchar和Nvarchar关联
当varchar和Nvarchar关联
26-03-03 - 记一次Oracle物化视图自动刷新异常案例分析
记一次Oracle物化视图自动刷新异常案例分析
26-03-03 - Oracle DDL不可以直接在数据字典上的场景
Oracle DDL不可以直接在数据字典上的场景
26-03-03 - TFA引起的端口漏洞处理
TFA引起的端口漏洞处理
26-03-03 - 故障是试金石:从一次Oracle宕机看成熟IT系统的韧性
故障是试金石:从一次Oracle宕机看成熟IT系统的韧性
26-03-03 - Oracle数据文件被误删除,无任何备份,如何导出剩余的数据?
Oracle数据文件被误删除,无任何备份,如何导出剩余的数据?
26-03-03 - Oracle11g监听程序不支持服务
Oracle11g监听程序不支持服务
26-03-03
