Unable To Open Database After ASM Upgrade From Release 11.1 To Release 11.2

 

After upgrade the ASM instance from release 11.1 to release 11.2 existing database is unable to start/open due to the next error:

/u01/app/oracle/product/11.1.0/dbs>sqlplus

SQL*Plus: Release 11.1.0.6.0 - Production on Wed Apr 7 15:49:33 2010

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

Enter user-name: / as sysdba
Connected to an idle instance.

SQL> startup
ORA-01078: failure in processing system parameters
ORA-01565: error in identifying file '+ORADATA_DBAT/dbat/spfiledbat.ora'
ORA-17503: ksfdopn:2 Failed to open file +ORADATA_DBAT/dbat/spfiledbat.ora
ORA-15077: could not locate ASM instance serving a required diskgroup

 

Cause

The ocrconfig_loc variable in the /var/opt/oracle/ocr.loc file was still pointing to previous the ASM 11gR1 Oracle Home:

ocrconfig_loc=/u01/app/oracle/product/11.1.0/cdata/localhost/local.ocr
local_only=TRUE



It should point to the new 11.2 Grid Oracle Home:

ocrconfig_loc=/u01/app/oracle/product/11.2.0/grid/cdata/localhost/local.ocr
local_only=TRUE




Note: On Linux the ocr.loc file is located at: /etc/oracle/ocr.loc.

Solution

Please update the /var/opt/oracle/ocr.loc file with the next entries:

ocrconfig_loc=/u01/app/oracle/product/11.2.0/grid/cdata/localhost/local.ocr
local_only=TRUE




 

 

 

From Oracle

-------------------------------------------------------------------------------------------------------

QQ:492913789

Email:ahdba@qq.com

Blog: http://www.cndba.cn/dave


DBA1 群:62697716();   DBA2 群:62697977()   DBA3 群:62697850()  

DBA 超级群:63306533();  DBA4 群: 83829929  DBA5群: 142216823   

聊天 群:40132017   聊天2群:69087192

--加群需要在备注说明Oracle表空间和数据文件的关系,否则拒绝申请

<think>嗯,用户遇到了汇编语言中无法打开输出文件的错误,提示是“unable to open output file”。我需要帮他们解决这个问题。首先,我得回想一下常见的导致这个错误的原因。可能包括文件被其他程序占用、路径不存在、权限不足,或者文件名有问题。 首先,权限问题。如果用户尝试将输出文件写入一个需要管理员权限的目录,比如Linux的根目录或者Program Files,而没有足够的权限,就会报错。这时候需要检查目录的写入权限,或者换个有权限的目录。 然后是文件被占用。比如,如果输出文件已经打开且被其他程序锁定,汇编器就无法写入。这时候需要关闭占用文件的程序,比如编辑器或者杀毒软件。 接下来是路径问题。如果指定的输出路径不存在,比如用户写了一个不存在的文件夹,汇编器找不到路径自然会出错。需要确保输出目录存在,或者使用相对路径。 文件名有效性也很重要。如果文件名包含非法字符,比如斜杠或星号,或者长度超过系统限制,也会导致无法创建文件。需要检查文件名是否符合系统规范。 还有防病毒软件或安全软件可能误判汇编器的行为,阻止文件创建。这时候可以尝试临时关闭安全软件,看是否解决问题。 另外,汇编器本身的参数是否正确?比如在使用nasm时,-o参数是否正确指定了输出文件路径,或者是否缺少了必要的参数。例如,如果忘记加-o,可能导致输出文件路径错误。 磁盘空间不足也是一个可能性,虽然比较少见,但也需要检查。 对于解决方案,应该逐步排查:首先检查路径是否存在,权限是否足够,文件名是否合法,然后查看文件是否被占用,再检查汇编命令的参数是否正确。最后考虑安全软件和磁盘空间的问题。 用户可能需要具体的步骤,比如如何检查权限,如何修改输出路径,或者如何关闭占用程序。同时,提供示例命令会很有帮助,比如正确的nasm编译命令和链接命令。 相关的问题可能涉及其他类似的错误,比如链接阶段的问题,或者如何调试汇编程序,以及不同汇编器的使用差异。</think>### 汇编语言 unable to open output file 解决方案与错误原因分析 #### 错误原因分析 1. **文件被占用或权限不足** 如果输出文件(如`.obj`或`.exe`)已被其他程序(如编辑器、杀毒软件)锁定,汇编器无法写入[^1]。同时,若目标目录无写入权限(如系统保护目录),也会触发此错误。 2. **路径不存在或无效** 指定的输出路径包含不存在的文件夹,或路径格式错误(如未转义特殊字符)[^2]。例如: ```bash nasm -f win32 -o C:\nonexistent_folder\output.obj input.asm # 路径不存在 ``` 3. **文件名非法** 文件名包含系统保留字符(如`*`、`?`、`/`),或长度超过操作系统限制(如Windows最大260字符)。 4. **防病毒软件拦截** 安全软件可能误判汇编生成的二进制文件为威胁,阻止其创建[^3]。 --- #### 解决方案 1. **检查文件权限与占用** - 关闭可能占用文件的程序(如IDE、文本编辑器)。 - 若目标目录为系统目录(如`C:\Windows`),改用用户目录(如`C:\Users\YourName\Documents`)。 - 右键点击目标目录 → 属性 → 安全 → 确保当前用户有**写入权限**。 2. **验证路径有效性** - 使用绝对路径时确保所有文件夹存在: ```bash nasm -f elf -o /home/user/project/output.o input.asm # Linux示例 ``` - 改用简短相对路径减少错误: ```bash nasm -f win32 -o output.obj input.asm # 输出到当前目录 ``` 3. **规范文件名** 避免使用空格和特殊字符,例如: ```bash nasm -f bin -o my_program.bin source.asm # 推荐格式 ``` 4. **排除安全软件干扰** 临时禁用杀毒软件(如Windows Defender、第三方安全工具),测试后恢复。 5. **完整编译流程示例** NASM编译 + 链接(以Windows为例): ```bash nasm -f win32 -o app.obj app.asm ld app.obj -o app.exe # 若使用gcc:gcc app.obj -o app.exe ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值