关于ora-01102错误的解决办法小结

author author     2022-09-04     413

关键词:

测试环境中oracle数据库这台服务器不知因何原因异常关机了。重新开机之后尝试恢复相关应用发现启动数据库失败。期间翻山越岭走了段曲折小路。先把处理流程梳理一下以便后期遇到此类可以快速解决。

begin

一、数据库

1.机器启动之后登录服务器使用sqlplus / as sysdba 登录数据库发现数据库并没有启动之前把数据库服务添加过开机自启动

技术分享 

2.使用startup命令启动数据库报错了

[email protected]>startup;

ORACLE 例程已经启动。

 

Total System Global Area 2471931904 bytes

Fixed Size    2255752 bytes

Variable Size  671089784 bytes

Database Buffers 1778384896 bytes

Redo Buffers   20201472 bytes

ORA-01102: cannot mount database in EXCLUSIVE mode

3.关掉实例尝试一步步启动启动到mount阶段时还是报同样的错

技术分享 

4.网络上搜索了一下 ORA-01102找到了解决方法

这个错误主要是lk<SID>文件造成的该文件位于ORALCE_HOME下的dbs目录下,

这个lk<SID>的主要作用是说明DATABASE MOUNT上了,不用在MOUNT.DATABASE UNMOUNT 后会删除掉,如果DATABASE确实没有MOUNT,这个文件在你也MOUNT,只有手工删除

5.谈到具体解决方法引入另外一个命令/sbin/fuser

/sbin/fuser的主要功能是使用文件或者套接字来表示识别进程。常把它用来查看相关进程和杀死相关进程。此处用来清除lk<SID>文件

/sbin/fuser -u /u01/app/oracle/product/11.2.0/db_1/dbs/lkHSDB 查询占用该临时文件的进程pidusername

技术分享 

/sbin/fuser -k /u01/app/oracle/product/11.2.0/db_1/dbs/lkHSDB 直接kill相关pid释放文件lk<SID>文件

技术分享 

/sbin/fuser -u /u01/app/oracle/product/11.2.0/db_1/dbs/lkHSDB 再次查看发现已经没有那些进程了

技术分享

6.再次启动数据库一切ok

技术分享 


本文出自 “清淼淡写” 博客,请务必保留此出处http://qingmiao.blog.51cto.com/7286083/1935126

ora01102

...p; 因为数据库已经做了一次shutdown,在startup时出现ora-01102依然提示排他模式。那么很容易想到的就是此时数据库的共享内存没有被真正释放。 The"lk<sid>"and"sgadef<sid>.dbf"filesareusedforlockingsharedmemory.Itseemsthateve 查看详情

ora-01102:cannotmountdatabaseinexclusivemode

ORA-01102:cannotmountdatabaseinEXCLUSIVEmode安装完ORACEL10g数据库后,启动数据库时遇到ORA-01102:cannotmountdatabaseinEXCLUSIVEmode[[email protected]~]$sqlplus/assysdba SQL*Plus:Release10.2.0.1.0-Productionon 查看详情

ora-01102:cannotmountdatabaseinexclusive处理方法

今天启动rac数据库一个节点时报错了!SQL>startupmountORACLEinstancestarted.TotalSystemGlobalArea608174080bytesFixedSize1220844bytesVariableSize176164628bytesDatabaseBuffers427819008bytesRedoBuffers2969600bytesORA-01 查看详情

关于qt报qdomdocument:nosuchfileordirectory错误解决办法

肯定是没有找到相关的路径,这时候只需要在.pro文件中加入便好了,比如我要用到读写xml的一些头文件,则需要在.pro中加入如下代码:就可以正常引用了。  查看详情

java程序设计以及实验指导实验笔记(代码片段)

...笔记第一章Java语言概述一、实验操作二、遇到的问题及解决方法三、小结第二章Java编程基础一、实验操作二、遇到的问题及解决方法三、小结第三章类与对象一、实验操作二、遇到的问题及解决方法三、小结第四章继承与多态... 查看详情

关于visualstudio2013编译multi-bytecharactersetmfc程序出现msb8031错误的解决办法

VisualStudio2013编译旧的 multi-bytecharacterset MFC出现Error1errorMSB8031:UseofMBCSencodinginMFCprojectsrequireanadditionallibrarytobedownloadedandinstalled.Pleaseseehttp://go.microsoft.com/fwlink/?LinkId&# 查看详情

关于“unknownorunsupportedcommand'install'”问题解决的小结

问题:  在python学习过程中,使用pip命令提示:Unknownorunsupportedcommand‘install‘  原因:   使用where命令查找下pip的安装位置,发现Loadrunner里面也有pip,系统不知道该识别哪个pip  解决方法: &nbs... 查看详情

关于“unknownorunsupportedcommand'install'”问题解决的小结

经常需要在COMMAND命令中安装第三方库,有时会碰到“Unknownorunsupportedcommand‘install‘”这种报错。刚开始时,以为是环境变量里面没有配置:PYTHON的路径,或者PYTHONSCRIPTS的路径。在PATH中添加C:Python27,不管用。后来,重新配置了... 查看详情

关于c#联接数据库是出现'未在本地计算机上注册'错误的解决办法

今天在用c#连接access数据库处理数据的时候遇到了一个诡异的问题,未在本地计算机上注册“Microsoft.ACE.OLEDB.12.0”提供程序我们的部分代码如下:stringconstr="Provider=Microsoft.ACE.OLEDB.12.0;DataSource=";stringstr=System.Environment.CurrentDirectory;st... 查看详情

ef关于报错selfreferencingloopdetectedwithtype的原因以及解决办法

1)具体报错"Message":"出现错误。","ExceptionMessage":"“ObjectContent`1”类型未能序列化内容类型“application/json;charset=utf-8”的响应正文。","ExceptionType":"System.InvalidOperationException","StackTrace":null,"InnerException": 查看详情

关于无法启动mysql服务”1067进程意外终止”解决办法

启用MySql服务的时候出现“windows无法启动mysql服务(位于本地计算机上。错误1067:进程意外终止)”,看看mysql服务并没有其它的依赖安系啊,于是突然想到进系统日志看看,果然发现很多MySql的很多错误,... 查看详情

关于*[pylint]e1101:module'xxx'hasno'xxx'member*简单而有效的解决办法(代码片段)

关于pylint的*E1101*错误:概念:1%s%rhasno%rmember23Function%rhasno%rmember4Variable%rhasno%rmember5... 描述:  在访问一个对象(变量,函数,....)中不存在的成员时会出现这个错误。?  误报:在当报错的对象是动态创建的,并且确实是... 查看详情

iis7网站发布常见问题及解决方案小结

...、在IIS如何修改.NETFrameWork的版本 4、发布mvc遇到的HTTP错误403.14-Forbidden解决办法web.config增加<modulesrunAllManagedModulesFor 查看详情

关于502badgateway报错的解决办法

  查看详情

git使用小结整理(代码片段)

1.Git上传项目提示Pushrejected:Pushtoorigin/masterwasrejected解决办法首先是你的项目中有和和历史不符的东西Pushrejected:Pushtoorigin/masterwasrejected推拒绝:推送到起源/主人被拒绝直接是解决办法,直接打开你要上传代码的文件夹位置鼠标右... 查看详情

在max10上使用ddr3ip的一个关于dqs/dqsnpin的错误解决办法

   MAX10是IntelFPGA的CPLD中的一个特殊的芯片,因为它内部有CPLD的Flash结构,也有FPGA的Ram结构。具体的可以参考MAX10Handbook文档。   Max10在外部存储器方面不但支持DDR2,还支持DDR3和LPDDR2。不过需要注意的是并不是所有的芯片... 查看详情

关于qt中中文显示的解决办法

关于Qt中中文显示的解决办法在linux平台下,这样显示中文QLabel *label = new QLabel;QTextCodec *codec = QTextCodec::codecForName("UTF-8");label->setText(codec->toUnicode("<center>& 查看详情

关于httpservletrequest报红叉的解决办法

今天导入项目的时候,发现报错了,如题。然后找到了解决办法解决方法:鼠标右击项目工程——》BuildPath——》点击comfigureBuildPath进入----->选择javaBulidPath------>在左边点击Libraries--------->选择AddLibrar  在AddLibrary中... 查看详情