ORA-01565

ORA-01078: failure in processing system parameters
ORA-01565: error in identifying file '+DATA/devdb/spfiledevdb.ora'
ORA-17503: ksfdopn:2 Failed to open file +DATA/devdb/spfiledevdb.ora
ORA-12547: TNS:lost contact


解决办法:
环境:


DB:11.2.0.3 RAC  OS:OracleEnterpriseLinux6



今天在做Oracle 11gR2下面单机升级到RAC时遇到下面的问题


[oracle@11rac5 ~]$ sqlplus / as sysdba 
 
SQL*Plus: Release 11.2.0.2.0 Production on Tue Oct 9 19:06:51 2012 
 
Copyright (c) 1982, 2010, Oracle.  All rights reserved. 
 
Connected to an idle instance. 
 
SQL> startup 
ORA-01078: failure in processing system parameters 
ORA-01565: error in identifying file '+DATA/spfilerac.ora' 
ORA-17503: ksfdopn:2 Failed to open file +DATA/spfilerac.ora 
ORA-01034: ORACLE not available 
ORA-27123: unable to attach to shared memory segment 
Linux-x86_64 Error: 13: Permission denied 
Additional information: 3833863 
Additional information: 10 
查看grid与oracle用户下面的oracle文件的权限


查看grid用户下面的oracle的权限 
[root@11rac5 log]# su - grid 
[grid@11rac5 ~]$ ls -l $ORACLE_HOME/bin/oracle 
-rwxr-x--x 1 grid oinstall 200678430 Oct  9 13:35 /u01/app/11.2.0/grid/bin/oracle 
权限不正确,修改。 
[grid@11rac5 ~]$ chmod 6751 $ORACLE_HOME/bin/oracle 
[grid@11rac5 ~]$ ls -l $ORACLE_HOME/bin/oracle 
-rwsr-s--x 1 grid oinstall 200678430 Oct  9 13:35 /u01/app/11.2.0/grid/bin/oracle 
查看oracle用户下面的oracle权限 
[oracle@11rac5 trace]$ ls -l $ORACLE_HOME/bin/oracle 
-rwsr-x--x 1 oracle asmadmin 228886426 Oct  9 15:29 /u01/app/oracle/product/11.2.0/db_2/bin/oracle 
 
在grid用户下面修改 
[oracle@11rac5 trace]$ su - grid 
Password: 
[grid@11rac5 ~]$ cd $ORACLE_HOME/bin/ 
[grid@11rac5 bin]$ set 
set            setasmgid      setasmgidwrap  setfattr       setkeycodes    setmetamode    setsid         setup           
setarch        setasmgid0     setfacl        setfont        setleds        setserial      setterm        setxkbmap       
[grid@11rac5 bin]$ setasmgidwrap o=/u01/app/oracle/product/11.2.0/db_2/bin/oracle 
[grid@11rac5 bin]$ ls -l /u01/app/oracle/product/11.2.0/db_2/bin/oracle 
-rwsr-s--x 1 oracle asmadmin 228886426 Oct  9 15:29 /u01/app/oracle/product/11.2.0/db_2/bin/oracle 
再次启动数据库:


再次启动正常 
[oracle@11rac5 ~]$ sqlplus / as sysdba 
 
SQL*Plus: Release 11.2.0.2.0 Production on Tue Oct 9 19:28:34 2012 
 
Copyright (c) 1982, 2010, Oracle.  All rights reserved. 
 
Connected to an idle instance. 
 
SQL> startup 
ORACLE instance started. 
 
Total System Global Area  839282688 bytes 
Fixed Size                  2231128 bytes 
Variable Size             557843624 bytes 
Database Buffers          276824064 bytes 
Redo Buffers                2383872 bytes 
Database mounted. 
Database opened. 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29330852/viewspace-2120305/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/29330852/viewspace-2120305/

<think>好的,我现在要解决用户在Oracle数据库创建控制文件时遇到的ORA-01503、ORA-01565ORA-27048错误。首先,我需要回忆这些错误代码的具体含义,以及它们在创建控制文件时可能出现的原因。 首先,ORA-01503错误通常与创建控制文件时指定的参数不正确有关,比如数据库名称、数据文件路径或日志文件信息不匹配。ORA-01565则涉及无法识别或访问控制文件,可能是指定的控制文件路径错误或权限问题。而ORA-27048是操作系统级别的错误,可能与存储设备、文件权限或空间不足有关。 接下来,我需要考虑用户在创建控制文件时的具体步骤是否正确。用户可能执行了CREATE CONTROLFILE语句,但可能在指定数据文件、日志文件或数据库名称时有误。另外,检查是否有文件路径拼写错误,或者Oracle进程对目标目录没有足够的读写权限。 对于ORA-27048,可能需要检查存储设备的状态,比如ASM磁盘组是否可用,或者文件系统是否有足够的空间。此外,文件权限是否正确,例如控制文件所在的目录是否允许Oracle用户写入。 用户可能需要验证当前数据库的状态,是否处于NOMOUNT或MOUNT阶段,因为创建控制文件需要在NOMOUNT状态下进行。如果数据库处于其他状态,可能需要先关闭数据库,再启动到NOMOUNT模式。 另外,备份和现有控制文件的情况也需要检查。如果用户尝试重建控制文件,可能需要先备份现有的控制文件,或者确认是否需要覆盖现有的文件。如果存在旧的控制文件残留,可能会导致冲突。 可能的解决方案包括:仔细核对CREATE CONTROLFILE语句中的数据库名称、数据文件和日志文件的路径是否正确;检查文件系统权限和空间;确保数据库处于正确的状态;以及处理可能存在的文件冲突。 最后,用户可能需要生成新的控制文件后,进行恢复或打开数据库的操作,这时需要注意是否有数据文件丢失或日志文件不完整的情况,可能需要进一步的恢复步骤。</think>### Oracle创建控制文件错误解决方案 #### 错误原因分析 1. **ORA-01503**:创建控制文件时参数与数据库不一致(如DB_NAME、数据文件路径、日志组配置)[^1] 2. **ORA-01565**:控制文件路径错误或访问权限问题 3. **ORA-27048**:操作系统级存储异常(权限/空间/ASM磁盘组状态) #### 具体解决步骤 1. **验证数据库状态** ```sql SHUTDOWN IMMEDIATE; STARTUP NOMOUNT; -- 必须在NOMOUNT状态执行 ``` 2. **检查关键参数** ```sql CREATE CONTROLFILE REUSE DATABASE "ORCL" NORESETLOGS ARCHIVELOG MAXLOGFILES 16 MAXLOGMEMBERS 3 MAXDATAFILES 100 MAXINSTANCES 8 MAXLOGHISTORY 292 LOGFILE GROUP 1 '/oradata/redo01.log' SIZE 50M, GROUP 2 '/oradata/redo02.log' SIZE 50M DATAFILE '/oradata/system01.dbf', '/oradata/sysaux01.dbf'; ``` - 使用`ALTER DATABASE BACKUP CONTROLFILE TO TRACE`获取原库配置 - 确认所有路径大小写一致(Linux区分大小写) 3. **处理存储问题** ```bash # 检查权限 ls -l /oradata/*.dbf chown oracle:oinstall /oradata/*.dbf # ASM环境验证 asmcmd ls DATA/ORCL/CONTROLFILE ``` 4. **强制覆盖操作(慎用)** ```sql CREATE CONTROLFILE SET DATABASE ... RESETLOGS; ``` 5. **后续恢复操作** ```sql RECOVER DATABASE; ALTER DATABASE OPEN RESETLOGS; ``` #### 关键验证点 1. 控制文件路径在`SPFILE`中的定义: $$ control_files='+DATA/orcl/control01.ctl','+FRA/orcl/control02.ctl' $$ 2. 数据文件头SCN与控制文件记录的SCN一致性[^2]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值