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

测试环境中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 查询占用该临时文件的进程pid和username

/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

时间: 2024-10-12 07:58:06

关于ORA-01102错误的解决办法小结的相关文章

Oracle的常见错误及解决办法

ORA-12528: TNS:listener: all appropriate instances are blocking new connections ORA-12528问题是因为监听中的服务使用了动态服务,实例虽然启动,但没有注册到监听.实例是通过PMON进程注册到监听上的,而PMON进程需要在MOUNT状态下才会启动.所以造成了上面的错误. 解决这个问题,有三种方法:1.把监听设置为静态:2.在tnsnames.ora中追加(UR=A):3.重新启动服务: 方法1.通过修改liste

关于导入新项目的问题——项目文件有错,但是子文件没任何错误的解决办法

在我们学习和工作的时候,有时候将别人的 Project 导入到自己的开发工具时,总是会有莫名其妙的奇葩错误, 就是明明项目里面的代码和类都没错,但是项目文件夹上有一个红色的叉叉,今天我就给大家来说说关于这类错 误的解决办法,我就故意导致项目报这个异常,一步一步演示给大伙看,希望大家在以后遇到这类问题可以迎刃 而解 错误示例图: 我们可以看到上面截图,除了项目文件,其他都没任何错误,可是在console没有异常告诉我们,我们该怎么解 决呢?其实很简单,下面看我演示: 打开红色方框这个选项,里面就是

GDI+中发生一般性错误的解决办法(转载)

今天在开发.net引用程序中,需要System.Drawing.Image.Save 创建图片,debug的时候程序一切正常,可是发布到IIS后缺提示出现"GDI+中发生一般性错误"的异常.于是开始"摆渡",并寻找到了解决办法:赋予 NETWORK SERVICE 帐户以写权限. 以下为晚上寻找到的资料: 在开发.NET应用中,使用 System.Drawing.Image.Save 方法而导致"GDI+ 中发生一般性错误"的发生,通常有以下三种

SQL SERVER 报:由于数据移动,未能继续以 NOLOCK 方式扫描错误的解决办法。

比如在某个表中使用 select xxx from xxx with(nolock) where xxxx 查询. 提示出错:由于数据移动,未能继续以 NOLOCK 方式扫描. 它有可能某些条件出错,某些条件不出错. 原因是有可能该表在物理文件存储中某一块数据损坏了.或者该表中的索引和表的数据不一致了. 解决办法-如果是整个库出错可以使用: 1.快速修复DBCC CHECKDB ('数据库名', REPAIR_FAST)     2.重建索引并修复DBCC CHECKDB ('数据库名', RE

YUM安装提示PYCURL ERROR 6 - "Couldn&#39;t错误的解决办法

当编译PHP时出现如下错误时,找不到头绪 这时,打开DNS   vim /etc/resolv.conf   添加一行nameserver 192.168.1.1 完成上一步,则解决该问题 YUM安装提示PYCURL ERROR 6 - "Couldn't错误的解决办法

GCC编译uboot出现(.ARM.exidx+0x0): undefined reference to `__aeabi_unwind_cpp_pr0&#39;错误的解决办法

/opt/arm-2010.09/bin/../lib/gcc/arm-none-linux-gnueabi/4.5.1/armv4t/libgcc.a(_bswapsi2.o):(.ARM.exidx+0x0): undefined reference to `__aeabi_unwind_cpp_pr0' make: *** [u-boot] Error 1 一旦编译uboot出现上述错误,请不要慌张!解决办法官网已经给出,主要解决办法如下: vim 打开./lib_arm/eabi_com

STM8S编译时内存溢出错误的解决办法

? 导致COSMIC报告"segment .ubsct overflow"错误的根本原因是内存溢出, 相关原因分析如下: ? 1.变量存储空间结构 ? STM8S105系列CPU的RAM地址范围为0~0x7FF的2K空间,其中默认将高512字节分配给堆栈,剩下0~0x5FF字节为变量存储空间 .在0~0x5FF的空间范围内,低256字节被定义为Zero page,其中包括.bsct,.ubsct,.bit,.share ? 可见, 当segment .ubsct overflow错误出

WCF中的错误及解决办法

一 .    HTTP 无法注册 URL http://+:8000/Users/.进程不具有此命名空间的访问权限今天按照网上的例子开始学习WCF程序,运行的时候却发现出如下问题:HTTP 无法注册 URL http://+:8000/Users/.进程不具有此命名空间的访问权限. 遇到这种问题,先不要慌,看一下错误内容:进程不具备此命名空间的访问权限,说明是访问权限的问题,所以我试着以管理员的身份重新打开了VS,结果就没报这个错 WCF中的错误及解决办法,布布扣,bubuko.com

Eclipse 报 &quot;The builder launch configuration could not be found&quot; 错误的解决办法

Eclipse 忽然报 "The builder launch configuration could not be found" 错误:        解决办法如下:        1. Package Explorer 视图下选中项目名        2. Eclipse 工具栏中选择 Project -> Properties        3. 弹出的 Properties 对话框中,点击 Builders  4. 将缺失的 builder 移除掉 -> 点击 OK