关闭数据库时SHUTDOWN: waiting for active calls to complete.处理
有时候在关闭数据库时,发出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.处理的更多相关文章
- SHUTDOWN: waiting for active calls to complete
Problem Description: ==================== You are attempting to shut down the database and the data ...
- shutdown immediate 持久无法关闭数据库之解决方案
问题引出:测试环境,进行oralce的shutdown immediate,等待时间很长,长的无法等待 ORACLE shutdown 过程: 1.shutdown normal(正常关闭方式):阻止 ...
- Oracle shutdown immediate无法关闭数据库解决方法
在测试服务器上使用shutdown immediate命令关闭数据库时,长时间无法关闭数据库,如下所示 1: [oracle@DB-Server admin]$ sqlplus / as sysdba ...
- Oracle11g 启动数据库实例、关闭数据库实例
Oracle11g 启动数据库实例 startup 1: nomount 模式: 描述: 该模式只会创建实例(即:创建oracle 实例的各种内存结构和 ...
- Oracle 关闭数据库(未使用Oracle Restart)
Oracle关闭数据库(未使用Oracle Restart) by:授客 QQ:1033553122 SHUTDOWN [选项] 选项说明: NORMAL-语句执行后,不允许创建新的连接:等待所有当前 ...
- Oracle启动与关闭数据库实例
Oracle数据库启动实例分为3个步骤: 启动实例 加载数据库 打开数据库 通用模式: STARTUP [ nomount | mount | open | force ] [resetrict] ...
- Connection连接、关闭数据库
创建连接sql server数据库的字符一般有两种, 一种是以sql验证登录的 一种是以windows身份验证的 步骤: 引用命名空间System.Date.SqlClient 将连接方法声明至字符串 ...
- Linux CentOS中使用SQL*Plus启动和关闭数据库
启动和关闭数据库的常用工具有三个 一.SQL*Plus 在SQL*Plus环境中,用户以SYSDBA身份连接到Oracle后,可以通过命令行方式启动或关闭数据库. 二.OEM(企业管理器) 利用OEM ...
- 未完全关闭数据库导致ORA-01012: not logged的解决
首先使用SHUTDOWN 没加任何参数方式关闭数据库,在数据库未关闭时CTRL+Z停止执行,退出用SQLPLUS重登陆,出现报错:ORA-01012: not logged on SQL> st ...
随机推荐
- 微信开发之自定义菜单--weixin-java-tools
一.前言 平时在开发微信的过程中,肯定会设计到微信的相关菜单的使用,这次就和大家介绍下如何使用weixin-java-tools来管理菜单 二.自定义菜单分类 1.click:点击推事件用户点击cli ...
- windows SFC(System File Checker) 命令的使用
SFC(System File Checker)可以扫描所有受保护的系统文件的完整性,并使用正确的 Microsoft 版本替换. 步骤:点击开始,输入cmd: 右键,以管理员身份运行 输入sfc/s ...
- python中list/tuple/dict/set的区别
序列是Python中最基本的数据结构.序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推.Python有6个序列的内置类型,但最常见的是列表list和元组t ...
- jquery的confirm插件介绍
参考:1.http://craftpip.github.io/jquery-confirm/ 2.http://www.bootcdn.cn/jquery-confirm/readme/ 3.h ...
- linux 关闭端口
第一步查看那些程序在使用该端口 netstat -anp或者netstat -tulnp 第二步杀死进程 kill -9 xxx,杀死某个进程 killall 进程名
- vue-resource基本使用方法
一.vue-resource特点 1.体积小:vue-resource非常小巧,在压缩以后只有大约12KB,服务端启用gzip压缩后只有4.5KB大小,这远比jQuery的体积要小得多. 2.支持主流 ...
- Laravel系列教程一:安装及环境配置
免费视频教程地址https://laravist.com/series/laravel-5-basic 最近在SF上面看到越来越多的Laravel相关的问题,而作为一个Laravel的脑残粉,本来打算 ...
- 【前后台分离模式下,使用OAuth Token方式认证】
AngularJS is an awesome javascript framework. With it’s $resource service it is super fast and easy ...
- Linux——解决RedHat6/CentOS6系统中“弹出界面eth0:设备似乎不存在”的问题
刚刚在自己的CentOS6系统中执行service network restart时,竟然提示: 弹出界面 eth0: 设备 似乎不存在, 初始化操作将被延迟. [失败] 这事可真神奇.于是手动编 ...
- lodash 类型判断
1.isArray _.isArray(value) 检查 value 是否是 Array 类对象. 2.isElement _.isElement(value) 检查 value 是否是可能是 DO ...