SHUTDOWN: waiting for active calls to complete.

赶上要重启数据库
shutdown immediate 后一直等在那里没有返回


[root@bidb bdump]# tail -f alert_bidw.log 
Thu Jan  2 12:22:14 2014
Shutting down instance (immediate)
License high water mark = 231
Thu Jan  2 12:22:14 2014
Stopping Job queue slave processes, flags = 7
Thu Jan  2 12:22:14 2014
Job queue slave processes stopped
Thu Jan  2 12:27:13 2014
Active call for process 28285 user 'oracle' program 'oracle@bidb'
SHUTDOWN: waiting for active calls to complete.
Thu Jan  2 12:42:14 2014
MMNL absent for 1261 secs; Foregrounds taking over
Thu Jan  2 13:22:16 2014
SHUTDOWN: Active sessions prevent database close operation
Thu Jan  2 13:23:29 2014


shutdown 等了一个小时都没有关掉,果断shutdown abort 硬上了。
后来查了一下资料:
提到oracle Metalink上的1039389.6,其内容如下:
Checked for relevance on 11-Dec-2008


Problem Description: 
==================== 
 
You are attempting to shut down the database and the database hangs.  The 
alert log contains the following message: 
 
 
   SHUTDOWN: Waiting for active calls to complete 
 
 
There are no other error messages in the alert log. 




Solution Description:
=====================


--------------------------------------------------------
Caveat:   This note is intended for Unix platforms primarily, but we should 
address this issue on Windows platforms as well.  On Windows, stopping the 
service is a valid workaround for these errors.
--------------------------------------------------------


Locate and kill any client connections to the database at the Unix level, as
follows: 
 
1. Locate any client connections to the database using ps, and grep for any 
   processes belonging to this . 
  
       Example: ps -ef | grep V733 
 
2. Look for processes that include a 'Local=No' designation. 
 
       Example: osupport 6235 1 0 Nov 24  0:01 oracleV733  (LOCAL=NO) 
 
3. Kill the Unix process(es) with the 'Local=No' designation. 
 
       Example: Kill -9 6235 
 
 
Explanation: 
============ 


The database is waiting for pmon to clean up processes, but pmon is unable to 
clean them. The client connections to the server are causing the shutdown 
immediate or normal to hang.  Killing them allows pmon to clean up and release 
the associated Oracle processes and resources.


What resources are we talking about?


1) Any non committed transactions must be rolled back
2) Any temporary space (sort segments / lobs / session temporary tables) must be freed
3) The session itself and any associated memory consumed by the session.
4) Internal locks / enqueues must be cleaned up


Often Oracle (SMON or PMON depending on whether Shared Server is used) will wait for the OS to terminate the process(es) associated with the session.  I the OS never returns, or fails to terminate them, then the instance shutdown will hang with this message (Shutdown Waiting for Active Calls to Complete)


Other means exist to achieve a quick shutdown, as outlined in Note 386408.1 - What Is The Fastest Way To Cleanly Shutdown An Oracle Database?




Note that in E-Business Environments, the same messages can be produced if the database shutdown process starts before the concurrent manager stops in the application server .


D:\aaFreeInstallation\PathLibBin\mongodb\bin>mongod --dbpath D:\MongoDB\data Sun Mar 23 11:17:42.431 Sun Mar 23 11:17:42.435 warning: 32-bit servers don't have journaling enabled by default. Please use --journal if you want durability. Sun Mar 23 11:17:42.436 Sun Mar 23 11:17:42.474 [initandlisten] MongoDB starting : pid=20820 port=27017 dbpath=D:\MongoDB\data 32-bit host=bilibili Sun Mar 23 11:17:42.474 [initandlisten] Sun Mar 23 11:17:42.475 [initandlisten] ** NOTE: This is a 32 bit MongoDB binary. Sun Mar 23 11:17:42.475 [initandlisten] ** 32 bit builds are limited to less than 2GB of data (or less with --journal). Sun Mar 23 11:17:42.475 [initandlisten] ** Note that journaling defaults to off for 32 bit and is currently off. Sun Mar 23 11:17:42.476 [initandlisten] ** See http://dochub.mongodb.org/core/32bit Sun Mar 23 11:17:42.477 [initandlisten] Sun Mar 23 11:17:42.477 [initandlisten] db version v2.4.6 Sun Mar 23 11:17:42.477 [initandlisten] git version: b9925db5eac369d77a3a5f5d98a145eaaacd9673 Sun Mar 23 11:17:42.477 [initandlisten] build info: windows sys.getwindowsversion(major=6, minor=0, build=6002, platform=2, service_pack='Service Pack 2') BOOST_LIB_VERSION=1_49 Sun Mar 23 11:17:42.477 [initandlisten] allocator: system Sun Mar 23 11:17:42.477 [initandlisten] options: { dbpath: "D:\MongoDB\data" } Sun Mar 23 11:17:42.478 [initandlisten] exception in initAndListen: 10296 ********************************************************************* ERROR: dbpath (D:\MongoDB\data) does not exist. Create this directory or give existing directory in --dbpath. See http://dochub.mongodb.org/core/startingandstoppingmongo ********************************************************************* , terminating Sun Mar 23 11:17:42.478 dbexit: Sun Mar 23 11:17:42.480 [initandlisten] shutdown: going to close listening sockets... Sun Mar 23 11:17:42.480 [initandlisten] shutdown: going to flush diaglog... Sun Mar 23 11:17:42.481 [initandlisten] shutdown: going to close sockets... Sun Mar 23 11:17:42.481 [initandlisten] shutdown: waiting for fs preallocator... Sun Mar 23 11:17:42.482 [initandlisten] shutdown: closing all files... Sun Mar 23 11:17:42.482 [initandlisten] closeAllFiles() finished Sun Mar 23 11:17:42.483 dbexit: really exiting now
最新发布
03-24
从错误信息来看,MongoDB 启动失败的原因是因为指定的数据目录 `D:\MongoDB\data` 不存在。以下是详细的分析和解决方案: --- ### 错误原因 在启动 MongoDB 的时候,通过命令行指定了数据存储路径: ```bash mongod --dbpath D:\MongoDB\data ``` 但是系统提示该路径并不存在 (`ERROR: dbpath (D:\MongoDB\data) does not exist.`),因此无法正常初始化。 此外,日志还提到了一些其他注意事项: 1. 运行的是 32 位版本的 MongoDB,默认未启用日志记录功能(journal),如果需要持久化支持可以添加 `--journal` 参数。 2. 32 位版的 MongoDB 数据容量限制为小于 2GB (启用 journal 模式可能会进一步降低可用空间)。 --- ### 解决方案 #### 步骤一:创建指定的数据目录 首先检查是否存在 `D:\MongoDB\data` 目录,若没有则手动创建它。操作步骤如下: 1. 打开文件资源管理器; 2. 导航到 `D:` 驱动盘根目录下; 3. 如果没有名为 `MongoDB` 的文件夹,则右键 -> 新建一个文件夹,并命名为 `MongoDB`; 4. 再次进入 `MongoDB` 文件夹内新建另一个叫作 `data` 的子文件夹; 最终结果应该是存在这样一个结构化的路径 - `D:\MongoDB\data`. #### 步骤二:设置正确的权限 确保当前用户对新创建的目录拥有读取、写入及修改等完全控制权。可以在属性窗口的安全选项卡里确认这一点。 #### 步骤三:再次尝试运行服务 返回命令提示符界面重新输入启动指令试试看是否能成功开启数据库服务器端程序了: ```bash D:\aaFreeInstallation\PathLibBin\mongodb\bin> mongod --dbpath D:\MongoDB\data ``` 假如一切顺利的话这次应该不会再抛出找不到路径那样的异常消息啦! --- ### 注意事项 尽管上述方法能够解决本次遇到的问题,但对于长期使用来说还有些地方需要注意调整优化哦~ 例如考虑到之前提到过的关于性能方面以及兼容性的局限性因素,在条件允许的情况下建议尽量选用 x64 架构下的正式安装包来进行部署实施工作会更好一点哟! 另外为了保证系统的稳定性和可靠性最好也定期做一下备份处理以防万一哈😊 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值