有时候在关闭数据库时,发出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. 调试Ajax调用的利器firebug

    这几天我在家里调试PCS的Ajax调用时候发现一个问题就是调试手段太少,一般我会在进入ajax调用前加上一段alert输出变量信息. 比如 alert($("#taskid").v ...

  2. C#之Raw Socket实现网络封包监视

    同Winsock1相比,Winsock2最明显的就是支持了Raw Socket套接字类型,使用Raw Socket,可把网卡设置成混杂模式,在这种模式下,我们可以收到网络上的IP包,当然包括目的不是本 ...

  3. Linux内核分析(九)——总结篇

    序:写在前面的话        本次内容作为Linux内核的总结内容,主要涉及对Linux系统的总体的一些理解,同时将之前的一些总结贴出来作为大家的一个索引,希望笔者的博客能对和笔者一样的菜鸟有一些帮 ...

  4. 怎样使用libcurl获取隐藏了文件后缀的url网络文件类型

    CURLINFO_CONTENT_TYPE CURL: Get Returned Content Mime Type 例如 :以下代码可以查询出天地图的tile图像类型为jpg "http: ...

  5. (原创)sklearn中 F1-micro 与 F1-macro区别和计算原理

    最近在使用sklearn做分类时候,用到metrics中的评价函数,其中有一个非常重要的评价函数是F1值,(关于这个值的原理自行google或者百度) 在sklearn中的计算F1的函数为 f1_sc ...

  6. python抓取日本网站上iphone5的价格

    抓取日本网站上iphone5的价格,比国内便宜好多汇率换算是在中国银行的网站上取得 #-*- coding:utf-8 -*- import requests import time from bs4 ...

  7. LVS负载均衡之NAT模式部署

    1.LVS的NAT模式介绍 参考自官网:http://www.linuxvirtualserver.org/zh/lvs3.html 由于IPv4中IP地址空间的日益紧张和安全方面的原因,很多网络使用 ...

  8. Node.js 访问https网站

    源码: //==================================================== // 访问https://www.zhihu.com/得到pagecode // ...

  9. Vue 状态管理 Vuex

    1.概述 Vuex作为插件,管理和维护整个项目的组件状态. 2.安装vuex cnpm i --save vuex 3.vuex使用 github地址:https://github.com/MengF ...

  10. angularJS学习笔记(二)

    前言 首先,了解 一下ng的一些概念: module 代码的组织单元,其它东西都是定义在具体的模块中的. app 应用业务,需要多个模块的配合完成. service 仅在数据层面实现特定业务功能的代码 ...