ORA-01105: mount is incompatible with mounts by other instances。

2024-01-08 21:04

本文主要是介绍ORA-01105: mount is incompatible with mounts by other instances。,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

问题描述

同事反馈在进行扩展表空间时增加数据文件报错ORA-00059: 超出 DB_FILES 的最大值,查询发现现场是RAC环境,DB_FILES参数为200,而当前数据文件总数已是200个引发的报错。随即沟通了停库窗口,进行了db_files参数的更改,启库提示报错:ORA-01105: mount is incompatible with mounts by other instances。

更改参数步骤如下:

--查数据库默认数据文件数量参数
SQL> show parameter db_files;NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_files                             integer     200或select * from v$parameter where name like '%db_files%'--查数据库数据文件数量总数
select count(*) from dba_data_files ;
200总数已经是200了--更改参数前 备份当前的参数文件(备份的目的是规避重启失败,建议更改任何参数前都先备份参数文件)
SQL> create pfile='/home/oracle/pfileywrac20240108.ora' from spfile;--查看备份的参数文件
[oracle@gsdb ~]#cat /home/oracle/pfileywrac20240108.ora--更改db_files参数(sid='*'  1个节点执行  2个节点都生效,不用2个节点都执行更改参数语句)
SQL> alter system set db_files=5000 sid='*' scope=spfile ;System altered.--节点1关库
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.--节点1启库
SQL> startup
ORACLE instance started.Total System Global Area 1.6729E+11 bytes
Fixed Size		    2262368 bytes
Variable Size		 3.2212E+10 bytes
Database Buffers	 1.3475E+11 bytes
Redo Buffers		  321286144 bytes
ORA-01105: mount is incompatible with mounts by other instances
ORA-01174: DB_FILES is 5000 buts needs to be 200 to be compatible

问题原因

shutdown immediate是关闭1个节点的操作,第二个节点参数未生效,RAC场景下需要2个节点参数都生效方可启库成功。分别查2个节点的状态

--节点1
SQL> select status from v$instance;STATUS
------------------------------------
STARTED--节点2
SQL> select status from v$instance;STATUS
------------------------------------
open

解决办法

采用srvctl的方式重启库,具体步骤如下:

--在open状态的节点上 备份当前的参数文件(备份的目的是规避重启失败)
SQL> create pfile='/home/oracle/pfileywrac20240108.ora' from spfile;--查看备份的参数文件
[oracle@gsrac2 ~]#cat /home/oracle/pfileywrac20240108.ora--修改参数
SQL> alter system set db_files=5000 sid='*' scope=spfile ;  #1个节点执行,所有实例生效--重启数据库  法一(建议)
su - grid
crsctl stat res -t   #查集群状态
srvctl stop database -d racdb   #1个节点操作,两个节点的数据库实例都会关闭
srvctl start database -d racdb   #1个节点操作,两个节点的数据库实例都会启动
srvctl status database -d racdb  #查看集群数据库状态
crsctl stat res -t   #查集群状态sid='*'是指在所有实例上生效--重启数据库  法二
su - oracle
SQL> shutdown immediate  #节点1和节点2分别执行
SQL> startup  #节点1和节点2分别执行
法二场景必须按顺序操作,不然提示如下报错:
ORA-01105: mount is incompatible with mounts by other instances
ORA-01174: DB_FILES is 5000 buts needs to be 200 to be compatible

注意事项

1、更改参数前先备份参数文件,为规避万一启库失败好回退。

2、集群中shutdown immediate 是关闭1个实例,其他实例依然是open状态

总结

作为专业人员是不该出现这低级错误的,果真是基础不牢,地动山摇。还得多巩固多实验写文档,按规范的步骤操作,毕竟现在需要掌握的库类别多了,记忆力也不如从前了。

这篇关于ORA-01105: mount is incompatible with mounts by other instances。的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/584819

相关文章

ora-01017 ora-02063 database link,oracle11.2g通过dblink连接oracle11.2g

错误图示: 问题解决 All database links, whether public or private, need username/password of the remote/target database. Public db links are accessible by all accounts on the local database, while private

ORA-25150:不允许对区参数执行ALTERING

在用PL/SQL工具修改表存储报错: 百度一下找到原因: 表空间使用本地管理,其中的表不能修改NEXT MAXEXTENTS和PCTINCREASE参数 使用数据自动管理的表空间,其中的表可以修改NEXT MAXEXTENTS和PCTINCREASE参数

ORA-01861:文字与格式字符串不匹配

select t.*, t.rowid from log_jk_dtl t; insert into log_jk_dtl (rq,zy,kssj,jssj,memo)  values (to_date(sysdate,'yyyy-mm-dd'),'插入供应商', to_char(sysdate,'hh24:mi:ss'),to_char(sysdate,'hh24:mi:ss'),'备注'

利用PL/SQL工具连接Oracle数据库的时候,报错:ORA-12638: 身份证明检索失败的解决办法

找到相对应的安装目录:比如:E:\oracle\product\10.2.0\client_1\NETWORK\ADMIN 在里面找到:SQLNET.AUTHENTICATION_SERVICES= (NTS) 将其更改为:SQLNET.AUTHENTICATION_SERVICES= (BEQ,NONE) 或者注释掉:#SQLNET.AUTHENTICATION_SERVICES= (N

ORA-00600 [1880]

-----环境信息 [oracle@trsen02 bdump]$ uname -a Linux trsen02.yto.com 2.6.18-194.el5 #1 SMP Tue Mar 16 21:52:39 EDT 2010 x86_64 x86_64 x86_64 GNU/Linux SQL> select * from v$version; BANNER ----

ORA-31626/ORA-31638/ORA-39077/ORA-6502

导数据遇到ORA-31626/ORA-31638/ORA-39077/ORA-6502 报错信息如下: [oracle@vm010148 ~]$ expdp system/oracle directory=dir dumpfile=full.dmp logfile=full.log Export: Release 11.2.0.3.0 - Production on Sun Sep

ORA-00600 [504]

ALERT日志: Wed Sep 10 09:00:53 2014 Errors in file /u01/app/oracle/diag/rdbms/trsendb/trsendb2/trace/trsendb2_ora_40371414.trc  (incident=821340): ORA-00600: internal error code, arguments: [504],

【oracle sql错误】ORA-01795: 列表中的最大表达式数为 1000

select SOURCE_ID,FILTER_TEXT from TEXT_CENTER where SOURCE_ID in() in后面的括号里的数目超过1000条。 问题描述: SQL进行IN查询时,IN中的数据量不能超过1000条。 解决办法: 拆分:id in (1,2,3,4,5,,,,999) or id in(1000,1001,1002,1003,1004,,,,,,

linux mount,umount,remount

mount -t yaffs2 /dev/mtdblock7 /data #挂载为读写 mount -o rw -t yaffs2 /dev/mtdblock7 /data #挂载为只读 mount -o ro -t yaffs2 /dev/mtdblock7 /data #重新挂载 -o rw(读写), -o ro(只读) mount -o rw,remount /data。 mount

Oracl查询报错:ORA-29275: 部分多字节字符

报错描述 --使用oracl的sql查询时候,此sql无误:SELECT DISTINCT MS_BRDA.MZHM as patientId,MS_BRDA.BRXM as name,CASEWHEN MS_BRDA.BRXB = 1 THEN '男'WHEN MS_BRDA.BRXB = 2 THEN '女'ELSE '未知'END