签到成功

知道了

CNDBA社区CNDBA社区

ORA-01102 cannot mount database in EXCLUSIVE mode报错解决

2018-03-30 15:55 4211 0 原创 ORACLE
作者: Marvinn

ORA-01102报错解决

http://www.cndba.cn/Marvinn/article/2703

刚在10g数据库上创建完数据库,起库报错,出现该问题大多由于dbs目录下出现锁内存的文件

http://www.cndba.cn/Marvinn/article/2703

oracle@single-10g:/home/oracle>sqlplus / as sysdba

SQL*Plus: Release 10.2.0.1.0 - Production on Fri Mar 30 15:12:01 2018

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

Connected to an idle instance.

SQL> 
SQL> startup
ORACLE instance started.

Total System Global Area  520093696 bytes
Fixed Size                  2022016 bytes
Variable Size             150996352 bytes
Database Buffers          364904448 bytes
Redo Buffers                2170880 bytes
ORA-01102: cannot mount database in EXCLUSIVE mode

查了ml,了解到 ORA-1102 错误原因:http://www.cndba.cn/Marvinn/article/2703http://www.cndba.cn/Marvinn/article/2703

http://www.cndba.cn/Marvinn/article/2703

1 在ORACLE_HOME/dbs/存在 “sgadef.dbf” 文件或者lk 文件。这两个文件是用来用于锁内存的。

2 oracle的 pmon, smon, lgwr and dbwr等进程未正常关闭。

3 数据库关闭后,共享内存或者信号量依然被占用。http://www.cndba.cn/Marvinn/article/2703http://www.cndba.cn/Marvinn/article/2703

lk说明DATABASE 已经是MOUNT状态了,不用再次MOUNT.当 DATABASE 被UNMOUNT 后会被自动删除,如果DATABASE没有MOUNT,却依然存在这个问题,只有手工将其删除

http://www.cndba.cn/Marvinn/article/2703

查看告警日志:http://www.cndba.cn/Marvinn/article/2703

sculkget: failed to lock /u01/oracle/12.2.0//dbs/lkMARVIN exclusive
sculkget: lock held by PID: 23367
Fri Mar 30 15:12:04 2018
ORA-09968: unable to lock file
Linux-x86_64 Error: 11: Resource temporarily unavailable
Additional information: 23367
Fri Mar 30 15:12:04 2018
ORA-1102 signalled during: ALTER DATABASE   MOUNT...
Fri Mar 30 15:14:12 2018
Shutting down archive processes
Fri Mar 30 15:14:17 2018
ARCH shutting down
ARC2: Archival stopped
Fri Mar 30 15:14:28 2018
alter database open
Fri Mar 30 15:14:28 2018
ORA-1507 signalled during: alter database open...
Fri Mar 30 15:14:34 2018
alter database mount
Fri Mar 30 15:14:34 2018
sculkget: failed to lock /u01/oracle/12.2.0//dbs/lkMARVIN exclusive
sculkget: lock held by PID: 23367
Fri Mar 30 15:14:34 2018
ORA-09968: unable to lock file
Linux-x86_64 Error: 11: Resource temporarily unavailable
Additional information: 23367
Fri Mar 30 15:14:34 2018
ORA-1102 signalled during: alter database mount...

显示dbs目录下出现lkMARVIN文件,锁住了内存

http://www.cndba.cn/Marvinn/article/2703

使用fuser -u lkMARVIN 查看使用 lkMARVIN 文件的进程和用户。-u 为进程号后圆括号中的本地进程提供登录名
oracle@single-10g:/u01/oracle/12.2.0/dbs>fuser -u lkMARVIN 
lkMARVIN:            23361(oracle) 23363(oracle) 23365(oracle) 23367(oracle) 23369(oracle) 23371(oracle) 23373(oracle) 23375(oracle) 23377(oracle) 23379(oracle) 23381(oracle) 23389(oracle) 23391(oracle) 23395(oracle) 23410(oracle) 23412(oracle)

从上启动可知道,当前并没有Mount状态
使用 fuser -k  lkMARVIN  杀死这些正在访问lkMARVIN的进程   -k 杀死这些正在访问这些文件的进程

oracle@single-10g:/u01/oracle/12.2.0/dbs>fuser -k lkMARVIN      
lkMARVIN:            23361 23363 23365 23367 23369 23371 23373 23375 23377 23379 23381 23389 23391 23395 23410 23412

确认相关进程被终止
oracle@single-10g:/u01/oracle/12.2.0/dbs>fuser -u lkMARVIN   

重新启动数据库

oracle@single-10g:/u01/oracle/admin/marvin/bdump>sqlplus / as sysdba         

SQL*Plus: Release 10.2.0.1.0 - Production on Fri Mar 30 15:51:27 2018

Copyright (c) 1982, 2005, Oracle.  All rights reserved.


Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production
With the Partitioning, OLAP and Data Mining options

SQL>STARTUP FORCE;
或者
SQL> alter database mount;
Database altered.
SQL> alter database open;
Database altered.

版权声明:本文为博主原创文章,未经博主允许不得转载。

用户评论
* 以下用户言论只代表其个人观点,不代表CNDBA社区的观点或立场
Marvinn

Marvinn

关注

路漫漫其修远兮、吾将上下而求索

  • 99
    原创
  • 0
    翻译
  • 2
    转载
  • 36
    评论
  • 访问:458414次
  • 积分:449
  • 等级:中级会员
  • 排名:第12名
精华文章
    最新问题
    查看更多+
    热门文章
      热门用户
      推荐用户
        Copyright © 2016 All Rights Reserved. Powered by CNDBA · 皖ICP备2022006297号-1·

        QQ交流群

        注册联系QQ