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. [CODEVS1295]N皇后(位运算+搜索)

    题目描述 Description 在n×n格的棋盘上放置彼此不受攻击的n个皇后.按照国际象棋的规则,皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子.n后问题等价于再n×n的棋盘上放置n个皇后,任 ...

  2. 【JS】Beginner3 & 4 & 5 & 6:Maths & Logic & Conditonal & Looping

    1.number operator () * / + - 2.logic make decisions in code compare values to produce a boolean valu ...

  3. vim配置vimrc详解

    vimrc的存放位置: 系统 vimrc 文件: "$VIM/vimrc" 用户 vimrc 文件: "$HOME/.vimrc" 用户 exrc 文件: &q ...

  4. Call Hierarchy(方法调用层次)

    在VS2010中的一项新功能:Call Hierarchy窗口,它可以审查代码,确定方法在哪里调用,以及它们与其他方法的关系. 打开一个类文件,找有方法体实现代码的方法,右键选择View Call H ...

  5. Installing your app on your Windows RT device

    Alright… so my app is almost finished and I want to install it for real on my Surface tablet. How do ...

  6. Delphi- DLL操作

    动态链接库(Dynamic Link Library)是一个可以执行的并可以被多个Windows应用程序共享的程序模块(Module).模块中包含代码.数据和资源. 动态链接库的优点:不用重复编译和链 ...

  7. C++/C#/java开发支持求解

    本人大一学C语言,大二学VB,大三学VC,毕业后工作前两年用C++,接着两年用C#,最近几个月Android开发用Java. 以下本人总结以下,有些疑惑希望大师帮忙解答. 1. C语言,精简,灵活,适 ...

  8. Java多重if....else if

    public class HelloWorld { public static void main(String[] args) { int age=25; if(age>60){ System ...

  9. 如何减少不能重现的Bug

    博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:如何减少不能重现的Bug.

  10. UML建模系列文章总结

    本文转载:http://www.cnblogs.com/ywqu/tag/UML建模/ 本人总结: UML类图按照关系分为三大类:继承关系.拥有关系.整体与部分的关系. 继承关系:泛化.实现 拥有关系 ...