数据库卡死?根据如下sql分析数据库sql执行情况

删除一个字段中的重复数据 保存一条数据

DELETE from 表 WHERE (id) IN ( SELECT id FROM 表 GROUP BY id HAVING COUNT(id) > 1) 
AND ROWID NOT IN (SELECT MIN(ROWID) FROM 表 GROUP BY id HAVING COUNT(*) > 1);
--第二种写法
select * from (select id,字段1,字段1,row_number() over (partition by card order by 字段3 desc) as rn
 from 表 ) where rn = 1

查看当前Oracle连接数:

select count(*) from v$process

查看目前项目消耗io资源的sql

select
      'ALTER system kill session $ '|| sid||','||serial# sid,'$;',--拼接强制结束sql代码
'alter system  kill session  '''||a.sid || ','|| a.serial# ||'''; ',
--       substr(program,1,19) prog,
--       address,
       substr(a.event,1,15) event,
--       substr(b.sql_profile,9,31) sqlprofile,
--       hash_value,
       b.sql_id||','||child_number sql_id,
       plan_hash_value,
       executions execs,
       (elapsed_time/decode(nvl(executions,0),0,1,executions))/1000000 avg_ela,
       last_call_et last_ela,
       sql_text
from v$session a, v$sql b
where status = 'ACTIVE'
and username is not null
and a.sql_id = b.sql_id
and a.sql_child_number = b.child_number
and sql_text not like '%from v$session a, v$sql b%'
and a.program not like '%(P%)'
order by plan_hash_value,last_call_et,sql_id, sql_child_number

查看执行该sql的机器名

select machine from gv$session where sql_id='2b064ybzkwf1y,0'

查看sql执行计划,查询总数

select
       plan_hash_value phv,
       lpad(' ',depth)||operation||' '||options operation,
       object_name object,
       cost,
       cardinality "ROWS",
       time
from v$sql_plan
where sql_id='3gxdkbf60ujcd'
order by sql_id,plan_hash_value,id
select 
       plan_hash_value phv,
       lpad(' ',depth)||operation||' '||options operation,
       object_name object,
       cost,
       cardinality "ROWS",
       time
from dba_hist_sql_plan
where sql_id='3gxdkbf60ujcd'
order by sql_id,plan_hash_value,id
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值