oracle故障收集

前端之家收集整理的这篇文章主要介绍了oracle故障收集前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。


ORA-01102:cannotmountdatabaseinEXCLUSIVEmode处理方法

报错现象:

数据库报出 ORA-01102 错误,无法 mount

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

一、数据库

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

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

SYS@orcl>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.网络上搜索了一下 ORA-01102找到了解决方法

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

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

4.谈到具体解决方法引入另外一个命令/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 再次查看发现已经没有那些进程了

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






oracle11gr2重启数据库实例报ORA-01081:cannotstartalready-running&nb

重启数据库实例报如下错误

sql> startup

ORA-01081: cannot start already-running ORACLE - shut it down first



sql> shutdown immediate

Database closed.

Database dismounted.

ORACLE instance shut down.


sql> startup

ORACLE instance started.


Total System Global Area 634679296 bytes

Fixed Size 2216024 bytes

Variable Size 260050856 bytes

Database Buffers 364904448 bytes

Redo Buffers 7507968 bytes

Database mounted.

Database opened.

关闭数据库实例后,在重启数据库实例,正常重启了。







本文转载参考:

http://www.linuxidc.com/Linux/2017-06/144748.htm

http://blog.sina.com.cn/s/blog_14e9fed4c0102wqdl.html

猜你在找的Oracle相关文章