今天在做SOA几个数据库的重启操作,其中一个数据库在关闭过程中一直处于HANG住状态,十几分钟没有任何进展,具体操作过程如下:

一:当时的情景

SQL> shutdown immediate

--无任何返回结果

二:问题定位过程

1.查询相关进程只有ORACLE的关键进程存在

ps -ef |grep ora_

soadb  4487     1  0 22:57:05 ?         0:00 ora_reco_soadbprd
   soadb  4485     1  5 22:57:05 ?         0:00 ora_smon_soadbprd
   soadb  4526     1  0 22:57:15 ?         0:00 ora_arc0_soadbprd
   soadb  4479     1  0 22:57:04 ?         0:00 ora_dbw1_soadbprd
   soadb  4483     1  0 22:57:04 ?         0:01 ora_ckpt_soadbprd
   soadb  4468     1  0 22:57:02 ?         0:02 ora_pmon_soadbprd

2.查看alter日志,显示如下:

Shutting down instance: further logons disabled
    Thu Nov 14 22:04:24 2013
    Stopping background process CJQ0
    Thu Nov 14 22:04:24 2013
    Stopping background process QMNC
    Thu Nov 14 22:04:26 2013
    Stopping background process MMNL
    Thu Nov 14 22:04:27 2013
    Stopping background process MMON
    Thu Nov 14 22:04:27 2013
    Shutting down instance (immediate)
    License high water mark = 152
    Thu Nov 14 22:04:27 2013
    Stopping Job queue slave processes, flags = 7
    Thu Nov 14 22:04:27 2013
    Job queue slave processes stopped
    Waiting for dispatcher 'D000' to shutdown
    All dispatchers and shared servers shutdown
    Thu Nov 14 22:04:30 2013
    ALTER DATABASE CLOSE NORMAL
    Thu Nov 14 22:09:34 2013
    Waiting for smon to disable tx recovery.
    Thu Nov 14 22:23:46 2013
    MMNL absent for 1201 secs; Foregrounds taking over

3.针对红色字体的提示,查询官方网站,ID 1076161.6

官方描述如下:

During shutdown the SMON process is cleaning up extents and updating the data
dictionary tables with the marked free extents. As the extents are marked as
freed, they are removed from the table for used extents, UET$ and placed on the
table for free extents, FET$.

官方描述的原因是因为smon进程在清时临时表空间数据块和更新数据字典时造成的数据库HANG住,原理讲的很清楚,里面还有一个链接,一个是讲述这种情况可能是一个BUG,另一个链接教我们诊断数据库HANG住的具体原因。但现在的问题是,如果一直等下去,可能需要几个小时,此次变更数据库重启只有半小时时间,不可能待下去,怎么办?

4.尝试取消shutdown immediate命令

CTRAL + C没有任何作用,新建一个链接执行查询或其它操作,会报一个错,具体信息如下:

ORA-01089: immediate shutdown in progress - no operations are permitted

可以看到,此时什么都不允许操作,这时想找从操作系统上找到shutdown immediate进程KILL掉,后来仔细一想,这个操作可能比shutdown abort更危险,很可能造成数据库无法启动,在网上找到了相关资源,也没找到办法,此时突然想到刚学ORACLE数据库启动和停止时有一条命令是

startup force:中止当前数据库的运行,并开始重新正常的启动数据库

startup force = shutdown abort +startup 此时也只能用它了

5.强制停止shutdown immediate

新打开一个sqlplus / as sysdba

SQL> startup force
       ORACLE instance started.

Total System Global Area 3206836224 bytes
       Fixed Size                  2180024 bytes
       Variable Size            1778388040 bytes
       Database Buffers         1409286144 bytes
       Redo Buffers               16982016 bytes
       Database mounted.
       Database opened.

此时shutdown immediate窗口停止了,数据库恢复到可操作状态,此时我再次用shutdown immediate命令再次正常停止数据库,依然无法停止,没办法,再次执行startup force获取数据库控制权,选择shutdown abort方法停止数据库。重新启动,很幸运,启动成功了!(注意此操作有一定的风险,小心操作)

转:http://blog.sina.com.cn/s/blog_61cd89f60102eeg1.html

转载于:https://www.cnblogs.com/andy6/p/6158429.html

ORA-01089 数据库无法正常关闭相关推荐

  1. 2. Oracle 数据库实例启动关闭过程

    转载自: http://blog.csdn.net/leshami/article/details/5542983 Oracle数据库实例的启动,严格来说应该是实例的启动,数据库仅仅是在实例启动后进行 ...

  2. Oracle 数据库实例启动关闭过程

    --================================ -->Oracle 数据库实例启动关闭过程 --================================ /* Or ...

  3. 如何启动和关闭oracle数据库,Oracle数据库启动和关闭方式总结

    Oracle数据库启动和关闭的方法很多,下面就为您详细介绍几种常用的Oracle数据库启动和关闭方式,供您参考学习之用. 一.几种Oracle数据库启动方式: 1.startup nomount 非安 ...

  4. oracle数据库实例关闭步骤,Oracle 数据库实例起动关闭过程

    当前位置:我的异常网» 数据库 » Oracle 数据库实例起动关闭过程 Oracle 数据库实例起动关闭过程 www.myexceptions.net  网友分享于:2015-08-26  浏览:7 ...

  5. 启动和关闭oracle 实例,oracle实例和数据库启动与关闭.ppt

    <oracle实例和数据库启动与关闭.ppt>由会员分享,可在线阅读,更多相关<oracle实例和数据库启动与关闭.ppt(10页珍藏版)>请在人人文库网上搜索. 1.Orac ...

  6. ORACLE DSG数据同步软件进程导致数据库无法正常关闭

    最近,对一个数据库做变更,过程中需要重启数据库,但是重启数据库的过程中,数据库长时间一直夯住无法关闭并且告警日志无ORA告警.排查下来,发现是DSG数据同步软件进程占用数据库资源导致数据库无法关闭,停 ...

  7. Hibernate用Mysql数据库时链接关闭异常的解决

    在一个项目中,客户要求除操作系统外全部使用免费软件,因此我使用了Mysql 4.0作为数据库服务器,其JDBC驱动为3.0.9版本,在给客户安装后调试一切正常.可是到了第二天,只要一登录就提示&quo ...

  8. oracle9i的erp数据库无法正常关闭的解决方法。

    oracle9i的erp数据库无法正常关闭的解决方法. oracle9i版本的ERP数据库无法正常关闭. 场景描述:oracle9i数据库正常关闭的时候,hang住在一个地方无法正常关闭. 解决思路: ...

  9. Oracle数据库启动与关闭

    C:\app\Administrator\virtual\product\12.2.0\dbhome_2\bin>dir oracle.exe 驱动器 C 中的卷没有标签. 卷的序列号是 7E6 ...

  10. oracle表启用online,Oracle数据库启动与关闭

    C:\app\Administrator\virtual\product\12.2.0\dbhome_2\bin>dir oracle.exe 驱动器 C 中的卷没有标签. 卷的序列号是 7E6 ...

最新文章

  1. Win7下面wubi安装Ubuntu14.04LTS
  2. 发送不同类型的ActivityFeed
  3. (88)FPGA二分频设计,面试必问(十二)(第18天)
  4. Ubuntu使用谷歌浏览器登录账号时崩溃
  5. 华为鸿蒙系统电脑有那些,华为鸿蒙系统上线,仅2家国产品牌支持,爆冷?
  6. WPF帝友借贷系统MV模式开发日志2021/04/04_注册验证邮箱验证码发送
  7. 云计算基础与应用 第七章 CDN
  8. 各大搜索引擎蜘蛛名称大全
  9. 手机连Fiddler后,仍然不能上网的解决办法
  10. java模拟器电脑版怎么安装教程_电脑Java模拟器安装使用教程
  11. UCF Local Programming Contest Round 1A 【2021-7-20】
  12. IT职场生活工作感悟
  13. TopMost安装和使用
  14. 【问链财经-区块链基础知识系列】 第四十四课 邮储银行:U链福费廷业务系统
  15. 备份数据 宝塔linux_宝塔面板教程大全--宝塔linux面板数据备份教程
  16. 程序设计与算法二郭炜枚举002拨钟问题及解题思路
  17. 使用LM386的简单Arduino音频播放器和放大器
  18. 使用matlab从气象数据文件提取所需站点信息到excel
  19. java指定日期的季度以及季度第一天和最后一天(季度统计报表)
  20. 成都链安重磅出品 | 基于VS Code插件的智能合约自动形式化验证工具Beosin—VaaS『离线免费版』...

热门文章

  1. python获取eth0_详解 Python 获取网卡 IP 地址的黑魔法
  2. python的turtle画小人_Pythonturtle画图库画姓名实例
  3. 如何提取html的文本,如何从html标签之间提取文本?
  4. java工具类应该抛异常吗,java学习阶段一 工具类(异常)
  5. vue vue实例中的data与vue组件中的data()
  6. python 僵尸进程孤儿进程
  7. `object.__init__`
  8. javascript Event监听
  9. 从C语言到C++语言
  10. VMware VSAN 高级参数介绍(测试用)