![Oracle 抛出此错误:无法打开注册表项 SOFTWARE\Oracle\ocr](https://linux22.com/image/504826/Oracle%20%E6%8A%9B%E5%87%BA%E6%AD%A4%E9%94%99%E8%AF%AF%EF%BC%9A%E6%97%A0%E6%B3%95%E6%89%93%E5%BC%80%E6%B3%A8%E5%86%8C%E8%A1%A8%E9%A1%B9%20SOFTWARE%5COracle%5Cocr.png)
我安装的 Oracle 95% 的时间都运行良好。但不知何故,每天凌晨某个随机时间(凌晨 4:00 到 9:00 之间)我都会收到以下错误:
[OCROSD][3248]utgdv:1:无法打开注册表项SOFTWARE\Oracle\ocr os 错误系统找不到输入的环境选项。
[ OCRRAW][3248]proprinit:无法打开原始设备
[默认][3248]a_init:7!: 后端初始化失败: [33]
[ CSSCLNT][3248]clsssinit: OCR 初始化中出现错误(33)
[OCROSD][3248]utgdv:1:无法打开注册表项SOFTWARE\Oracle\ocr os 错误系统找不到输入的环境选项。
注册表错误随机发生,这很奇怪。我的注册表不会在一天中定期更改。这一定与原始设备不可用有关吗?
有人有什么想法吗?我期待您的意见。
谢谢!
答案1
我通过关闭闪回解决了这个问题。我通过以下操作确认了这是问题所在:
sqlplus sys as sysdba
SQL> shutdown immediate;
SQL> startup mount exclusive;
SQL> alter database open;
alter database open
*
ERROR at line 1:
ORA-16038: log 3 sequence# 45 cannot be archived
ORA-19809: ***limit exceeded for recovery files***
ORA-00312: online log 3 thread 1: 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO03.LOG'
此时我关闭了闪回。
这也许可以解决问题,但我没有尝试:http://www.dba-oracle.com/t_ora_19809_limit_exceeded_for_recovery.htm
答案2
看起来你并不孤单,这可能与 ASM 有关。
http://forums.oracle.com/forums/thread.jspa?threadID=620261
你可以用进程监控准确了解哪个进程正在寻找该注册表项,并查看导致该查询的事件。
我们刚刚通过重新安装具有我们所需的最低限度的服务和功能的客户端解决了其中一台服务器上的类似问题。
希望我能进一步帮助您。