问题背景:
客户反馈启动数据库报错:
报错日志如下:
1
2
3
4
5
6
7
8
9
10
|
startup ORACLE instance started. Total System Global Area 599785472 bytes Fixed Size 2022600 bytes Variable Size 171967288 bytes Database Buffers 419430400 bytes Redo Buffers 6365184 bytes ORA-01102: cannot mount database in EXCLUSIVE mode |
问题解决:
这个错误主要是lk文件造成的,该文件位于ORALCE_HOME下的dbs目录下,
这个lk的主要作用是说明DATABASE MOUNT上了,不用在MOUNT了.DATABASE UNMOUNT 后会删除掉,如果DATABASE确实没有MOUNT,这个文件在你也MOUNT上,只有手工删除,所以一定要小心.
具体解决ORA-01102问题的步骤:
1 # fuser -u /u01/app/oracle/product/11.2.0/db_1/dbs/(lk<sid>) 2 3 fuser -u /u01/app/oracle/product/11.2.0/db_1/dbs/lk<sid> 4 /u01/app/oracle/product/11.2.0/db_1/dbs/lkECOLOGY: 6180(oracle) 6186(oracle) 6190(oracle) 6192(oracle) 6196(oracle) 6198(oracle) 6200(oracle) 6202(oracle) 6204(oracle) 6206(oracle) 6208(oracle) 6210(oracle) 6327(oracle) 6342(oracle) 6354(oracle) 6356(oracle) 6403(oracle) 10124(oracle) 10593(oracle) 10595(oracle)
该文件没释放,用fuser命令kill掉:
# fuser -k lk<sid> lk<sid>: 6180 6186 6190 6192 6196 6198 6200 6202 6204 6206 6208 6210 6327 6342 6354 6356 6403 10124 # fuser -u lk<sid> --再次查看
然后重新启动数据库:
SQL> startup ORACLE instance started. Total System Global Area 599785472 bytes Fixed Size 2022600 bytes Variable Size 171967288 bytes Database Buffers 419430400 bytes Redo Buffers 6365184 bytes Database mounted. Database opened. SQL>
数据库成功OPEN.