Oralce解锁表
来源:互联网 发布:黑马php教程下载 编辑:程序博客网 时间:2024/05/23 14:31
转载:http://blog.sina.com.cn/s/blog_701218960100l0ij.html
今天把DataStage导一个大表,一不小心把表给锁住了........
SELECT s.username,
decode(l.type,'TM','TABLE LOCK',
'TX','ROW LOCK',
NULL) LOCK_LEVEL,
o.owner,o.object_name,o.object_type,
s.sid,s.serial#,s.terminal,s.machine,s.program,s.osuser
FROM v$session s,v$lock l,dba_objects o
WHERE l.sid = s.sid
AND l.id1 = o.object_id(+)
AND s.username is NOT Null
----以上为引用,下面是自己的方法
查看表是否锁住
select *
SELECT
--查询谁锁定,谁等待
SELECT
果发生了锁等待,我们可能更想知道是谁锁了表而引起谁的等待
以上的语句可以查询到谁锁了表,而谁在等待。
以上查询结果是一个树状结构,如果有子节点,则表示有等待发生。
如果想知道锁用了哪个回滚段,还可以关联到V$rollname,其中xidusn就是回滚段的USN
找出谁锁定的记录,kill掉就行了。
Oracle杀死死锁进程
先查看哪些表被锁住了:
1获得sid
select b.owner,
##########
2获得sid,serial
select b.username, b.sid, b.serial#, logon_time
3杀
alter system kill session 'sid,serial';
如果有ora-00031错误,则在后面加immediate;alter system kill session '29,5497' immediate;
--杀数据库进程(数据库服务器的机子)
SELECT a.username, c.spid AS os_process_id, c.pid AS oracle_process_id
补注:如果在数据库级别kill不掉。还可以在OS级别kill (方法简单明了)
1.下面的语句用来查询哪些对象被锁:
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;
2.下面的语句用来杀死一个进程:
alter system kill session '24,111'; (其中24,111分别是上面查询出的sid,serial#)
【注】以上两步,可以通过Oracle的管理控制台来执行。
3.如果利用上面的命令杀死一个进程后,进程状态被置为"killed",但是锁定的资源很长时间没有被释放,那么可以在os一级再杀死相应的进程(线程),首先执行下面的语句获得进程(线程)号:
select spid, osuser, s.program
from v$session s,v$process p
where s.paddr=p.addr and s.sid=24 (24是上面的sid)
4.在OS上杀死这个进程(线程):
1)在unix上,用root身份执行命令:
#kill -9 12345(即第3步查询出的spid)
2)在windows(unix也适用)用orakill杀死线程,orakill是oracle提供的一个可执行命令,语法为:
orakill sid thread
其中:
sid:表示要杀死的进程属于的实例名
thread:是要杀掉的线程号,即第3步查询出的spid。
例:c:>orakill orcl 12345
ORA-00031: session marked for kill
Cause: The session specified in an ALTER SYSTEM KILL SESSION command cannot be killed immediately (because it is rolling back or blocked on a network operation), but it has been marked for kill. This means it will be killed as soon as possible after its current uninterruptible operation is done.
Action: No action is required for the session to be killed, but further executions of the ALTER SYSTEM KILL SESSION command on this session may cause the session to be killed sooner.
kill -9 12345
- Oralce解锁表
- oralce解锁
- oralce 解锁
- Oralce用户解锁
- oralce用户解锁
- oralce用户解锁
- oralce笔记---查看被锁定表及解锁
- 1、Oralce服务、登录、用户权限解锁。
- oralce 查询锁并生成解锁语句
- oralce 账户过期 解锁 the user account is locked
- oralce 中查询锁表记录以及解锁
- oralce对用户的解锁和改密码
- oralce建立表空间
- oralce 锁表处理
- 误删oralce表
- Oralce表空间(Tablespace)
- oralce临时表
- oralce一些系统表
- ArrayList VS LinkedList
- C语言中的取整问题
- 《Programming in Lua 3》读书笔记(十八)
- HDU2188 悼念512汶川大地震遇难同胞——选拔志愿者
- Hadoop的安装与配置(01)
- Oralce解锁表
- IOS 四种保存数据的方式
- 有道云笔记、TreeDBNotes、iSpace Desktop
- solr 启动慢原因分析一则
- 个性化Vim语法高亮
- springMVC导出Excel(二)
- protected的访问权限
- 通过文件读写方式实现Matlab和Modelsim的联合仿真
- simulink仿真模型,不同模型库里的相同名称的模块,只能跟其所在模块库里的原件连接