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就失效。

附件列表

7-2 DBA顾问第一次上次操作考试的更多相关文章

  1. 第一次JAVA基础考试后的反思

    今天进行了第一次JAVA基础考试,考查了课本上前面三章和方法的知识,基本没有涉及到数组.通过这次的考试,暴露了自己在学习中的很多问题. 机试题是编写一个学员状态转换器,主要运用的是选择语句和方法,而没 ...

  2. 一次delete基表回收DBA权限的危险性操作

    1.0事件还原:测试库某个对象,使用具有DBA角色用户导出,生产环境普通用户无法导入数据,因此需要回收测试库dba角色,revoke无法回收 2.0操作流程 回收角色报错 测试环境测试,delete删 ...

  3. DBA不可不知的操作系统内核参数

    背景 操作系统为了适应更多的硬件环境,许多初始的设置值,宽容度都很高. 如果不经调整,这些值可能无法适应HPC,或者硬件稍好些的环境. 无法发挥更好的硬件性能,甚至可能影响某些应用软件的使用,特别是数 ...

  4. react+antd 点击分页为上次操作结果

    最近项目中在使用antd的分页组件时发生了第一次点击分页无变化,再次点击时数据为上一次的分页结果,代码如下: setPageIndex = (pagination)=> { const page ...

  5. 7-1 DBA顾问培训内容@20141230

    1, 逻辑读还是物理读? 查询语句的实际执行计划. F5 预计执行计划. --如何产生实际执行计划 ??. --Session收集指令.   workload repository report fo ...

  6. 使用技术手段限制DBA的危险操作—Oracle Database Vault

    概述 众所周知,在业务高峰期,某些针对Oracle数据库的操作具有很高的风险,比如修改表结构.修改实例参数等等,如果没有充分评估和了解这些操作所带来的影响,这些操作很可能会导致故障,轻则导致应用错误, ...

  7. 职业生涯之完成OCM考试后的感想

    背景知识:关于OCM认证,百科是这样描述的: Oracle Certified Master(OCM) 大师认证资质是Oracle认证的最高级别.此认证是对技术.知识和操作技能的最高级别的认可.Ora ...

  8. vim(vi)常用操作及记忆方法

    vi(vim)可以说是linux中用得最多的工具了,不管你配置服务也好,写脚本也好,总会用到它.但是,vim作为一个“纯字符”模式下的工具,它的操作和WINDOWS中的文本编辑工具相比多少有些复杂.这 ...

  9. Oracle DBA常用SQL

    监控SQL 1.监控事例的等待: select event,sum(decode(wait_time,0,0,1)) prev, sum(decode(wait_time,0,1,0)) curr,c ...

随机推荐

  1. HW4.33

    public class Solution { public static void main(String[] args) { int sum; for(int i = 6; i < 1000 ...

  2. 神奇的问题记录【SqlDataAdapter Fill DataSet】

    今天发现程序中有一张报表查询速度很慢[全条件要二分钟左右],查找相关原因,准备进行优化处理.注:报表调用存储过程,存储过程返回两个table就有以下神奇的故事: 直接将SQL语句在SSMS中执行发现全 ...

  3. key_t键和ftok函数

    系统建立IPC通讯(如消息队列.共享内存时)必须指定一个ID值.通常情况下,该id值通过ftok函数得到. ftok原型如下: key_t ftok( char * fname, int id ) f ...

  4. 关键在封装并发出了帧-IP冲突也无所谓

    最近有点走火入魔了!本文所用技术非标准,较真儿者慎入!! 一个局域网内,两台机器拥有同样的IP,可以吗? 这不就是IP地址冲突吗?当然不行! 可是要知道,如果搞点旁门左道,还是可以做到的! 首先要明白 ...

  5. POJ3111 K Best

    Description Demy has n jewels. Each of her jewels has some value vi and weight wi. Since her husband ...

  6. WebSerivce测试工具 Storm

    STORM 是一款免费且开源的WebSerivce测试工具 它的功能: 1,测试任意语言测试 WebService 2,可动态调用webservice的方法,即使输入参数需要使用复杂的数据类型 3,节 ...

  7. UML 2中结构图的介绍

    原文: http://www.ibm.com/developerworks/cn/rational/rationaledge/content/feb05/bell/ 这是关于统一建模语言.即UML 里 ...

  8. Palindrome(poj3974)(manacher算法)

    http://poj.org/problem?id=3974 Palindrome Time Limit: 15000MSMemory Limit: 65536K Total Submissions: ...

  9. 验证(Verification)与确认(Validation)的差别

    验证(Verification)与确认(Validation)的差别 说法一: (2)“验证(Verification)”的涵义 通过提供客观证据对规定要求已得到满足的认定. (2)“确认(Valid ...

  10. cocos2d-x 3.0 Armature jsb 初体验

    有段时间没有写游戏代码了,这回来主要任务是要用jsb构建一个aprg动作游戏,看到3.0官方已经绑定好了armature的js函数,先来体验一把 3.0新建项目比2.2方便了很多,在终端运行tools ...