oracle 11g rac ORA-01105: mount is incompatible with mounts by other instances

本文记录了一次Oracle数据库启动过程中遇到的问题及解决过程。详细介绍了因路径转换参数配置不一致导致的ORA-01105错误,并展示了如何通过检查和修改参数文件来解决问题。
[oracle@node1 ~]$ export ORACLE_SID=shark1
[oracle@node1 ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on Fri Aug 23 09:27:20 2013

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

Connected to an idle instance.

SQL> startup
ORACLE instance started.

Total System Global Area 1.3495E+10 bytes
Fixed Size                  2218032 bytes
Variable Size            6912214992 bytes
Database Buffers         6509559808 bytes
Redo Buffers               71471104 bytes
ORA-01105: mount is incompatible with mounts by other instances
ORA-01677: standby file name convert parameters differ from other instance

狗屎居然做DG修改的路径转换参数都空了 
SQL> show parameter db_file

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_file_multiblock_read_count        integer     128
db_file_name_convert                 string
db_files                             integer     200
SQL> shutdown immediate;
ORA-01507: database not mounted


ORACLE instance shut down.
SQL> host
去看DBS下的PFILE
[oracle@node1 ~]$ cd /u01/app/oracle/product/11.2.0/db_1/dbs/
[oracle@node1 dbs]$ ls
hc_DBUA0.dat  hc_posdb1.dat  init.ora  initposdb1.ora  orapwposdb1  snapcf_posdb1.f
[oracle@node1 dbs]$ cat initshark1.ora 
*.audit_file_dest='/u01/app/oracle/admin/posdb/adump'
*.audit_trail='db'

去节点2看看
 [oracle@node1 dbs]$ ll
total 21056
-rw-rw---- 1 oracle oinstall     1544 Jul 30 12:37 hc_DBUA0.dat
-rw-rw---- 1 oracle asmadmin     1544 Jul 30 12:47 hc_shark2.dat
-rw-r--r-- 1 oracle oinstall     2851 May 15  2009 init.ora
-rw-r----- 1 oracle oinstall     1697 Aug 16 11:01 initshark2.ora
-rw-r----- 1 oracle oinstall     1536 Aug  8 12:25 orapwshark2
-rw-r----- 1 oracle asmadmin 21512192 Aug 21 14:35 snapcf_shark2.f

[oracle@node2 dbs]$ cat initshark2.ora 
SPFILE='+DATA/posdb/spfileshark.ora'


好吧 把内容考下 修改节点1的内容
[oracle@node1 dbs]$ mv initposdb1.ora  initposdb1_over.ora
[oracle@node1 dbs]$ vi initposdb1.ora
SPFILE='+DATA/posdb/spfileposdb.ora'

"initposdb1.ora" [New] 1L, 37C written
[oracle@node1 dbs]$ ll
total 21060
-rw-rw---- 1 oracle oinstall     1544 Jul 30 12:37 hc_DBUA0.dat
-rw-rw---- 1 oracle asmadmin     1544 Jul 30 12:47 hc_posdb1.dat
-rw-r--r-- 1 oracle oinstall     2851 May 15  2009 init.ora
-rw-r--r-- 1 oracle oinstall       37 Aug 23 09:56 initposdb1.ora
-rw-r----- 1 oracle oinstall     1697 Aug 16 11:01 initposdb1_over.ora
-rw-r----- 1 oracle oinstall     1536 Aug  8 12:25 orapwposdb1
-rw-r----- 1 oracle asmadmin 21512192 Aug 21 14:35 snapcf_posdb1.f
[oracle@node1 dbs]$ exit
exit

SQL> startup
ORACLE instance started.

Total System Global Area 1.3495E+10 bytes
Fixed Size                  2218032 bytes
Variable Size            6979323856 bytes
Database Buffers         6442450944 bytes
Redo Buffers               71471104 bytes
Database mounted.
Database opened.
SQL> show parameter spfile

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
spfile                               string      +DATA/posdb/spfileposdb.ora
SQL> show parameter db_file

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_file_multiblock_read_count        integer     128
db_file_name_convert                 string      +data/asm/datafile, +data/posd
                                                 b/datafile, +data/asm/tempfile
                                                 , +data/posdb/tempfile
db_files                             integer     200
SQL>

<think>嗯,用户遇到了Oracle11gRAC环境中的ORA-01565错误,这个错误通常和spfile文件访问有关。从引用内容看,用户已经收集了一些相关案例,包括权限问题、ASM磁盘组挂载问题等。用户的核心诉求是定位文件识别问题并找到解决方案。用户提供的引用信息很有价值:[^1]和[^2]都提到spfile路径识别失败,[^3]则指出可能是二进制文件权限问题。特别注意到引用[3]提到"bin/oracle权限引起",这提示我需要检查GRID和RDBMS的安装权限。考虑到RAC环境的复杂性,需要从多个维度排查:首先确认ASM磁盘组状态,因为+DATA开头的路径属于ASM存储;其次检查集群资源注册情况,spfile位置应该与srvctl配置一致;最后是操作系统层面的权限检查,包括文件权限和SELinux等安全设置。用户没有提到具体操作步骤,所以我会给出完整的诊断流程。特别要注意的是RAC环境下需要同时检查所有节点,因为某个节点的配置错误就可能导致整个集群启动失败。ORA-12547报错通常意味着进程通信中断,往往伴随权限问题。解决方案部分将按优先级排序:最简单的权限修复放在前面,复杂的存储恢复放在后面。引用[3]提供的chmod6751方案需要谨慎操作,必须确认两个属主是否正确。另外补充了环境变量和参数文件备份的建议,这是很多文档容易忽略的实用技巧。</think>以下是针对 Oracle 11g RAC 环境中 ORA-01565 错误的完整解决方案,结合错误本质和引用案例逐步排查: --- ### **错误原因分析** ORA-01565 表明数据库无法识别或访问 `spfile` 文件,通常由以下原因引起: 1. **文件路径错误**:`spfile` 路径在参数文件或 ASM 中配置不正确 2. **权限问题**:Oracle 用户无权访问 ASM 磁盘组或 OS 文件(如引用[2][3]所述) 3. **ASM 状态异常**:磁盘组未挂载或存储路径失效(引用[1][2]中的 `ORA-17503`) 4. **集群注册不一致**:RAC 资源未正确注册 `spfile` 位置 --- ### **逐步解决方案** #### **步骤 1:检查 ASM 磁盘组状态** ```sql -- 以 grid 用户登录 ASM 实例 sqlplus / as sysasm SELECT name, state FROM v$asm_diskgroup; ``` - **预期结果**:`+DATA` 状态应为 `MOUNTED` - **异常处理**: - 若状态为 `DISMOUNTED`,挂载磁盘组: ```sql ALTER DISKGROUP DATA MOUNT; ``` - 若报错 `ORA-15032`,检查 ASM 磁盘权限(参考引用[3]) #### **步骤 2:验证 spfile 物理存在** ```bash # 确认 ASM 中文件是否存在 asmcmd ls "+DATA/rac11g/spfilerac11g.ora" ``` - **若文件不存在**: - 从备份恢复 `spfile`,或使用 `pfile` 启动: ```bash sqlplus / as sysdba STARTUP PFILE='/u01/app/oracle/product/11.2.0/dbhome_1/dbs/init<sid>.ora'; ``` #### **步骤 3:检查集群资源注册** ```bash # 以 root 用户执行 crsctl stat res -t -w "TYPE = ora.database.type" # 查看数据库资源配置 srvctl config database -d <db_name> # 检查 spfile 路径配置 ``` - **修正错误路径**(如引用[2]案例): ```bash srvctl modify database -d <db_name> -p '+DATA/rac11g/spfilerac11g.ora' ``` #### **步骤 4:修复权限问题(关键步骤)** 1. **检查文件权限**: ```bash ls -l $ORACLE_HOME/bin/oracle # 确认权限为 -rwsr-s--x (6751) ``` 2. **按引用[3]修复权限**: ```bash # 以 root 用户执行 chown grid:oinstall $ORACLE_HOME/bin/oracle chmod 6751 $ORACLE_HOME/bin/oracle ``` 3. **检查 ASM 文件权限**: ```bash asmcmd ls -l "+DATA/rac11g/spfilerac11g.ora" ``` - 确保权限为 `-rw-r-----` 且属主为 `oracle:dba` #### **步骤 5:重启集群服务** ```bash # 以 root 用户执行 crsctl stop cluster -all # 停止整个集群 crsctl start cluster -all # 重新启动集群 srvctl start instance -d <db_name> -i <instance_name> # 启动数据库实例 ``` --- ### **预防措施** 1. **定期验证配置**: ```bash srvctl config database -d <db_name> > /backup/db_config_$(date +%F).txt ``` 2. **备份关键文件**: ```bash asmcmd cp '+DATA/rac11g/spfilerac11g.ora' '/backup/spfile_$(date +%F).ora' ``` 3. **使用 RMAN 自动备份 spfile**: ```sql CONFIGURE CONTROLFILE AUTOBACKUP ON; ``` > **重要提示**:操作前备份 ASM 和数据库文件!若问题仍存在,检查 `alert_<sid>.log` 和 `crsd.log` 中的 ORA-12547 等关联错误(如引用[2][3])。 --- ### 相关问题 1. **如何诊断 Oracle RAC 中的 ORA-17503 存储访问错误?** 2. **Oracle 11g RAC 环境下如何安全迁移 spfile 到新 ASM 磁盘组?** 3. **集群资源管理器(CRS)注册信息不一致会导致哪些典型故障?** [^1]: ORA-01565 错误案例分析与 ASM 文件访问失败 [^2]: RAC 环境权限变更引发的启动故障 [^3]: 二进制文件权限修复解决 ORA-12547
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值