ORA-01102的解决办法

ORA-01102的解决办法

启动数据库时报错了!

SQL> startup mount        

ORACLE instance started.

 

Total System Global Area  608174080 bytes

Fixed Size                 1220844 bytes

Variable Size            176164628 bytes

Database Buffers      427819008 bytes

Redo Buffers             2969600 bytes

ORA-01102: cannot mount database in EXCLUSIVE mode

 

解决办法:

1、重启系统,有坑能是第一次起库,而11g自动管理sga和pga的机制没有调节好导致的。reboot就可以了

2、重启解决不了,按照以下的操作进行。

 

分析原因:

一、在HA系统中,已经有其他节点启动了实例,将双机共享的资源(如磁盘阵列上的裸设备)占用了;

 

二、说明Oracle被异常关闭时,有资源没有被释放,一般有以下几种可能,

1、 Oracle的共享内存段或信号量没有被释放;

2、 Oracle的后台进程(如SMON、PMON、DBWn等)没有被关闭;

3、 用于锁内存的文件lk<sid>和sgadef<sid>.dbf文件没有被删除。

 

解决思路:

当发生1102错误时,可以按照以下流程检查、排错:

如果是HA系统,检查其他节点是否已经启动实例检查Oracle进程是否存在,如果存在则杀掉进程检查信号量是否存在,如果存在,则清除信号量检查共享内存段是否存在,如果存在,则清除共享内存段检查锁内存文件lk<sid>和sgadef<sid>.dbf是否存在,如果存在,则删除。

 

具体做法:

首先,虽然我们的系统是HA系统,但是备节点的实例始终处在关闭状态,这点通过在备节点上查数据库状态可以证实。

其次、是因系统掉电引起数据库宕机的,系统在接电后被重启,因此我们排除了第二种可能种的1、2点。最可疑的就是第3点了。

查$ORACLE_HOME/dbs目录:

$ cd $ORACLE_HOME/dbs

$ ls sgadef*

sgadef* not found

$ ls lk*

/opt/oracle/product/ 10.2.0/db_1/dbs/lkSIMPLY

lkSIMPLY

果然,lk<sid>文件没有被删除。将它删除掉

$ rm lk*

 

再次启动时又遇到下面的错误,不过别担心,继续后面的操作就搞定

SQL> startup mount

ORACLE instance started.

 

Total System Global Area  608174080 bytes

Fixed Size    1220844 bytes

Variable Size     176164628 bytes

Database Buffers      427819008 bytes

Redo Buffers    2969600 bytes

ORA-00205: error in identifying control file, check alert log for more info   : (

 

查看共享内存段

[root@simply bdump]# ipcs -map

 

—— Shared Memory Creator/Last-op ——–

shmid   owner  cpid    lpid

786444  root    6490   6438

819213  root    6549   6438

1409040 oracle   31502  16728

根据ID号清楚共享内存段

ipcrm –m 1409040

我这里操作是没有成功的,不过执行了下面的操作就ok了!

 

查看信号量

[root@simply bdump]# ipcs -s

 

key       semid      owner   perms    nsems

0x17ff6454 360448     oracle    640     154

 

清除oracle的信号量

[root@simply bdump]# ipcrm -s 360448

 

再次查询确认

[root@simply bdump]# ipcs -s

 

—— Semaphore Arrays ——–

key  semid  owner  perms   nsems

 

再查询共享内存段也ok了!

[root@simply bdump]# ipcs -m

 

如果是Oracle进程没有关闭,

$kill -9 <PID>

转载于:https://www.cnblogs.com/kaishirenshi/p/9013791.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/101672.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • ASSERT_VALID和ASSERT宏分析[通俗易懂]

    ASSERT_VALID和ASSERT宏分析[通俗易懂]这个宏都是MFC的调试宏. ASSERT_VALID宏用来在运行时检查一个对象的内部合法性,比如说现在有一个学生对象,我们知道每个学生的年龄一定大于零,若年龄小于零,则该学生对象肯定有问题。事实上,ASSERT_VALID宏就是转化为对象的成员函数Asser

    2022年9月6日
    3
  • Openstack组件部署 — Keystone Install &amp; Create service entity and API endpoints

    Openstack组件部署 — Keystone Install &amp; Create service entity and API endpoints

    2021年9月15日
    45
  • mysql 1146错误[通俗易懂]

    mysql 1146错误[通俗易懂]问题:将A服务器下的Mysqldata备份数据复制到B服务器下的Mysqldata,打开表示报错:1146错误解决方案:1:复制A服务器下的Mysqldata下的ibdata1这个文件。2:将B服务器下的Mysql停止。3:将B服务器的ibdata1这个文件进行覆盖。4:重启Mysql。

    2022年6月10日
    53
  • 如何找回被盗的微信号(百分百成功)[通俗易懂]

    如何找回被盗的微信号(百分百成功)[通俗易懂]见到这篇文章的小伙伴,可能是被领皮肤、送福利等诱导活动被走微信号,这帮不法分子把骗取你们的微信号,以300-1000不等价格卖给黑色产业链,如果不法分子利用你的微信号去做违法的事情,警察也会查到你,因为你的微信号是实名认证了的。如果你的微信号有钱财也会被盗刷走。(请大家保护好自己微信号,不要轻易把微信帐号+密码+手机等给别人)记住:只要是你的实名微信号,就一定可以找回来,现在小编就教大家如何找回第一步:骗子要求你卸载客户端申诉方法第二步:没有卸载微信客户端申诉方法第一步:这是卸载过微信客户端申诉

    2022年5月15日
    193
  • Java3大框架学习,今年最受欢迎的后端框架

    Java3大框架学习,今年最受欢迎的后端框架作为20多年来最流行的编程语言,Java拥有一整套后端框架,但它们的可靠性和多功能性差异很大。当今最流行的Java后端框架是:SpringFramework Struts HibernateJava后端框架的比较:框架 优势 弱点 SpringFramework 1.许多现成的组件对Web应用程序有帮助2.DI和IoC创建灵活的配置3.易于暴露RESTful服务 1.许多依赖2.丰富的选择可能导致混乱3.学习曲线,因为它可以做很多..

    2022年5月12日
    42
  • 当温度升高时二极管的反向饱和电流_二极管的反向饱和电流在20度时是

    当温度升高时二极管的反向饱和电流_二极管的反向饱和电流在20度时是三极管参数:型号8050;电流放大倍数β\betaβ=311。如下的电路。施加工作电压5V,电路中静态工作点电压如下图所示。使用TH2821ALCR表,去掉电阻R3R_3R3​之后,测量电路在加电之后的输入电阻:RiR_iRi​=3090Ω\OmegaΩ。…

    2022年9月10日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号