诊断oracle性能

--查看session的运行情况
select v.BLOCKING_SESSION,
       v.SID,
       ''''||V.SQL_ID||''',',
       v.EVENT,
       v.ROW_WAIT_OBJ#,
       v.ROW_WAIT_FILE#,
       v.ROW_WAIT_BLOCK#,
       v.ROW_WAIT_ROW#,
       V.*
  from gv$session v
where v.USERNAME = 'RCR'
   AND V.STATUS = 'ACTIVE';

编译包 编译不过的话 直接查 gv$access 这个视图

SELECT /*+ rule */ lpad(' ',decode(l.xidusn ,0,3,0))||l.oracle_username User_name,
        o.owner,o.object_name,o.object_type,s.sid,s.serial# ,s.OSUSER,s.MACHINE
FROM v$locked_object l,dba_objects o,v$session s
WHERE l.object_id=o.object_id
AND l.session_id=s.sid
ORDER BY o.object_id,xidusn DESC
;

2jjxp2ck3sxsw
0w2ydkfjpgkhf

SELECT *
FROM ALL_OBJECTS O
WHERE O.OBJECT_ID=100022;
--查看SQL
SELECT * FROM GV$SQL S WHERE S.SQL_ID='0w2ydkfjpgkhf';
--查看SQL
select * from gv$sqlarea v where v.SQL_ID='0w2ydkfjpgkhf';
--查可绑定变量
SELECT * FROM GV$SQL_BIND_CAPTURE V WHERE V.SQL_ID='2jjxp2ck3sxsw';
--查看执行计划
SELECT * FROM TABLE(DBMS_XPLAN.display_cursor('4uhvrshjuj7sj'));
--杀session
/*ALTER SYSTEM KILL SESSION '1573,22798';
ALTER SYSTEM KILL SESSION '1581,62578';
ALTER SYSTEM KILL SESSION '1631,65232';*/


---------------表分析-----------
BEGIN
   DBMS_STATS.GATHER_TABLE_STATS(
            OWNNAME => 'DMRCR'  ,
            TABNAME => 'DM_Rcr_rev_Task_Fact' ,
            ESTIMATE_PERCENT => 100             , --分析的百分比
            CASCADE => TRUE                    , --是否同时分析索引
            DEGREE => 8 );                       --并行度
END;


--查看表空间
SELECT C.TABLESPACE_NAME "表空间",
       ROUND(A.BYTES / 1024 / 1024 / 1024, 2) "表空间大小",
       ROUND((A.BYTES - B.BYTES) / 1024 / 1024 / 1024, 2) "已使用空间",
       ROUND(B.BYTES / 1024 / 1024 / 1024, 2) "剩余空间",
       ROUND(B.BYTES / A.BYTES * 100, 2) "剩余百分比"
  FROM (SELECT T.TABLESPACE_NAME, SUM(T.BYTES) BYTES
          FROM DBA_DATA_FILES T
         GROUP BY T.TABLESPACE_NAME) A,
       (SELECT A.TABLESPACE_NAME, NVL(SUM(B.BYTES), 0) BYTES
          FROM DBA_DATA_FILES A, DBA_FREE_SPACE B
         WHERE A.TABLESPACE_NAME = B.TABLESPACE_NAME(+)
           AND A.FILE_ID = B.FILE_ID(+)
         GROUP BY A.TABLESPACE_NAME) B,
       DBA_TABLESPACES C
WHERE A.TABLESPACE_NAME = B.TABLESPACE_NAME(+)
   AND A.TABLESPACE_NAME = C.TABLESPACE_NAME
   AND C.TABLESPACE_NAME IN ('RCR_DATA', 'RCR_IDX')
ORDER BY ROUND(B.BYTES / 1024 / 1024 / 1024, 2);


--定位SESSION中SQL运行问题-
select/* ash.session_id,*/ ash.sql_id, count(*)
  from dba_hist_active_sess_history ash
where ash.user_id = 351  -- 353 RAS,351 RCR
   and ash.snap_id between 33284 and 33284 + 25
group by/* ash.session_id,*/ ash.sql_id
order by 2 desc;

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值