Oracle 性能分析(一)

下面是我这一年来比较常用的几个脚本,基本上处理问题就靠这些sql混了,现记录下来
1.查看用户的session信息    
select * from v$session where username='ETL'
2.查看sid所对应的spid   
select se.SID,se.SERIAL#,pr.SPID from v$session se,v$process pr   where pr.ADDR=se.PADDR and se.SID=71
3.查看sid相应的执行sql
SELECT   sql_text    FROM v$sqltext a  WHERE a.hash_value = (SELECT sql_hash_value   FROM v$session b   WHERE b.SID = '48')  ORDER BY piece ASC
4.查看spid相应执行sql
SELECT /*+ ORDERED */ sql_text   FROM v$sqltext a  WHERE (a.hash_value, a.address) IN
         (SELECT DECODE(sql_hash_value, 0, prev_hash_value, sql_hash_value),
               DECODE(sql_hash_value, 0, prev_sql_addr, sql_address)
          FROM v$session b
         WHERE b.paddr =
               (SELECT addr FROM v$process c WHERE c.spid = '15125'))
 ORDER BY piece ASC
5.查看block所在的表空间
SELECT tablespace_name, segment_type, owner, segment_name   FROM dba_extents    WHERE file_id = 44  and 35245 between block_id AND block_id + blocks
6.产生批处理可以执行文件
begin
for i in -60..-1 loop
dbms_output.put_line('exec proc_tbl_sms_order_from(sysdate'||i||') ;');
end loop;
end ;
7.ALTER TABLE tbl_mt_succ DROP partition TBL_MT_SUCC_2006P9; --删除表分区
ALTER TABLE tbl_mt_succ ADD PARTITION TBL_MT_SUCC_2008P3 VALUES LESS THAN (TO_DATE('2008-04-01','YYYY-MM-DD') ) ; --增加分区
8.事务的uno
select used_ublk   from v$transaction   where addr = (select taddr   from v$session   where sid = (select sid from v$mystat where rownum = 1))
9.事务的redo
select my.SID, st.NAME, my.VALUE   from v$mystat my, v$statname st   where st.STATISTIC# = my.STATISTIC#  and st.NAME = 'redo size'

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值