7-2 DBA顾问第一次上次操作考试
SQLPLUS执行:
生成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顾问第一次上次操作考试的更多相关文章
- 第一次JAVA基础考试后的反思
今天进行了第一次JAVA基础考试,考查了课本上前面三章和方法的知识,基本没有涉及到数组.通过这次的考试,暴露了自己在学习中的很多问题. 机试题是编写一个学员状态转换器,主要运用的是选择语句和方法,而没 ...
- 一次delete基表回收DBA权限的危险性操作
1.0事件还原:测试库某个对象,使用具有DBA角色用户导出,生产环境普通用户无法导入数据,因此需要回收测试库dba角色,revoke无法回收 2.0操作流程 回收角色报错 测试环境测试,delete删 ...
- DBA不可不知的操作系统内核参数
背景 操作系统为了适应更多的硬件环境,许多初始的设置值,宽容度都很高. 如果不经调整,这些值可能无法适应HPC,或者硬件稍好些的环境. 无法发挥更好的硬件性能,甚至可能影响某些应用软件的使用,特别是数 ...
- react+antd 点击分页为上次操作结果
最近项目中在使用antd的分页组件时发生了第一次点击分页无变化,再次点击时数据为上一次的分页结果,代码如下: setPageIndex = (pagination)=> { const page ...
- 7-1 DBA顾问培训内容@20141230
1, 逻辑读还是物理读? 查询语句的实际执行计划. F5 预计执行计划. --如何产生实际执行计划 ??. --Session收集指令. workload repository report fo ...
- 使用技术手段限制DBA的危险操作—Oracle Database Vault
概述 众所周知,在业务高峰期,某些针对Oracle数据库的操作具有很高的风险,比如修改表结构.修改实例参数等等,如果没有充分评估和了解这些操作所带来的影响,这些操作很可能会导致故障,轻则导致应用错误, ...
- 职业生涯之完成OCM考试后的感想
背景知识:关于OCM认证,百科是这样描述的: Oracle Certified Master(OCM) 大师认证资质是Oracle认证的最高级别.此认证是对技术.知识和操作技能的最高级别的认可.Ora ...
- vim(vi)常用操作及记忆方法
vi(vim)可以说是linux中用得最多的工具了,不管你配置服务也好,写脚本也好,总会用到它.但是,vim作为一个“纯字符”模式下的工具,它的操作和WINDOWS中的文本编辑工具相比多少有些复杂.这 ...
- Oracle DBA常用SQL
监控SQL 1.监控事例的等待: select event,sum(decode(wait_time,0,0,1)) prev, sum(decode(wait_time,0,1,0)) curr,c ...
随机推荐
- Java笔记(十)……面向对象II封装(Encapsulation)
封装概念 封装: 是指隐藏对象的属性和实现细节,仅对外提供公共访问方式. 好处: 将变化隔离. 便于使用. 提高重用性. 提高安全性. 封装原则: 将不需要对外提供的内容都隐藏起来. 把属性都隐藏,提 ...
- oracle sys sysman system 介绍
Oracle数据库中SYS.SYSTEM.DBSNMP.SYSMAN四用户的区别 SYS用户: SYS,默认密码为CHANGE_ON_INSTALL,当创建一个数据库时,SYS用户将被默认创建并授予D ...
- linux中grep和egrep的用法
1. grep简介 grep (global search regular expression_r(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大 ...
- IT应聘者的简历应该是怎么样的?
从去年到现在看了几百份简历,包括产品运营和产品设计师的职位.我不是 HR,只是想直接看到求职者的状况,看看是不是要换更准确的渠道去招聘对的人.我看简历的目的也很简单:找到没有什么问题且可能合适的人,然 ...
- A Tour of Go Struct Fields
Struct fields are accessed using a dot. package main import "fmt" type Vertex struct { X i ...
- 学习Visitor Pattern 有感而发!override and overload
通过阅读各位前辈写的博文,像吕震宇,idior,李建忠WebCast等,对Visitor模式有一定的了解,有感而记录下来,以备忘. Visitor Pattern 假设了这样一个场景,在一个类型层次中 ...
- 【开发工具 - Git】之Git使用案例
本帖主要介绍一下Git在实际项目开发中的使用流程,包括克隆.暂存.提交.推送.拉取.分支.冲突解决等,暂时还不包括回退. 1.首先需要安装Git,下一步下一步就行,这里就不说了.值得一提的是,如果Gi ...
- jbpm与spring hibernate struts整合
applicationContext.xml <?xml version="1.0" encoding="UTF-8"?> <beans xm ...
- eclipse mybatis Generator
国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html内部邀请码:C8E245J (不写邀请码,没有现金送)国内私 ...
- 借助Ant工具,实现快速开发
当一个项目大了以后,每次重新编译,打包,运行等就会变得复杂.费时.重复,在c语言中有make脚本进行这些工作的批量完成,那么在java中,我们可以使用Ant. Ant是一个构建工具,可以完成这些任务: ...