oracle数据库ORA-00210:无法打开指定的控制文件

本文记录了Windows Server 2012环境下Oracle 12c数据库因新增实例导致旧实例服务中断的问题。通过调整实例用户权限并重启服务,最终解决了控制文件及数据表空间无法打开的错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近处理了一起windows server 2012服务器oracle12c数据库新增实例,导致旧实例无法正常对外提供服务.

1、trace日志报错内容

控制文件无法打开报错提示:

Errors in file D:\APP\ADMINISTRATOR\VIRTUAL\diag\rdbms\crm\crm\trace\crm_m000_6260.trc:
ORA-00210: 无法打开指定的控制文件
ORA-00202: 控制文件: ''D:\APP\ADMINISTRATOR\VIRTUAL\ORADATA\CRM\CONTROL01.CTL''
ORA-27041: 无法打开文件
OSD-04002: 无法打开文件
O/S-Error: (OS 5) 拒绝访问。

在这里插入图片描述

数据表空间文件无法打开报错提示:

Errors in file D:\APP\ADMINISTRATOR\VIRTUAL\diag\rdbms\crm\crm\trace\crm_smon_2928.trc:
ORA-01116: 打开数据库文件 8 时出错
ORA-01110: 数据文件 8: 'D:\APP\ADMINISTRATOR\VIRTUAL\ORADATA\CRM\CRM_DATA01.DBF'
ORA-27041: 无法打开文件
OSD-04002: 无法打开文件
O/S-Error: (OS 5) 拒绝访问。

在这里插入图片描述

2、故障发生的过程

因新增项目,需要添加数据库用户,但同事没有选择直接在原有实例上新增数据表空间与用户,也未选择使用dbca创建,而是使用dbms界面化操作新增实例,在新增实例过程有两个错误提示(具体错误未提供),在选择忽略之后,新建的orcl实例正常提供服务,但旧实例crm无法正常提供服务,报错如上所示。

3、处理过程

1)尝试使用init.ora来恢复旧实例,但该配置文件旧实例的信息已经被抹除
2)使用数据泵定时备份在新服务器上恢复,但会丢失一天的数据
3)其他恢复方式,这里不展开描述

4、恢复方法

1)、经排查发现任务管理器的服务进程中,crm运行的实例用户是oracle,但在报错日志中提到的CRM_DATA01.DBF与CONTROL01.CTL文件右键的【属性–安全–组或用户名列表】中已经没有该用户组,即操作新增实例时,oracle用户组已经被不明原因删除,怀疑在新增实例报错时,该用户被手动清理。
2)、控制面板新增该用户组,杀死crm实例运行的相关进程,重新启动crm实例,测试正常。重启业务服务,经测试应用业务恢复正常。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值