暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Windows Server 2019 for Oracle 19C RAC ADG 遭遇故障,真心不建议在上面跑

原创 ByteHouse 2024-09-04
377

摘要

windows Server 2019 上部署的 Oracle 19C RAC ADG,备库遭遇停电,导致;来电后集群环境异常。

FQ 1:备库集群服务异常

1.故障现象

查看集群状态,集群服务未正常启动

crsctl check  crs

2.问题分析

机房停电后,因存储与服务器启动顺序问题,导致服务器启动后无法识别到ASM磁盘。

3.解决方法

重启集群服务。

FQ 2: qlplus ORA-12560错误

1.故障现象

使用sqlplus遭遇ORA-12560错误:

C:\Documents and Settings\Administrator>sqlplus "/as sysdba"

SQL*Plus: Release 11.2.0.2.0 Production on 星期一 6月 18 14:32:52 2012

Copyright (c) 1982, 2010, Oracle.  All rights reserved.

ERROR:
    ORA-12560: TNS: 协议适配器错误

    请输入用户名:

2.问题分析

因为是在WINDOWS上,服务可能没启动,尝试重启服务。

3.解决方法

重启 oracleserviceora 服务后,在使用sqlplus 正常。

FQ 3:ora-10458,ora-01196,ora-01110

1.故障现象

启动 physical standby 时提示错误

SQL> startup
ORACLE instance started.

Total System Global Area 1644167168 bytes
Fixed Size		    2925024 bytes
Variable Size		 1073745440 bytes
Database Buffers	  553648128 bytes
Redo Buffers		   13848576 bytes
Database mounted.
ORA-10458: standby database requires recovery
ORA-01196: file 1 is inconsistent due to a failed media recovery session
ORA-01110: data file 1: '/u01/app/oracle/oradata/orcl/system01.dbf'

2.问题分析

停电后日志应用中段,或故障导致数据文件损坏。

3.解决方法

解决方法1: 重做 physical standby
解决方法2: 恢复 physical standby

从库上操作

step 1.确认备库的 DATABASE_ROLE

SQL> set lines 500;
SQL> set pages 500;

SQL> select instance_name,status,database_status,instance_role from v$instance;

INSTANCE_NAME	 STATUS       DATABASE_STATUS	INSTANCE_ROLE
---------------- ------------ ----------------- ------------------
orcl		 MOUNTED      ACTIVE		PRIMARY_INSTANCE

SQL> select name,open_mode,database_role,dataguard_broker,guard_status,switchover_status from v$database;

NAME	  OPEN_MODE	       DATABASE_ROLE	DATAGUAR GUARD_S SWITCHOVER_STATUS
--------- -------------------- ---------------- -------- ------- --------------------
ORCL	  MOUNTED	       PHYSICAL STANDBY ENABLED  NONE	 NOT ALLOWED

step 2.启动到mount状态,启动恢复

SQL> shutdown immediate;
SQL> startup mount;
SQL> recover managed standby database using current logfile disconnect from session;

备库执行命令时报错如下:

SQL> recover managed standby database using current logfile disconnect from session;
alter database recover managed standby database using current logfile disconnect from session
*
ERROR at line 1:
ORA-01153: an incompatible media recovery is active

重复启用日志应用所致,故取消应用:

SQL> alter database recover managed standby database cancel;

Database altered.

再次开启应用:

SQL> alter database recover managed standby database using current logfile disconnect from session;

Database altered.

主库上操作

切换归档日志

SQL> alter system archive log current;
SQL> alter system checkpoint;
SQL> alter system archive log current;
SQL> select * from v$archive_dest where destination is not null;

要求确保 v$archive_dest 的 status 列为 ‘VALID’

在Oracle 12 C数据库中,varchive_dest是用于管理归档目标的视图。通过查询varchive_dest视图,我们可以获取与归档日志相关的信息,例如归档目标的状态(status)列。当状态列显示为’ERROR’时,表示存在一些问题需要解决。

这将返回一个结果集,其中包含归档目标的ID(dest_id)、状态(status)和名称(dest_name)。
归档目标状态的含义

当状态列显示为’ERROR’时,表示归档目标存在一些问题。以下是一些常见的状态和其含义:

  • VALID:归档目标是有效的。
  • DEFERRED:归档目标未就绪,等待进行某些操作。
  • INACTIVE:归档目标处于不活动状态,可能由于某些原因而暂停了传输。
  • ERROR:归档目标存在错误,需要进行故障排除。

在主库上查询一下归档情况:

SQL> select name,sequence#,archived,applied from v$archived_log order by sequence#;

如果返回结果 ‘APPLIED’ 都是 ‘YES’ 或者只有最后一个是 'NO’的话,说明全部归档日志全部已经归档完了

备库上操作

step 1.取消日志应用,打开数据库

SQL> alter database recover managed standby database cancel;
SQL> alter database open;

此时,如果数据库正常打开了

step 2.启用日志应用
通过 sqlplus 手动配置的 dataguard,就执行如下命令:

SQL> alter database recover managed standby database using current logfile disconnect from session;

通过 dataguard broker 配置的, 使用 dgmgrl 操作:

DGMGRL> show configuration ;

Configuration - dgconf

  Protection Mode: MaxPerformance
  Members:
  orclp  - Primary database
    orcls1 - Physical standby database 
      Error: ORA-16766: Redo Apply is stopped

Fast-Start Failover: DISABLED

Configuration Status:
ERROR   (status updated 50 seconds ago) 
DGMGRL>
DGMGRL> enable configuration;
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论