#故障状态

YashanDB检测到异常故障时,防止扩散影响,会将数据库的状态置为ABNORMAL,数据库处于故障只读状态,可以查询,不能执行写的业务。

当数据库为ABNORMAL状态时,可以查看V$DIAG_INCIDENT视图或告警日志明确故障原因。

--故障发生时,数据库状态为ABNORMAL
SELECT STATUS FROM V$DATABASE;

STATUS                            
--------------------------------- 
ABNORMAL                         

1 row fetched.

--故障修复后,执行如下语句消除ABNORMAL状态
ALTER DATABASE CONVERT TO NORMAL;


SELECT STATUS FROM V$DATABASE;

STATUS                            
--------------------------------- 
NORMAL                           

Copied!

下表列示数据库状态被置为ABNORMAL的常见故障及修复建议。

故障类型 说明 修复建议
归档日志磁盘空间不足 归档空间不足会导致业务卡住,设置为ABNORMAL,避免大量业务连接再进来,等待DBA释放空间 故障修复后,手动消除状态或等数据库检测到修复后会自动清除
* 增加磁盘空间或释放空间
*归档清理,删除无用的归档,参考归档管理
最大保护模式,同步备库异常 最大保护模式下,同步备库长时间异常会导致主库的业务提交会卡住 故障修复后,手动修复或等数据库检测到修复后会清除故障
* 排查原因,修复同步备
* 修改同步备配置
* 调整保护模式
数据文件或redo文件被手动操作,(例如:rm或mv等) 数据文件被异常操作,可能会导致数据库不可用 故障修复后,需要手动消除。
数据库发生Fatal错误 数据库可能因为资源、IO等原因出现故障,导致数据库无法运行,具体的错误原因查看V$DIAG_INCIDENT视图或运行日志明确故障原因。 该故障状态不可消除,数据库已经不能再继续运行了,只能shutdown abort,修复故障后重启数据库。

Note: 有些故障未修复,直接消除ABNORMAL状态,数据库会检测到还是存在故障,会重新置为ABNORMAL状态,重新上报事件。例如:归档磁盘空间不足、最大保护模式下同步备异常等。

数据文件被手动操作,手动消除ABNORMAL状态后,不会再重新置为ABNORMAL,所以需要保证故障被修复。

pdf-btn 下载文档
copy-btn 复制链接