记录一次因ASM磁盘组空间不足,导致MAP进程无法启动

生产中 ADG 库出现告警,检查发现 map 进程异常:

检查 alter 日志,出现:

ORA-19504:failed to create file "+DATAC1/casarch/2_162186_1067953047.arc"

ORA-17502:ksfdcre:4 Failed to create file ...

ORA-15041:diskgroup "DATAC1" space exhausted

ORA-16038:log 21 sequence# 213703 cannot be archived

ORA-19504:failed to create file ""

ORA-00312:online log 21 thread 1:'+DATAC1/xx/ONLINELOG/group_21.958.107215771'

ORA-00312:online log 21 thread 1:'+DATAC1/xxx/ONLINELOG/group_21.959.107215847'

检查 ASM 磁盘空间不足,导致无法归档

检查数据库的归档保留时间:

rman target /

show retention policy;

清理归档日志:

复制代码
cat clear_arch.sh

~/.bash profile
rman target / nocatalog <<EOF
delete NOPROMPT archivelog until time "sysdate-2";
crosscheck archivelog all;
exit
EOF

nohup sh clear_arch.sh >> /home/oracle/clear_arch.log &

清理归档后,磁盘空间正常.

再次尝试拉起 map 进程:

复制代码
--启动mrp
ALTER DATABASE recover managed standby database using current logfile disconnect from session;
--查看mrp是否正常
SELECT inst_id,PROCESS, STATUS,SEQUENCE#,BLOCK#,BLOCKS, DELAY_MINS FROM gV$MANAGED_STANDBY where process in ('RFS','MRP0') and SEQUENCE# <>0;

map 进程还是无法正常启动:

ORA-01111:name for datafile 1061:

ORA-01110:data file 1061:

ORA-01157:cannot identify/lock data file 1061 -see DBWR trace file

问题分析:

在备用数据库中创建文件为UNNAMED的原因有很多,此次是因为备库上的磁盘空间不足导致的。

STANDBY_FILE_MANAGEMENT 在启用自动备用文件管理后,将在备用数据库上复制主数据库上的操作系统文件添加和删除。此时,我们在主服务器上添加数据文件,而恢复过程(MRP)正在尝试应用存档,由于该参数设置,它将在$ ORACLE_HOME / dbs中创建一个未命名的文件将导致杀死MRP进程,错误如下所示。

当数据库由OMF管理时,修改路径时也可以使用 new 来代替路径的位置,修改 redo 除外。--这个没有验证

复制代码
alter database recover managed standby database cancel;
alter system set standby_file_management=manual;
alter database create datafile  '/oracle/app/oracle/product/19.0.0.0/db_1/dbs/UNNAMED1061′ as  '/+DATAC1/' AS 32760m;
alter system set standby_file_management=auto;
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT FROM SESSION;

执行完后,mrp 进程正常拉起,本次问题解决.

相关推荐
heart000_18 小时前
MySQL事务与锁机制详解:确保数据一致性的关键【MySQL系列】
数据库·mysql
一眼青苔8 小时前
MySQL 如何判断某个表中是否存在某个字段
数据库·mysql
西柚小萌新9 小时前
【大模型:知识图谱】--3.py2neo连接图数据库neo4j
数据库·知识图谱·neo4j
wangfenglei1234569 小时前
mybatis打印完整的SQL,p6spy
数据库·sql·mybatis
__风__9 小时前
PostgreSQL ERROR: out of shared memory处理
数据库·postgresql
占星安啦9 小时前
一个html实现数据库自定义查询
java·前端·javascript·数据库·动态查询
天空之城夢主10 小时前
MySQL 全量、增量备份与恢复
数据库·mysql·oracle
Elastic 中国社区官方博客10 小时前
连接关键点:使用 ES|QL 联接实现更丰富的可观测性洞察
大数据·数据库·sql·elasticsearch·搜索引擎·全文检索
元闰子10 小时前
AI Agent需要什么样的数据库?
数据库·人工智能·后端
什么都想学的阿超10 小时前
【PostgreSQL 02】PostgreSQL数据类型革命:JSON、数组与地理信息让你的应用飞起来
数据库·postgresql·json