zoukankan      html  css  js  c++  java
  • 7-2 DBA顾问第一次上次操作考试

    SQLPLUS执行: 

        1--@?/rdbms/admin/awrrpt 生产snapshot, 一个时间点, 再执行下一个时间点.
        2--
     
    附件作业第一次执行步骤: 1) SQLPLUS 中执行生产snapshot 2 个时间点; 2) 生成awR报告. 分析报告内容. 涉及命令窗口长度调整查看;3) 针对sqlid , 查看相应sql执行效能分析; 4) 切换添加init 条件后同样sql 的sqlid , 查看相应效能分析; 5) 查看理论与实际效能分析报告. 对应栏位解释分析.  -- 
    (DBA顾问培训内容)<DBA顾问培训内容@20141230>

     

    生成snapshot

    snapshot是oracle对系统按照时间周期进行信息收集。可以通过人工创建snapshot,获得一个应用开始前的系统信息,再应用完成后再次创建snapshot,获得刚才这段应用运行期间的系统信息更详细的了解本次应用对系统的影响。第2次snapshot创建完后,使用awrrpt脚本创建出基于这两次的snapshot的awrrpt即可。

    创建方法

    在sqlplus中执行

    execute dbms_workload_repository.create_snapshot();

    获得当前系统状态

    在sqllplus中执行

    col SQL_PLAN_OPERATION for a20

    col EVENT for a34

    col SESSION_STATE for a15

    col SESSION_ID for 99999

    col SESSION_SERIAL#  for 999999

    col username for a12

    col COMMAND for  99999

    col STATUS for a10

    col MACHINE for a20

    col TERMINAL for a20

    col PROGRAM for a20

    col TERMINAL for a20

    col SQL_ID for a20

    一分钟session明细信息

    select SAMPLE_TIME ,SESSION_ID,SESSION_SERIAL#,SESSION_TYPE  ,SQL_OPNAME,sql_id, SQL_PLAN_OPERATION,EVENT     ,SESSION_STATE        ,TIME_WAITED, BLOCKING_SESSION_STATUS  ,BLOCKING_SESSION,BLOCKING_SESSION_SERIAL#,PROGRAM, MODULE      from v$active_session_history where SAMPLE_TIME>sysdate -1/1440  order by SAMPLE_TIME ;

    一分钟事件信息

    select EVENT     ,SESSION_STATE        , BLOCKING_SESSION_STATUS  ,count(*),trunc(sum( TIME_WAITED)/count(*) )   from v$active_session_history where SAMPLE_TIME>sysdate -1/1440   group by EVENT, SESSION_STATE,BLOCKING_SESSION_STATUS   order by 4;

    一分钟内,最消耗CPU的sql语句 

    SELECT sql_id, count(*), round(count(*) / sum(count(*)) over(), 2) pctload FROM V$ACTIVE_SESSION_HISTORY WHERE sample_time > sysdate - 1/ (24 * 60) AND session_type <> 'BACKGROUND' AND session_state = 'ON CPU' GROUP BY sql_id ORDER BY count(*) ;

    一分钟内,最消耗CPU的session

    SELECT session_id, count(*) FROM V$ACTIVE_SESSION_HISTORY WHERE session_state = 'ON CPU' AND sample_time > sysdate -1/(24*60) GROUP BY session_id ORDER BY count(*) ;

    一分钟内,最消耗CPU的session 详细信息

    select USERNAME,COMMAND,STATUS,MACHINE,TERMINAL,PROGRAM,SQL_ID from v$session where sid in (select SESSION_ID from (SELECT session_id, count(*) c FROM V$ACTIVE_SESSION_HISTORY WHERE session_state = 'ON CPU' AND sample_time > sysdate -1/(24*60) GROUP BY session_id order by c desc ) where rownum <10);

    获得实际执行计划

    首先获得sql_id

    select sql_id, child_number,executions,parse_calls,loads,invalidations ,LAST_LOAD_TIME from v$sql where sql_text like   'SELECT distinct substr(l.line_name, 1, 1) || substr(l.line_nam%' order by LAST_LOAD_TIME;

    单引号内的字符串是原始sql语句的部分

    还可以通过‘获得当前系统状态’提到的方法获得sql_id,或者从awrrpt中获得sql_id。

    在sqlplus 中运行

     select * from table(dbms_xplan.display_cursor('31b1ba01z95b1',null,'all ALLSTATS LAST'));

    如果在语句运行前在sqlplus中设置

    alter session set statistics_level=all;

    alter session set timed_statistics=true;

    执行计划的内容会更丰富,以上设置在退出该session就失效。





    附件列表

  • 相关阅读:
    POJ 2975 Nim
    分治法习题
    排序与查找习题
    查找
    SQL注入之Sqli-labs系列第二十五关(过滤 OR & AND)和第二十五A关(过滤逻辑运算符注释符)
    SQL注入之Sqli-labs系列第二十四关(二阶注入)
    SQL注入之Sqli-labs系列第二十三关(基于过滤的GET注入)
    SQL注入之Sqli-labs系列第二十一关(基于复杂性的cookie POST报错注入)和二十二关(基于双引号的cookie POST报错注入)
    SQL注入之Sqli-labs系列第二十关(基于头部的cookie POST报错注入)
    json csrf
  • 原文地址:https://www.cnblogs.com/hijushen/p/4270462.html
Copyright © 2011-2022 走看看