ITPub博客

首页 > Linux操作系统 > Linux操作系统 > lk<sid>的探究

lk<sid>的探究

原创 Linux操作系统 作者:anycall2010 时间:2008-08-24 11:07:21 0 删除 编辑
 
一、出现的现象:
 
SQL> conn /as sysdba
Connected to an idle instance.
SQL> startup
ORACLE instance started.
Total System Global Area  276824064 bytes
Fixed Size                   778736 bytes
Variable Size             137371152 bytes
Database Buffers          138412032 bytes
Redo Buffers                 262144 bytes
ORA-01102: cannot mount database in EXCLUSIVE mode
 
二、解决的方法:
解决方法一:重启机器,能够解决(注意,需要察看环境变量中SID和自己创建数据库的SID是否一致)
解决方法二:位于ORALCE_HOME下的dbs目录下,发现是lk文件造成的。
                          使用 fuser -k lk 就解决。
 
三、产生原因分析:
由于我在创建数据库的时候,环境变量中的设置的SID和我实际创建数据库的SID不一致,所以造成了数据库误认为,我同时运行两个实例。lk实际就是防止两个实例同时并发运行。
 
四、解决此类错误的流程:
 
 当发生1102错误时,可以按照以下流程检查、排错:
1.如果是HA系统,检查其他节点是否已经启动实例;
2.检查Oracle进程是否存在,如果存在则杀掉进程;
3.检查信号量是否存在,如果存在,则清除信号量;
4.检查共享内存段是否存在,如果存在,则清除共享内存段;
5.检查锁内存文件lk和sgadef.dbf是否存在,如果存在,则删除。
 

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/8334342/viewspace-433150/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-06-24

  • 博文量
    182
  • 访问量
    610305