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>嗯,用户现在遇到了在DOSBox中无法打开1.3.asm文件的问题,提示“unable to open input file”。之前他们提到过类似的问题,比如文件后缀名的问题,所以可能需要先检查这个方面。首先,我应该回想一下用户之前的对话,他们之前的问题是关于调试时断点无效,现在转向了文件无法打开,这可能涉及到文件路径、文件名是否正确,或者DOSBox的配置问题。 根据引用内容,用户之前提到过DOSBox对文件后缀敏感,比如masm只能编译.asm文件,所以用户可能使用了正确的后缀,但文件名可能有错误,比如大小写或者额外的空格。比如,用户输入的文件名是1.3.asm,但实际保存的文件名可能是1_3.asm或者其他形式,或者后缀名被隐藏导致实际是1.3.asm.txt。这时候需要用户检查文件资源管理器中的实际文件名,确保后缀正确,并且关闭隐藏已知文件类型的扩展名。 另外,引用中提到需要将文件放在DOSBox挂载的目录下,比如d:\dosbox\asm,用户可能没有正确挂载目录,或者文件没有放在正确的路径里。这时候需要指导用户检查DOSBox的挂载情况,使用mount命令查看是否成功挂载,并且确认文件是否在挂载的目录中。 还有,用户可能在DOSBox中切换到了错误的驱动器,比如没有进入C盘,而文件实际在挂载的C盘下。这时候需要用户输入“c:”切换到C盘,再使用dir查看目录,确认文件存在。如果用户没有正确挂载,可能需要重新配置mount命令,比如mount c d:\dosbox\asm,然后切换到C盘进行操作。 还有可能是编译命令中的文件名输入错误,比如大小写不一致,或者使用了错误的命令参数。比如masm 1.3.asm; 这里可能需要避免特殊字符,DOS可能不支持文件名中的点,或者空格,导致无法识别。这时候建议用户将文件名改为简单的格式,比如去掉点,使用下划线,如1_3.asm,然后再尝试编译。 此外,用户可能没有正确保存文件,或者保存的位置不对。比如,使用edit命令编辑时,默认保存路径可能不在挂载的目录里,需要确保保存时路径正确。或者用户在编辑后没有正确退出保存,导致文件未生成。这时候需要指导用户使用edit 1.3.asm后,正确输入内容并保存退出。 还有可能是DOSBox的配置问题,比如挂载的目录权限不足,或者路径中有中文或特殊字符,导致无法访问。这时候建议用户将文件路径改为全英文,并检查是否有权限问题。 总结一下,可能的解决步骤包括:检查文件名和后缀、确认文件路径和挂载、检查DOSBox中的驱动器切换、避免特殊字符、验证文件内容是否正确保存,以及检查编译器命令的正确性。需要一步步引导用户排查这些可能性,确保每个环节都正确无误。</think>在DOSBox中出现`unable to open input file 1.3.asm`错误,通常由**文件路径、命名规范、DOSBox挂载配置**三方面问题导致。以下是分步解决方案: --- ### 一、核心排查步骤 #### 1. 验证文件名与后缀 - **文件实际名称**: Windows资源管理器默认**隐藏已知文件扩展名**,可能导致文件实际名为`1.3.asm.txt`而非`.asm`。 **解决方法**: - 打开文件夹选项 → 取消勾选“隐藏已知文件类型的扩展名” - 确认文件名显示为`1.3.asm`(非`1.3.asm.asm`或其他) - **DOS命名规范**: DOS系统不支持文件名包含`.`以外的特殊符号(如空格)。若文件名含多个`.`或特殊字符,可能被截断。 **建议**: 将文件重命名为`13.asm`或`1_3.asm`(避免多级点分隔符)。 #### 2. 检查DOSBox挂载配置 ```dos # 挂载命令示例(必须包含实际物理路径) mount c d:\dosbox\asm # 将本地目录d:\dosbox\asm映射为DOSBox的C盘 ``` - **验证挂载状态**: 输入`mount`查看输出是否包含: ```dos Drive C is mounted as local directory d:\dosbox\asm [^2] ``` 若未正确挂载,重新执行`mount c [物理路径]`。 - **切换工作目录**: 挂载后必须进入虚拟C盘操作: ```dos c: # 切换到C盘 dir # 查看当前目录文件列表,确认1.3.asm存在 ``` #### 3. 编译器路径与命令格式 - **MASM编译命令**: ```dos masm 1.3.asm; # 分号表示跳过中间文件提示 ``` - 若文件名含空格或特殊符号,需用引号包裹:`masm "1 3.asm";` - 确保当前目录包含该文件(通过`dir`命令验证) --- ### 二、典型错误场景与修复 | 错误类型 | 现象示例 | 解决方案 | |-------------------|--------------------------|---------------------------------------| | 文件未挂载 | `File not found` | 重新执行`mount c d:\asm`并切换至C盘 | | 文件名后缀错误 | `Unable to open .ASM` | 重命名文件为纯英文+`.asm`后缀 | | 路径含中文字符 | 编译卡死/乱码 | 将文件移至全英文路径(如`d:\asm`) | --- ### 三、操作流程演示 1. **准备文件** - 本地路径:`d:\dosbox\asm\1_3.asm`(重命名简化) - 文件内容:标准汇编代码(可通过`edit 1_3.asm`编辑[^2]) 2. **挂载与编译** ```dos mount c d:\dosbox\asm c: dir # 确认1_3.asm存在 masm 1_3.asm; # 编译生成.OBJ link 1_3.obj; # 生成.EXE ``` 3. **调试验证** ```dos debug 1_3.exe # 进入调试器 -u # 反汇编验证代码加载 ``` --- ### 四、扩展问题 1. 如何在DOSBox中批量编译多个汇编文件? 2. DOS环境下文件名长度限制是多少? 3. 如何解决`Linker Error: Unable to Open Run File`错误? --- **提示**:若仍报错,尝试在纯英文路径下新建`test.asm`测试基础编译流程,逐步排查环境配置问题[^1][^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值