十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
首先你要知道表锁住了是不是正常锁?因为任何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#.
创新互联客户idc服务中心,提供德阳电信服务器托管、成都服务器、成都主机托管、成都双线服务器等业务的一站式服务。通过各地的服务中心,我们向成都用户提供优质廉价的产品以及开放、透明、稳定、高性价比的服务,资深网络工程师在机房提供7*24小时标准级技术保障。
1、首先以DBA的身份登录Oracle10g。
2、修改SOCCT账户权限,"alteruserscottaccountunlock;"
3、修改HR账户权限,"alteruserhraccountunlock;" 在commit操作之后,继续:"alteruserhridentifiedbyhr;"
4、然后检查状态,就会发现已经解锁了。
原因:oracle输入密码不正确,试了10次后,会自动锁定用户。
解决方法:使用sqlplus命令行解锁。
步骤:
1、打开sqlplus窗口,用sysdba角色登录
2、请输入用户名: /as sysdba
3、SQLalter user GALTTEST account unlock;
用户已更改。
解锁成功啦!
在对指定表做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