oracle强行终止后遗症

提交了一条sql,目的是把一张有2000万条记录的表的内容全部insert到另外一张表中,执行了2个小时没有完成。执行的过程中发现没必要这么做了,于是中断sql,但是pl/sql developer不理我,session logoff也不行,到enterprise manager里面中断会话->立即 也不行的样子,只好停止oralce了,sqlplus shutdown之后 等半天也没有shutdown掉,只好再次shutdown abort,这下世界清净了,但是发现多了一个僵尸进程出来,kill -9也是无效的,看着很是不爽,而且4G 内存不知道被什么占用了2G多,看来有必要重启机器了。

重启机器后,telnet登录,满心欢喜的看到内存只用掉400M,但是仔细一瞧用掉的内存正在蹭蹭蹭的往上涨呢,5分钟左右达到了3G,真是晕。top后发现
[code]
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
4801 oracle 16 0 1377m 411m 409m D 5 10.4 0:53.09 ora_dbw1_oraicbc
4822 oracle 15 0 1375m 785m 784m D 2 19.9 0:25.89 ora_p002_oraicbc
4799 oracle 15 0 1377m 412m 409m D 2 10.5 0:53.17 ora_dbw0_oraicbc
4820 oracle 15 0 1375m 785m 784m D 2 19.9 0:26.09 ora_p001_oraicbc
4824 oracle 15 0 1375m 785m 784m D 2 19.9 0:25.75 ora_p003_oraicbc
4826 oracle 15 0 1375m 785m 784m R 1 19.9 0:26.16 ora_p004_oraicbc
[/code]
相加为100.4%的内存 了,top太耸人听闻了。这时候还没有运行任何sql呢,也没有客户端去连接它。最大的可能可就是在进行崩溃后的恢复和回退了,手工去drop张之前insert into的那张表,果然不能立即drop,pl/sql dev处于等待状态,但是两分钟后drop成功了。top中那堆进程也统统slepping去了。不过占了的内存却没有还回我的意思,空闲内存只是从16M 涨到了21M。

原因还未知 :x

再次reboot后,内存终于空闲了3.2G了。不过担心的经过大数据量的运算后oracle不会又是不释放内存吧,以后每个月都得有大量计算呢
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值