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

来自为知笔记(Wiz)

附件列表

时间: 2024-11-13 07:18:41

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

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

今天进行了第一次JAVA基础考试,考查了课本上前面三章和方法的知识,基本没有涉及到数组.通过这次的考试,暴露了自己在学习中的很多问题. 机试题是编写一个学员状态转换器,主要运用的是选择语句和方法,而没有用到循环的知识.这道题没有涉及到什么算法,思维过程并不难,但是用scanner语句接收单个字符的方法以前从来都没用到过,所以写代码的时候一下子懵了,在这关键的一句话上卡了很久,一直尝试也没有结果,平时用的scanner语句都是接收int类型的数字,后来终于知道了接收char类型的语句是char n

2019年10月20日第一次参加自学考试

第一次参加自学考试,考试前也没怎么复习,心想着今天就不浪费时间了,就不去考试了,但是,报都报了,来试试,体验体验可还行. 到了考场第一个感觉就是人好多,第二个感觉就是女生好多.人山人海. 进入考场发现来考试的人并不是很多,然后陆陆续续就都进来了,原来我给记错了,考试开始十五分钟后不能再进入考场的.记成考试前十五分钟后不能进入考场.路上那叫一个赶呀. 大多数都是学生. 偶尔几个老考试. 早上是中国近代史. 下午是软件工程. 早上可能人多点,下午的科目可能人就少多了. 考试时间超级漫长,两个半小时,

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

背景 操作系统为了适应更多的硬件环境,许多初始的设置值,宽容度都很高. 如果不经调整,这些值可能无法适应HPC,或者硬件稍好些的环境. 无法发挥更好的硬件性能,甚至可能影响某些应用软件的使用,特别是数据库. 数据库关心的OS内核参数 512GB 内存为例 参数 fs.aio-max-nr 支持系统 CentOS 6, 7 参数解释 aio-nr & aio-max-nr: . aio-nr is the running total of the number of events specifie

DBA顾问培训内容@20141230

1, 逻辑读还是物理读? 查询语句的实际执行计划. F5 预计执行计划. --如何产生实际执行计划 ??. --Session收集指令. workload repository report for AWR ELAPSECT: DBTIME.  分子/分母 轻松: ->1. --TOP 10 FOREGROUND EVENTS BY TOTAL WAIT TIME --SQL ORDERED BY GETS 磁盘缓冲区的次数 --SQL ORDERED BY VERSION COUNT 子游标排

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

概述 众所周知,在业务高峰期,某些针对Oracle数据库的操作具有很高的风险,比如修改表结构.修改实例参数等等,如果没有充分评估和了解这些操作所带来的影响,这些操作很可能会导致故障,轻则导致应用错误,重则导致数据库服务不可用. 另外,在非业务高峰期,某些看似风险不大的操作也可能会导致严重后果,比如不按管理流程修改表结构,如果这个表正好是Oracle GoldenGate复制组的一部分,修改了源端结构而没有通知OGG的相关人员,没有在目标端进行相同的操作,而DDL复制功能也没有打开的情况下,就会导

第一次考试的感受

2019-4-13,2019-4-14去苏州考试了,真是的没吃好没睡好,自己给自己的压力也是很大,第一次体验自考考试,还是有很多感触的,第一科考的是历史,我历史花的时间是最多的,幸运是选择题分值占得比重多,这次过的可能性很大,大题我背了很多,但是就考到2个,还是挺失望的,真是是运气很重要,如果考到我背的肯定对答如流啊,还好我选择题做的题库比较多,感觉就错了一个,所以通过的可能性还是相当的大.第二个是考的马克思,其实算是裸考了,因为时间太紧迫,我对马克思也不来电,做试卷的时候直接晕菜,啥也不会,就

恩墨学院Oracle实战培训开启DBA职业生涯

毫无疑问,当今时代早已经迈入了『数据时代』,数据无处不生.无处不在,也正以前所未有的方式在改变我们的生活. Oracle数据库的地位 而在IT技术领域,数据无疑落地存储在各种各样的数据库之中,在关系型数据库领域,Oracle 数据库是当之无愧的王者,经过40多年的发展,Oracle数据库在RDBMS领域占据了近50%的市场份额,其从业空间无疑是巨大了.下图展示了2015年的IDC调查数据,其中,中国市场Oracle数据库占有率高达56%,高出亚太区52%.全球43.9%的市场占有率. 时至今日,

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

vi(vim)可以说是linux中用得最多的工具了,不管你配置服务也好,写脚本也好,总会用到它.但是,vim作为一个“纯字符”模式下的工具,它的操作和WINDOWS中的文本编辑工具相比多少有些复杂.这里,我根据自己个人的使用经验,整理了一套vim的操作以及记忆的方法,希望对大家的学习有所帮助. VI的三种模式 1,命令模式   2,输入模式   3,末行模式 命令         执行的操作                 记忆方法 :q           退出                

Oracle DBA常用SQL

监控SQL 1.监控事例的等待: select event,sum(decode(wait_time,0,0,1)) prev, sum(decode(wait_time,0,1,0)) curr,count(*) from v$session_wait group by event order by 4; 2.回滚段的争用情况: select name,waits,gets,waits/gets ratio from v$rollstat a,v$rollname b where a.usn=