安装完数据库启动的时候报错ORA-01102: cannot mount database in EXCLUSIVE mode
这是个常见的错误。下面这个case讲述了如何fix. 一、提出问题 实际过程中有时我们会遇到这样的问题,当你用startup试图启动数据库时会遇到ORA-01102的报错。 我们可以在Unix下切换到Oracle的用户,执行一下oerr ora 1102便会看到有关1102的简短的描述, 如下: $oerr ora 1102 01102, 00000, "cannot mount database in EXCLUSIVE mode" // *Cause: Some other instance has the database mounted exclusive or shared. // *Action: Shutdown other instance or mount in a compatible mode 看了这个1102的简短的解释你一定有些迷惑,因为它有一些的误导性。如下我便来分析一下问题产生的原因,并给出解决的办法。 二、分析原因 当你启动数据库遇到1102报错时,之前的数据库的down操作一般都不是正常完成的,或由于一些异常使Oracle在操作系统中残留一些内存结构,Pmon等一几个进程依然存在等原因使Oracle误认 为Instance依然在运行着,所以库就没有启动,具体说来大体原因有如下几个: 1、pmon、smon、lwgw及dbwr这些后台进程依然存在着 2、Oracle开辟的共享内存没有释放掉 3、"lk<sid>" and "sgadef<sid>.dbf"这两个用于锁内存的文件存在着。 三、解决问题 知道了原因,解决起来就简单多了,办法如下: 1、看一下"lk<sid>" and "sgadef<sid>.dbf"这两个文件是不是存在着,如果存在将其删掉。 oracle$cd $ORACLE_HOME/dbs oracle$ls -l sgadef<sid>.dbf 如果存在删掉它 oracle$rm sgadef<sid>.dbf oracle$ls -l lk<sid> 如果存在删掉它 oracle$rm lk<sid> 2、看是不是有后台进程存在了 oracle$ps -ef | grep ora_ | grep $ORACLE_SID 如果有pmon这些后台进程的残留,kill -9掉它 oracle$kill -9 pid 3、看一下oracle的共享内存段及信号集(semaphores)是不是还存在着 1)清共享内存段 oracle$ipcs -m --显示一下,看owner是Oracle用户的 oracle$ipcrm -m <Shared_Memory_ID> 2)清信号集 oracle$ipcs -s --显示一下,看owner是Oracle用户的 oracle$ipcrm -s <Semaphore_ID>
ORA-01102 报错解决方法 SQL> startup ORACLE instance started. Total System Global Area 599785472 bytes Fixed Size 2022600 bytes Variable Size 171967288 bytes Database Buffers 419430400 bytes Redo Buffers 6365184 bytes ORA-01102: cannot mount database in EXCLUSIVE mode 这个错误主要是lk<SID>文件造成的,该文件位于ORALCE_HOME下的dbs目录下, 这个lk<SID>的主要作用是说明DATABASE MOUNT上了,不用在MOUNT了.DATABASE UNMOUNT 后会删除掉,如果DATABASE确实没有MOUNT,这个文件在你也MOUNT上,只有手工删除,所以一定要小心. 具体解决ORA-01102问题的步骤: # /sbin/fuser -u lkTEST lkTEST: 4918(oracle) 20726(oracle) 20728(oracle) 20730(oracle) 20732(oracle) 20734(oracle) 20736(oracle) 20738(oracle) 20740(oracle) 20742(oracle) 20744(oracle) 20746(oracle) 20754(oracle) 21781(oracle) 21783(oracle) 该文件没释放,用fuser命令kill掉: # /sbin/fuser -k lkTEST lkTEST: 6666 6668 6670 6672 6674 6676 6678 6680 6690 6692 6694 6696 6737 6830 # /sbin/fuser -u lkTEST 然后: SQL> startup ORACLE instance started. Total System Global Area 599785472 bytes Fixed Size 2022600 bytes Variable Size 171967288 bytes Database Buffers 419430400 bytes Redo Buffers 6365184 bytes Database mounted. Database opened. SQL> 数据库成功OPEN.
相关推荐
### ora-01033: Oracle Initialization or Shutdown in Progress 解决方法 #### 一、问题背景及原因 **标题**: “ora-01033: Oracle initialization or shutdown in progress 解决方法” **描述**: “ora-01033: ...
### 如何处理错误ORA-29275:部分多字节字符 #### 问题背景与描述 在Oracle数据库操作过程中,用户可能会遇到一个特定的错误提示——ORA-29275:部分多字节字符。这一错误通常出现在执行查询`SELECT * FROM V$...
ORA-32001:write to spfile requested but no spfile is in use请求写入spfile,但没有使用spfile的解决方法 在输入以下语句中报了这样的错误: SQL>alter system set control_files=’/u01/app/oracle/oradata/prod/...
ORA-00604: 递归SQL层1出现错误 ORA-03106: 致命的双工通信协议错误 ORA-02063: 紧接着line(源于dblink) 以及 ORA-04052: 在查找远程对象时出错 ORA-00604: 递归SQL层1出现错误 ORA-03120: 双工转换例行程序:整数...
ORA-12154: TNS: 无法解析指定的连接标识符的解决方法
在Oracle数据库管理中,"ORA-00990: 权限缺失或无效"是一个常见的错误代码,它表示用户尝试执行的操作没有足够的权限。这个错误通常发生在试图访问、修改或者管理数据库对象(如表、视图、索引等)时。在本篇文章中...
在Oracle数据库系统中,"ORA-01036:非法的变量名/编号"是一个常见的错误,通常出现在PL/SQL代码或者SQL查询语句中,当你尝试使用一个不正确或者未定义的变量时,Oracle数据库会抛出这个错误。这个错误可能是由于...
#### ORA-00106: Unable to Connect to Instance or Database 无法连接到实例或数据库。这可能是由于网络连接问题、安全策略限制或其他连接问题。 #### ORA-00107: Unable to Connect to Oracle 无法连接到Oracle。...
在Oracle数据库中,"ORA-00904"是一个常见的错误代码,它表示尝试引用一个不存在或无效的标识符。在这个场景下,错误信息提到的是"WM_CONCAT"函数,这表明在Oracle 19c数据库环境中,用户尝试使用WM_CONCAT函数,但...
oracle12c程序连接时异常: ORA-01017: 用户名/口令无效; 登录被拒绝 的解决方案。
在Oracle数据库系统中,"ORA-00060: 等待资源时检测到死锁" 是一个常见的错误提示,它表明两个或多个事务在执行过程中陷入了无法继续进行的状态,因为彼此都在等待对方释放资源。这种情况通常发生在并发操作中,比如...
ORA-00001: 违反唯一约束条件 (.) ORA-00017: 请求会话以设置跟踪事件 ORA-00018: 超出最大会话数 ORA-00019: 超出最大会话许可数 ORA-00020: 超出最大进程数 () ORA-00021: 会话附属于其它某些进程;无法转换...
然而,当你尝试向CLOB字段插入数据时,如果超过了Oracle规定的最大限制,就会遇到“ORA-01704: 文字字符串过长”的错误。这个错误通常意味着你试图插入的字符串超过了Oracle数据库允许的最大长度,对于VARCHAR2类型...
- 在mount状态下,如果遇到类似ORA-01157这样的错误,说明存在数据文件损坏或无法访问的情况。 - 可以通过将损坏的数据文件离线并删除(`alter database datafile 19 offline drop;`)的方式来解决这个问题。需要...
-- 解决ORA-00904: "WMSYS"."WM_CONCAT": 标识符无效 的文件包....... -- 解决ORA-00904: "WMSYS"."WM_CONCAT": 标识符无效 的文件包....... -- 解决ORA-00904: "WMSYS"."WM_CONCAT": 标识符无效 的文件包....... ...
在处理Oracle数据库时,我们经常遇到错误代码ORA-00031,它表明指定的会话已经被标记为终止。这个错误通常与数据库锁定和会话管理有关。本文将详细解析这一问题的解决方案,并提供一系列SQL语句和命令来处理和解决...
oracle报错ora-12541:TNS无监听程序
### Oracle回收站功能详解与彻底删除表方法 #### 一、Oracle回收站功能概述 Oracle数据库自10g版本开始引入了回收站功能...同时,需要注意避免因SQL语句编写不当而导致的ORA-00933错误,以确保操作的顺利进行。
ORA-12518 TNS:监听程序无法分发客户机连接,在您安装好数据库后配置连接数据库的过程中遇到这类问题应该很头疼吧,不过,当您还是四处查资料来解决您遇到的另你头疼的问题时,如果不经意间看到了这则贴子,那请您升...