在导入附件表AFFIX的时候,数据量很小就1w多条数据,但是AFFIX中有一个blob的大字段,这就使得查询起来很慢,因为工作的环境网络特别的不稳定,开始导入了大概快一半了,突然网络断了,当时真的很生气,但是也没有什么办法,网络好后接着导入此时总是出现导入错误、甚至导入了很长时间,数据条数根本没发生变化,就是这样的反反复复,查看了一下Oracle锁表的情况:
- SELECT OBJECT_NAME, MACHINE, S.SID, S.SERIAL#
- FROM V$LOCKED_OBJECT L, DBA_OBJECTS O, V$SESSION S
- WHERE L.OBJECT_ID = O.OBJECT_ID
- AND L.SESSION_ID = S.SID;
结果就看到如下结果:果然有表锁死了,心想kill掉锁死的表很简单,命令如下:
- alter system kill session "519,10230";
执行的时间很长,后来居然出现了下图的错误:一看就是报错了,查了一些资料是因为oracle锁死的表被杀死后,状态被标识为“killed”但是锁定资源很长时间才能得到释放,有的时候实在没有别的好的办法我们就需要重启数据库了,我的理解是如果等半天或者更长时间的话是可以被释放的。于是就开始查询资料、例子,解决办法如下:
- SELECT SID,SERIAL#,PADDR FROM V$SESSION WHERE SID="519" --被锁定的SID
此时可以得到 PADDR ,在通过SQL得到:
- SELECT SPID FROM V$PROCESS WHERE ADDR="695E3F2C"; --PADDR的值
这个时候就可以直接在系统中把oracle进程杀掉了,可以使用 kill -9 SPID 或者 ORAKILL SID SPID 此时整个操作完成,如果遇到此类问题不能解决大家在一起讨论。Oracle 组件的查看和收费关于Oracle中to_number包含文字的解决办法相关资讯 Oracle数据库 Oracle入门教程 oracle数据库教程
- Oracle数据库全球化 (03月01日)
- Oracle数据库日期过滤方法性能比较 (02/02/2015 13:20:26)
- Oracle数据库安装中端口被占用问题 (10/29/2014 07:42:24)
| - 在CentOS 6.6上搭建C++运行环境并 (10/10/2015 19:44:40)
- Oracle数据库无法使用localhost和 (11/14/2014 16:39:10)
- 使用SQLT来构建Oracle测试用例 (08/28/2014 06:17:41)
|
本文评论 查看全部评论 (0)