ホームページ  >  記事  >  データベース  >  ORA-01102 解决思路

ORA-01102 解决思路

WBOY
WBOYオリジナル
2016-06-07 17:28:241320ブラウズ

ORA-01102 解决思路位于ORALCE_HOME下的dbs目录下,发现是lk文件造成的。

一、出现的现象:

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是否存在,如果存在,则删除。

linux

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。