有时候在关闭数据库时,发出shutdown immediate;命令后一直未关闭。查看ALERT日志。在等待一段时间后日志中有提示:

SHUTDOWN: waiting for active calls to complete.

原因是有些进程无法被PMON进程清理。导致SHUTDOWN时无法关闭而HANG住。

==》依据观察,在ORACLE10G及以上版本号。会是例如以下提示:(2015/11/24最新验证ORACLE9206中也会提示进程号)

Active call for process 12345 user 'oracle' program 'oracle@abcd'

SHUTDOWN: waiting for active calls to complete.

也就是指出哪个进程引起的等待。此时kill -9 12345 进程就可以。

==》可是在ORACLE 8I版本号中,是不会提示哪个进程ACTIVE引起关闭进程HANG的。提演示样例如以下:

Sun Jul 26 21:42:38 2015

ARC0: Beginning to archive log# 6 seq# 393635

ARC0: Completed archiving log# 6 seq# 393635

Sun Jul 26 21:42:54 2015

Shutting down instance (immediate)

License high water mark = 235

Sun Jul 26 21:48:02 2015

SHUTDOWN: waiting for active calls to complete.

这样的情况下。仅仅好查找 ps -ef|grep LOCAL=NO 相关进程都kill掉等处理思路。

==》假设是WINDOWS平台,没有进程能够来KILL,最好方法就是停止ORACLE数据库的服务了。

这方面资料能够參考MOS的文档:

Alert Log: Shutdown Waiting for Active Calls to Complete (文档 ID 1039389.6)

怎样以最快方式干净的关闭数据库? (文档 ID 1577321.1)







    近期遇到一次ORACLE 8.1.7.4.0数据库的关闭操作时,在关闭前。依照正常关闭数据库流程进行检查和处理:

关闭监听,查看有无ps -ef|grep ora_j,查看是否有事务在执行、是否有大事务须要在又一次启动时进程回滚、多次切换归档、多次执行CHECKPOINT完毕后再关库。

在以上检查中,LOCAL=NO的会话均进行了处理,也确认了无事务执行;

可是在SHUTDOWN IMMEDIATE命令运行时。仍然HANG住并报SHUTDOWN: waiting for active calls to complete.。

等待多时后,进行查看仅仅有例如以下进程,尝试kill arc0进程。PMON进程终止实例(相当于SHUTDOWN ABORT),万幸是关机之前确认事务完毕、切换REDO/检查点 等操作均有进行,STARTUP时一切正常。

==》这样的情况下,建议在SHUTDOWN IMMEDIATE前多次切换LOGFILE,并执行检查点,同一时候确保应用已经关闭;此时无事务执行同一时候数据已经写入磁盘。假设无奈之下仅仅能SHUTDOWN ABORT或者是其他KILL进程导致SHUTDOWN ABORT,也非常少会造成数据损坏(如数据文件、REDO LOG损坏)导致的实例启动异常。

日志例如以下:

Sun Jul 11 21:50:57 2015

Errors in file /oracle/8.1.7/admin/AAA/bdump/pmon_26680_aaa.trc:

ORA-00473: ARCH process terminated with error

Sun Jul 11 21:50:57 2015

PMON: terminating instance due to error 473

Instance terminated by PMON, pid = 26680

进程例如以下

  oracle  17016      1   0   Feb 11      - 60:13 ora_arc0_aaa

  oracle  18346      1   0   Feb 11      - 1568:00 ora_lgwr_aaa

  oracle  18858      1   0   Feb 11      -  0:02 ora_reco_aaa

  oracle  22528      1   0   Feb 11      - 122:02 ora_dbw0_aaa

  oracle  26680      1   0   Feb 11      - 55:24 ora_pmon_aaa

  oracle  28856      1   0   Feb 11      -  6:02 ora_smon_aaa

  oracle  29776      1   0   Feb 11      - 67:07 ora_ckpt_aaa

  oracle  80566  67462   0 21:50:44  pts/0  0:00 grep ora_

  oracle 110824      1   0   May 28      - 18:18 ora_arc1_aaa

关闭数据库时SHUTDOWN: waiting for active calls to complete.处理的更多相关文章

  1. SHUTDOWN: waiting for active calls to complete

    Problem Description: ====================  You are attempting to shut down the database and the data ...

  2. shutdown immediate 持久无法关闭数据库之解决方案

    问题引出:测试环境,进行oralce的shutdown immediate,等待时间很长,长的无法等待 ORACLE shutdown 过程: 1.shutdown normal(正常关闭方式):阻止 ...

  3. Oracle shutdown immediate无法关闭数据库解决方法

    在测试服务器上使用shutdown immediate命令关闭数据库时,长时间无法关闭数据库,如下所示 1: [oracle@DB-Server admin]$ sqlplus / as sysdba ...

  4. Oracle11g 启动数据库实例、关闭数据库实例

    Oracle11g 启动数据库实例        startup 1: nomount 模式:      描述:             该模式只会创建实例(即:创建oracle 实例的各种内存结构和 ...

  5. Oracle 关闭数据库(未使用Oracle Restart)

    Oracle关闭数据库(未使用Oracle Restart) by:授客 QQ:1033553122 SHUTDOWN [选项] 选项说明: NORMAL-语句执行后,不允许创建新的连接:等待所有当前 ...

  6. Oracle启动与关闭数据库实例

    Oracle数据库启动实例分为3个步骤: 启动实例 加载数据库 打开数据库 通用模式: STARTUP  [ nomount | mount | open | force ]  [resetrict] ...

  7. Connection连接、关闭数据库

    创建连接sql server数据库的字符一般有两种, 一种是以sql验证登录的 一种是以windows身份验证的 步骤: 引用命名空间System.Date.SqlClient 将连接方法声明至字符串 ...

  8. Linux CentOS中使用SQL*Plus启动和关闭数据库

    启动和关闭数据库的常用工具有三个 一.SQL*Plus 在SQL*Plus环境中,用户以SYSDBA身份连接到Oracle后,可以通过命令行方式启动或关闭数据库. 二.OEM(企业管理器) 利用OEM ...

  9. 未完全关闭数据库导致ORA-01012: not logged的解决

    首先使用SHUTDOWN 没加任何参数方式关闭数据库,在数据库未关闭时CTRL+Z停止执行,退出用SQLPLUS重登陆,出现报错:ORA-01012: not logged on SQL> st ...

随机推荐

  1. SQL Server 跨数据库事务

      模拟三个库(同一个实例中),分别是DB1.DB2.DB3 整个事务的业务如下: 1.DB1写入表数据 2.DB2写入表数据 3.DB3调用存储过程写入表数据 4.每次写入表数据间隔模拟抛异常流程, ...

  2. 学习Struts2.3

    </pre>1.struts2.3核心jar包(若首次接触,可临时略过不看)大家能够到http://struts.apache.org/download.cgi#struts2014下载s ...

  3. 80端口被system进程占用解决方法

    今天启动Apache的时候老是提示失败,很简单,使用 netstat -ano 发现80端口被占用.如图所示: 按照PID 来说:在任务管理器中查看PID 的进程名 既然是system.那么 应该不回 ...

  4. iTOP-4412 开发板的 GPIO 是怎么操作的?

    Exynos4412 全部的 GPIO 都有固定的地址,为了方便操作这些 GPIO.Linux 内核 在 gpio-exynos4.h 里面定义了一些 GPIO 的宏.比如: #define EXYN ...

  5. builder pattern

    design patterns 结合书本和这个网站的这个系列的文章来看: https://www.tutorialspoint.com/design_pattern/builder_pattern.h ...

  6. qml自学笔记------自己写相似于劲舞团的按键小游戏(中)

    接上篇<qml自学笔记------自己写类似于劲舞团的按键小游戏(上)> 第三部分DisplayPart.qml 代码的其它部分都是渣,就这里花了点时间,整个小游戏就靠这个文件. 首先,屏 ...

  7. [转]SQL Server 性能调优(io)

      目录 诊断磁盘io问题 常见的磁盘问题 容量替代了性能 负载隔离配置有问题 分区对齐配置有问题 总结 关于io这一块,前面的东西如磁盘大小,磁盘带宽,随机读取写入,顺序读取写入,raid选择,DA ...

  8. scp命令使下用

    先说下背景把,使用ubuntu,没有windows以下到xshell软件管理一下vps.正瞅着须要下载一个chrome(chrominum真的不好用).此刻大谷歌正墙外呢,无奈挂着ss firefox ...

  9. MapReduce源代码分析之JobSubmitter(一)

    JobSubmitter.顾名思义,它是MapReduce中作业提交者,而实际上JobSubmitter除了构造方法外.对外提供的唯一一个非private成员变量或方法就是submitJobInter ...

  10. Python 的基本运算和内置函数

    一.运算符 (一)Python算术运算符 以下假设变量: a=10,b=20: 运算符 描述 实例 + 加 - 两个对象相加 a + b 输出结果 30 - 减 - 得到负数或是一个数减去另一个数 a ...