场景5 Performance Management

性能调优(不能重启数据库)

索引

资源管理器

性能优化

统计分析

SQL性能分析

SPM (SQL执行计划管理)

堆表 :数据存储无序

位图索引 :适合字段重复值高的,数据仓库环境下(适合OLAP/DSS环境),存储占用空间少, DML成本高, WHERE中与或操作效率高

eg :

select count(*) from customers where m_status = married and region in (‘central’, ‘west’);

eg :

su -oracle

sqlplus / as sysdba

set linesize 120

set pagesize 20

line on

timing on

sqlprompt ‘_user@_connect_identifier’

start up

alter user scott identified by tiger unlock;

conn scott/tiger

create table t1 (id number, color varchar2, pty number);

begin for i in 1..50000 loop insert into t1 values(1, blue’, 1000); end loop; commt; end; /

select count(*) from t1;

update t1 set color=‘red’ where id < 20001;

update t1 set color=‘green’ where id > 40000;

commit;

select distinct color from t1;

!clear

create tablespace indx datafile ‘/u01/app/oracle/prod/indx01.dbf’ size 100m;

create indext1_color_ind on t1(color) tablespace indx;

analyze table t1 compute statistics; (表分析)

analyze index t1_color_ind compute statistics;

select a.table_name, a.index_name, a.index_type, a.leef_blocks, b.height from user_indexes a.index_stats b where a.index_mane=b.index_name and a.index_name=’T1_COLOR_IND’;

col table_name for a10

col index_name for a10

@?sqlplus/

conn scott/tiger

set autrace trace

select count(*) from t1 where color=‘blue’;

set auto trace off

select * from t1 where id<10;

drop index t1_color_indx;

create bitmap index t1_color_indx on t1(color) tablespace indx;

analyze index t1_color_indx compute statistics;

analyze index t1_color_indx valudate structure;

select a.table_name, a.index_name, a.index_type, a.leef_blocks, b.height from user_indexes a.index_stats b where a.index_mane=b.index_name and a.index_name=’T1_COLOR_IND’;

set autostrade trace

select count(*) from t1 where color=‘red’;

set auto trace off

select * from  t1 where id < 10;

update t1 set color = ‘blue’ where id = 1;

update t1 set color = ‘green’ where id = 2;(打开另一个会话)

rollback;

rollback;

set autotrace trace

select count(*) from t1 where color=‘red’ or color = ‘blue’;

su - oracle

|sql

e.g. : select rowid, ename, sal from emp;

rowid : 6 :object_id, 3 :file#, 6 :block, 3 : row#

复合压缩索引 :

全局hash索引 :

反向索引 :解决热块问题,不适合范围查询

平衡树索引(普通索引):适合字段基数大,重复值少,DML代价比较低,适合OLTP环境

经常用于select语句中,where语句中,排序的字段适合建立索引

表级共享锁 share lock

行级排他锁 exclusive lock

段级位图锁

eg :

show parameter cpu

show parameter resoure

eg 资源管理器的创建 :

官方文档 :administrator

SQL 语句执行的三个过程 :

parse解析 : 建立执行计划

execute执行 :

fetch取值从buffer cache里获取数据 :

硬解析 :三步

软解析 :

1. 在lib cache读取执行计划

2. execute plan

3. 从buffer cache读取数据块

LRU : 最近最少使用

eg :

alter system set result_cache_max_size=0;

show parameter result

alter system set result_cache_max_size=1536;(从0改为非0后,必须重启才能生效)

eg :

conn scott/tiger

select /*+ result_cache */ count(*) from emp;

set autotrace trace

r

r

1

show parameter result

alter system set result_cache_mode = force;

select /*+ result_cache */ count(*) from emp;

r

exec dbms_result_cache.flush;

r

r

select dbms_result_cache.status from dual;

shutdown immediate;

startup

select dbms_result_cache.status from dual;

show parameter result

alter system set result_cache_mode=manual;

conn scott/tiger

set autotrace trace

select count(*) from emp where empno=20;

select /*+ result_cache */ count(*) from emp where deptno=20;

exec dbms_result_cache.memory_report;

set serverout on

exec dbms_result_cache.memory_report;

eg :

select * from emp where deptno=:n;

结果缓存(官方文档 Performance Tuning Guide 7.6 Managing the server and client query cache)

统计分析 (官方文档 PL/SQL Package and Type Reference 或

SPA (SQL Performance Analyzer)

SQL性能优化分析

SPM(SQL Plan Management)

SQL执行计划管理

store outline 存储纲要

sql profile

hints 提示

稳定执行计划,根据访问对象的变化,实时调整新的计划

spm : sql执行计划管理

sql plan baseline : 执行计划基线(执行计划的集合)

eg :

show parameter optimizer

eg :

select * from tab;

create table emp1 select * from emp;

select * from emp1;

set autotrace on

select * from emp1 where empno=7788;

r

select sql_text, sql_id from v$sql where sql_text like ‘select * from emp%’; (查询sql id)

set serveroutput on

declare

`1_plans_loaded pls_integer;

begin

1_p;ans_loaded := DBMS_SPM.load_plans_from_cursor_cache(sql_id =>…);

DBMS_OUTPUT.put_line(‘Plans Loaded : || 1_plan_loaded);

end;

/

select sql_handle, plan_name, enabled, accepted from dba_sql_plan_baselines where sql_text like ‘%emp1%’ and sql_id not like ‘%dba%’ ;

create index

set autotrace on

select * from emp1 where empno = 7788;

场景5 Performance Management的更多相关文章

  1. 场景3 Data Management

    场景3 Data Management 数据管理 性能优化 OLTP OLAP 物化视图 :表的快照 传输表空间 :异构平台的数据迁移 星型转换 :事实表 OLTP : 在线事务处理 1. trans ...

  2. Pinpoint是一个开源的 APM (Application Performance Management/应用性能管理)工具,用于基于java的大规模分布式系统,基于Google Dapper论文

    Pinpoint是一个开源的 APM (Application Performance Management/应用性能管理)工具,用于基于java的大规模分布式系统,基于Google Dapper论文 ...

  3. puma vs passenger vs rainbows! vs unicorn vs thin 适用场景 及 performance

    ruby的几个web server,按照开发活跃度.并发方案及要点.适用场景等分析puma vs passenger vs rainbows! vs unicorn vs thin. 1. thin: ...

  4. 应用性能管理(APM, Application Performance Management)

    当下成熟的互联网公司都建立有从基础设施到应用程序的全方位监控系统,力求及时发现故障进行处理并为优化程序提供性能数据支持,降低整体运维成本.国内外商业的APM有Compuware.iMaster.博睿B ...

  5. 独立安装Oracle Hyperion Enterprise Performance Management 验证过程

    在安装EPM的过程中,都是安装既定的操作手册进行,只是一个过程的重复,对自己安装不会留下深刻的印象.根据自己学习体会,制定安装步骤,去验证自己学习过程中的体会,加深学习印象,解决安装中遇到的问题,模仿 ...

  6. Thinking Clearly about Performance

    http://queue.acm.org/detail.cfm?id=1854041 The July/August issue of acmqueue is out now acmqueue is ...

  7. Java Performance Optimization Tools and Techniques for Turbocharged Apps--reference

    Java Performance Optimization by: Pierre-Hugues Charbonneau reference:http://refcardz.dzone.com/refc ...

  8. Magic Quadrant for Security Information and Event Management

    https://www.gartner.com/doc/reprints?id=1-4LC8PAW&ct=171130&st=sb Summary Security and risk ...

  9. 一篇分析诊断被&quot;hang&quot;住数据库的资料(Oracle Performance Diagnostic Guide——Hang/Locking)

    该资料已上传至本人QQ群空间,如需该资料,可到本人QQ群空间查找.下面贴表文本: Oracle Performance Diagnostic GuideHang/LockingVersion 3.1. ...

随机推荐

  1. JS OOP编程

    //父类 function BaseFun() { var hello = "HelloWorld"; this.HelloPublic = "Hello--World& ...

  2. understanding ECMAscript 6 ---- block bindings

    Traditionally, the way variable declarations work has been one tricky part of programming in javascr ...

  3. 开发微信小程序 中遇到的坑 及解决方法

    1.wx.request 只能访问 https 解决: 新建项目  不填appid  即可访问 localhost 2.页面中多重三元表达式  解析有问题 解决: <!--{{index}} { ...

  4. Java学习之Iterator(迭代器)的一般用法 (转)

    迭代器(Iterator) 迭代器是一种设计模式,它是一个对象,它可以遍历并选择序列中的对象,而开发人员不需要了解该序列的底层结构.迭代器通常被称为"轻量级"对象,因为创建它的代价 ...

  5. Caché数据库学习笔记(5)

    目录 Cache数据库方法的RESTful封装 ================================================================ 因为对web serv ...

  6. ionic实现双击返回键退出功能

    实现这个功能需要四个步骤: 步骤一: 说明:因为需要和手机的硬件(返回按钮)打交道,而ionic本身是不具备该功能的,但是有一个东西可以:ng-cordova插件,这个插件是phoneGap为了能让i ...

  7. map erase iterator

    错误写法: map<int, int> m; for (map<int, int>::iterator it = m.begin(); it != m.end(); it++) ...

  8. mybatis(4)_二级缓存深入_使用第三方ehcache配置二级缓存

    增删改对二级缓存的影响 1.增删改也会清空二级缓存 2.对于二级缓存的清空实质上是对value清空为null,key依然存在,并非将Entry<k,v>删除 3.从DB中进行select查 ...

  9. Scala学习(二)

    二.Scala基础 1.变量:三种修饰符 -> ①val 常亮②var 变量③lazy val 惰性变量求值 2.类型 3.代码块 Block {exp1;exp2} 或 { exp1 exp2 ...

  10. EasyUI combobox 下拉高度自适应

    要指出的是,combobox是继承自combo的,所以,combo的属性也可以被combobox使用,该问题也是这样产生的,知道这个原理,该问题就解决一半了,另一点要指出的是,在easyui中,num ...