本文主要介绍如何处理oracle中的ORA-01102错误,具有一定的参考价值。有兴趣的朋友可以参考一下。希望大家看完这篇文章后收获多多。让边肖带你去看看。
在测试环境中,由于未知原因,oracle数据库的服务器异常关闭。重启后,尝试还原相关应用发现启动数据库失败。期间,我走了一条曲折的山路翻山越岭。首先,梳理一下处理流程,这样这类问题以后就可以快速解决。
开始
一.数据库
1.机器启动后,登录服务器并使用sqlplus/as sysdba登录数据库。发现机器启动前还没有添加数据库服务,启动后就启动了。
2.使用startup命令启动数据库时报告了一个错误。
SYS @ orclstartup
ORACLE实例已启动。
总系统全局区域2471931904字节
固定大小2255752字节
可变大小671089784字节
数据库缓冲区1778384896字节
重做缓冲器20201472字节
ORA-01102:无法以独占模式装载数据库
3.关闭实例并尝试逐步启动,但在开始装载阶段时仍会报告相同的错误。
4.我在网络上搜索ORA-01102,找到了解决方案。
这个错误主要是lkSID文件造成的该文件位于ORALCE_HOME下的dbs目录下,
这个lkSID的主要作用是说明DATABASE MOUNT上了,不用在MOUNT了.DATABASE UNMOUNT 后会删除掉,如果DATABASE确实没有MOUNT,这个文件在你也MOUNT上,只有手工删除
5.当涉及到具体的解决方案时,引入另一个命令/sbin/fuser
这里使用/sbin/fuser的主要功能是使用文件或者套接字来表示识别进程。常把它用来查看相关进程和杀死相关进程。来清除lkSID文件。
/sbin/fuser-u/u01/app/Oracle/product/11 . 2 . 0/db _ 1/DBS/lkhsdb查询占用临时文件的进程的pid和用户名。
/sbin/fuser-k/U01/app/Oracle/product/11 . 2 . 0/db _ 1/DBS/lkhsdb直接杀伤相关pid发布文件lkSID文件
/sbin/fuser-u/U01/app/Oracle/product/11 . 2 . 0/db _ 1/DBS/lkhsdb再次查看,发现不再有进程。
6.再次启动数据库,一切正常。
感谢您仔细阅读本文。希望边肖分享的文章《甲骨文中ORA-01102错误怎么办》对大家有所帮助。同时也希望大家多多支持,关注行业信息渠道,多了解!
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/114469.html