oracle 检查被锁的表及解锁
处理方法一 :
检查那个表被锁
select sess.sid,sess.serial#, lo.oracle_username,lo.os_user_name,ao.object_name,lo.locked_mode
from v$locked_object lo,dba_objects ao,v$session sess
where ao.object_id = lo.object_id
and lo.session_id = sess.sid;
解锁
alter system kill session '273,45';
处理方法二 :
找到你要杀掉的那个SESSION, 并记下paddr
SELECT sid, username, paddr, status from v$session WHERE username = 'JCUSER' and sid=上面查出来的sid;
找到这个SESSION所对应的spid
SELECT ADDR,PID,SPID,USERNAME,SERIAL#,TERMINAL from v$process WHERE addr = '上面的PADDR';
杀掉spid所标识的那个进程
orakill sid spid
原文来源:http://tech.e800.com.cn/articles/2009/710/1247207067745_1.html
相关文档:
1) 选择最有效率的表名顺序(只在基于规则的优化器中有效):
ORACLE的解析器按照从右到左的顺序处理from子句中的表名,from子句中写在最后的表(基础表 driving table)将被最先处理,在from子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表。如果有3个以上的表连接查询, 那就需要选择交叉表(intersection ......
DECLARE
X NUMBER;
BEGIN
SYS.DBMS_JOB.SUBMIT
( job => X
,what => 'syn_rpt_members_relation;'
,next_date => to_date('02-07-2008 01:00:00','dd/mm/yyyy hh24:mi:ss')
,interval => 'trunc(sysdate)+1+1/24'
,no_parse => FALSE
);
SYS.DBMS_OUTPUT.PUT_LINE('Job Number is: ' || to_cha ......
Oracle中的decode用法
Decode(条件,值1,显示值1,值2,显示值2,…… 值n,显示值n)
应用举例:
select t.res_id,
t.res_size || '(kb)' as res_size,
decode(t.res_type,1,'模板区','0','文档区') res_type,
......
1.ORACLE采用自下而上的顺序解析WHERE子句,根据这个原理,表之间的连接必须写在其他WHERE条件之前, 那些可以过滤掉最大数量记录的条件必须写在WHERE子句的末尾.
例如:
(低效)
SELECT … from EMP E WHERE SAL > 50000 AND JOB = ‘MANAGER’ AND 25 < (SELECT COUNT(*) from EMP WH ......