8月22号遇到一个单位在导入分配的分录时,出现行锁定的错误。终止被锁oracle进程,进程为KILLED状态,但很长时间数据库锁依然还存在。执行OS进程KILL,数据库锁还未释放。后来此问题由同事解决,了解到是强制执行了强制刷新数据库缓存操作。(刷新数据库缓存会短时间内会影响数据库运行效率)
原因分析:
在杀掉了相关数据库进程和OS进程,数据库锁还存在,这是因为Cache的影响,需要手动刷新Buffer Cache,以促使Oracle重新执行物理访问。
解决办法:
以下三条语句可以清除cache:
1、在Oracle9i里,Oracle提供了一个内部事件,用以强制刷新Buffer Cache,语法为:
alter session set events 'immediate trace name flush_cache level 1';
2、针对session,语法为:
alter session set events = 'immediate trace name flush_cache';
3、针对整个系统,语法为:
alter system set events = 'immediate trace name flush_cache';
本文出自 "自信每一天!" 博客,请务必保留此出处https://itserverlive.blog.51cto.com/970886/268913
关键词标签:Oracle缓存
相关阅读
热门文章 Oracle中使用alter table来增加,删除,修改列oracle中使用SQL语句修改字段类型-oracle修使用低权限Oracle数据库账户得到管理员权限Oracle对user的访问控制
人气排行 ORACLE SQL 判断字符串是否为数字的语句Oracle中使用alter table来增加,删除,修改列的语法ORACLE和SQL语法区别归纳(1)oracle grant 授权语句如何加速Oracle大批量数据处理Oracle删除表的几种方法ORACLE修改IP地址后如何能够使用Oracle 10g创建表空间和用户并指定权限
查看所有0条评论>>