广告位 后台主题配置管理 |
广告位 后台主题配置管理 |
本篇文章给大家谈谈zblog锁表,以及对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
在对指定表做append操作,其他再做truncate时候,会产生锁表,如下验证步骤,
1、创建测试表,
create table test_lock(id number, value varchar2(200));
2、执行append语句;并且不做提交,insert /*+append*/ into test_lock values(1,1);
3、再次执行清表语句,truncate table test_lock;报锁表错误,
4、查看锁表语句,发现被锁表,
select b.object_name, t.*
from v$locked_object t, user_objects b
where t.object_id = b.object_id
表格锁定不能修改的方式如下:
工具/原料:电脑:联想小新、系统版本:win10、Excel版本:Microsoft Excel 2010。
1、打开要操作的Excel表格,选择编辑的内容如下图所示。
2、点击鼠标右键,选择【设置单元格格式】如下图所示。
3、点击最上面的【保护】如下图所示。
4、勾选左上角的【锁定】,然后点击右下角的【确定】如下图所示。
5、再点击菜单栏的【审阅】—【保护工作表】如下图所示。
6、在弹出的保护工作表对话框中,输入取消工作表保护时使用的密码,点击下面的【确定】按钮后,重新输入密码,点击【确定】如下图所示。
7、这样,该Excel表格就被锁定了,其他人无法修改表格里面的内容如下图所示。
用sp_lock 和 sp_who查找出导致产生排它锁的进程,可以查看有什么表被锁,然后根据其PID,Kill 相应的PID杀掉该进程即可。
使用sp_lock查看当前阻塞进程所锁定的表对象,若某个表的blk_spid项下出现*.blk,则说明该表被锁定了,然后使用select object_name (table_id)得出所锁定的表名。
首先你要知道表锁住了是不是正常锁?因为任何DML语句都会对表加锁。\x0d\x0a\x0d\x0a你要先查一下是那个会话那个sql锁住了表,有可能这是正常业务需求,不建议随便KILLsession,如果这个锁表是正常业务你把sessionkill掉了会影响业务的。\x0d\x0a建议先查原因再做决定。\x0d\x0a\x0d\x0a(1)锁表查询的代码有以下的形式:\x0d\x0aselectcount(*)fromv$locked_object;\x0d\x0aselect*fromv$locked_object;\x0d\x0a(2)查看哪个表被锁\x0d\x0aselectb.owner,b.object_name,a.session_id,a.locked_modefromv$locked_objecta,dba_objectsbwhereb.object_id=a.object_id;\x0d\x0a(3)查看是哪个session引起的\x0d\x0aselectb.username,b.sid,b.serial#,logon_timefromv$locked_objecta,v$sessionbwherea.session_id=b.sidorderbyb.logon_time;\x0d\x0a\x0d\x0a(4)查看是哪个sql引起的\x0d\x0aselectb.username,b.sid,b.serial#,c.*fromv$locked_objecta,v$sessionb,v$sqlcwherea.session_id=b.sid\x0d\x0aandb.SQL_ID=c.sql_idandc.sql_id=''\x0d\x0aorderbyb.logon_time;\x0d\x0a\x0d\x0a(5)杀掉对应进程\x0d\x0a执行命令:altersystemkillsession'1025,41';\x0d\x0a其中1025为sid,41为serial#.
zblog锁表的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于、zblog锁表的信息别忘了在本站进行查找喔。
广告位 后台主题配置管理 |
广告位 后台主题配置管理 |