oracle帮助文档——performance性能 tuning guide

/5自动性能统计

5.1 Data Gathering概述
三种方式 (1)AWR通过 V$SESSTAT和V$SYSSTAT;示例关闭时,保存快照 (2)A metric (3)ASH
工具:baseline
内容:数据库统计:(1)等待事件,IO等(2)时间统计模型,等待时间(3)V$ACTIVE_SESSION_HISTORY(4)V$SYSSTAT和V$SESSTAT
          操作系统统计:(1)
CPU统计(2)
虚拟内存统计(3)
磁盘I / O统计(4)
网络统计

           Interpreting统计:(1)
Hit ratios (2) Wait events with timed statistics (3) Comparing (4)其他

5.2 AWR概述
5.2.1
5.2.3自适应阈值:    根据统计信息重新设置警告线?     类型:百分比最大值、显著性水平
5.2.4空间消耗的因素(1)活动会话数(2)Snapshot interval(3)Historical data retention period
         作用:ADDM;SQL tuning advisor;undo advisor;段advisor
         根据工作收益来调


5.3 管理AWR


5.3.3 Baseline Templates基线模板,以便将来使用基线模板捕获指定的时间段
        
       

/7 Configuring and Using Memory



7.6管理Server and Client Result Caches
特点:(1)that stores the result of a   database query or query block  for reuse
           (2)The cached rows are shared   across statements and sessions  unless they become stale.
位置:shared pool.
包括:SQL queries, and a PL/SQL function result cache
参数:RESULT_CACHE_MAX_SIZE=0时,禁用
           RESULT_CACHE_MAX_RESULT=5%,单个结果的最大缓存
           RESULT_CACHE_REMOTE_EXPIRATION=0,存储到期时间
支持flashback queries
RESULT_CACHE

7.6.4 Result Cache的预配
无法cache的:
(1)SYS或SYSTEM模式中的临时表和表
(2)序列CURRVAL和NEXTVAL伪列
(3)SQL函数CURRENT_DATE,CURRENT_TIMESTAMP,LOCAL_TIMESTAMP,USERENV/SYS_CONTEXT(与非恒定的变量), ,SYS_GUID,SYSDATE和SYS_TIMESTAMP


/8  I/O Configuration and Design

8.1 About I/O:
如果应用程序不是I/O绑定(例如,当CPU是限制因素)时,调整I/O不能帮助性能


8.3 数据库内的I/O校准
前提:(1)用户必须被授予SYSDBA权限(2)timed_statistics 必须设置为 TRUE(3)必须启用异步I / O




/ 9管理操作系统资源

9.1 Operating System Performance Issues
9.1.1 Using Operating System Caches
IO:
(1)By default, all database I/O goes through the file system cache.
(2)异步IO:提交和处理同时进行。直接IO???
(3)参数:FILESYSTEMIO_OPTIONS          
                  ASYNCH: 在文件系统文件上启用异步I / O,这对传输没有时间要求。
                  DIRECTIO: 在文件系统文件上启用直接I / O,绕过缓冲区缓存。
                  SETALL: 启用文件系统文件上的异步和直接I / O。
                    NONE: 禁用文件系统文件上的异步和直接I / O。

/11 查询优化器

11.1查询优化器概述
优化器的操作:
有四种:full table scans , index scans, nested loops, and hash joins .
步骤:1、根据访问路径和计划生成SQL语句的潜在计划
            2、根据statistics(表、索引、数据结构、存储特征)估计成本(IO,CPU、内存)
            3、选最低成本
组件:
以下说明图11-1
1、查询转换器的转换技术:
view merge:将view where 查询转化为table where and查询
predicade pushing: 将条件view查询转化为union table查询     
subquery unnesting:将子查询转化为连接查询
物化视图 查询重写 :ENABLE QUERY REWRITE
2、估计
选择性:与谓词有关
基数:
成本:IO,CPU,内存
3、计划生成
???
绑定变量peeking
自适应光标???
V$SQL 显示游标是绑定敏感还是绑定感知
V$SQL_CS_HISTOGRAM 显示三桶执行历史记录直方图中的执行次数分布
V$SQL_CS_SELECTIVITY 显示了对于包含绑定变量的每个谓词,如果选择性用于检查游标共享,则存储的选择性范围
V$SQL_CS_STATISTICS 总结优化器用于确定是否标记游标绑定感知的信息。

11.2优化器访问路径概述
全表FULL(table alias)、
rowid:
index: 评估block的IO而不是行的IO
cluster、
hash、
示例表扫描

11.3优化器连接概述
特征:子句中多一个from

11.4阅读和理解执行计划
执行计划包括:访问路径、表连接顺序、表连接方法
EXPLAIN PLAN FOR  select * from……   区别于执行计划??
谓词

11.5控制优化器行为
OPTIMIZER_MODE
从数据字典里的查优化统计信息(DD里的OS)


/12使用EXPLAIN PLAN

1、row source tree是execution plan的核心:排序、访问方法、连接方法
2、优化    
3、分区
4、并行



/13 Managing Optimizer Statistics

13.3 Gathering Statistics Manually

功能包:DBMS_stats.
因素:
(1)using sample ;EXECUTE DBMS_STATS.GATHER_SCHEMA_STATS('OE',DBMS_STATS.AUTO_SAMPLE_SIZE);
(2)并行
(3)分区 ;粒度GRANULARITY;INCREMENTAL=false(默认)全局扫描
(4)列统计和histogram;
(5)确定旧统计
(6)用户定义统计

13.5 Managing Statistics
13.5.1 Pending Statistics
(1)保存在data dictionary中
(2)从11.2开始,当gathering statistics时,你可以a自动发布,b也可以saved as pending验证后发布
(3)Extended Statistics包括 Column group statistics 和Expression statistics
(4)如果希望优化器使用newly collected pending statistics,请将初始化参数设置OPTIMIZER_USE_PENDING_STATISTICS=TRUE



/15 Using SQL Plan Management(自动维护任务?)


15.2 Managing SQL Plan Baselines
 
15.2.1 自动捕获计划

15.2.2 从现有计划创建基准:手动加载
                                                    从SQL调优集和AWR快照加载计划
                                                    从共享SQL区域加载计划

15.3 使用带有SQL Tuning Advisor的SQL Plan Baselines
——> 先比较,如果发现比原来的好,则accept a SQL profile
——>adds the tuned plan to the corresponding SQL plan baseline



15.4 使用Fixed SQL Plan Baselines



15.6 SQL管理基线(SMB)
概述:存储于SYSAUX中,是DD的一部分,
存储内容:statement logs, plan histories, SQL plan baselines, and SQL profiles.超过时会写入告警日志
空间:默认不超过sysaux的10%,可以在1%-50%之间。 命令: DBMS_SPM.CONFIGURE( 'space_budget_percent',30);
保存期限:5-523周。命令:DBMS_SPM.CONFIGURE('plan_retention_weeks',105);


15.8 Migrating Stored Outlines to SQL Plan Baselines
定义:a set of hints for a SQL statement;这个hint指示 optimizer选择具体的计划;保证 plan stability的传统技术


/16 SQL Tuning Overview

16.4 Automatic SQL Tuning功能
SQL Tuning Advisor:优化已被标识为高负载SQL语句的SQL语句。
SQL Tuning Sets:包括一组SQL语句及其关联的执行上下文和基本执行统计信息
SQL Access Advisor:为workload提供materialized views, materialized view logs, and indexes集



16.6 构建SQL测试用例

收集出问题时,其发生环境的信息的困难和耗时的过程(就是把sql出问题时的环境信息收集一下,一起打包给help)
SQL Test Case Builder测试用例生成器收集的信息:
(1)被execute  query;
(2)table和index defined;   没有actual data
(3) PL/SQL functions,
(4)procedures, and packages, 
(5) optimizer statistics
(6)and i nitialization parameter settings.                

访问:
1、EM:Support Workbench——单击事件——分析和解决——生成转储和测试用例——go to task
2、SQL:DBMS_SQLDIAG


/17 Automatic SQL Tuning


17.2 管理自动SQL调优顾问
步骤:
(1)识别SQL candidates,根据统计信息生成SQL列表
(2)调用SQL advisor
(3)测试SQL profile,如果接受则:ACCEPT_SQL_PROFILES=true

17.3 SQL Tuning的Reactively调整
输入源:ADDM,AWR,share SQL area,SQL调优集。
选项
Limited:只生成结构和路径,不生成profile 
Comprehensive:生成结构和路径,生成profile,还可以指定时间限制
输出:
EM
DBMS_SQLTUNE.SQL Tuning Advisor


17.4 Managing SQL Tuning Sets--不懂

A database object包括:(文本,执行内容,执行频率)
(1)一组SQL语句;
(2)关联的执行文本:user schema, application module name and action, list of bind values, and the cursor compilation environment
(3)相关的统计信息????





17.5 管理SQL Profiles  (recommend随着advisor自动的??)
创建:accept a profile——永久存储在数据字典——优化器使用profile和环境参数来构建一个plan
使用:获得ADMINISTER SQL MANAGEMENT OBJECT权限
接受profile:DBMS_SQLTUNE.ACCEPT_SQL_PROFILE
更改:ALTER_SQL_PROFILE
删除: BEGIN    DBMS_SQLTUNE.DROP_SQL_PROFILE(name =>'my_sql_profile');end;/









/18 SQL Access Advisor

18.1 概述
功能:推荐适当的物化视图集,物化视图日志, 分区和索引来帮助您实现性能目标。
步骤:(1)DBMS_ADVISOR.CREATE_TASK
            (2) 定义工作负载,DBMS_SQLTUNE+ DBMS_ADVISOR.ADD_STS_REF。 前两步执行完才能出现想要的结果
             (3)生成建议DBMS_ADVISOR.EXECUTE_TASK
               (4)DBMS_ADVISOR.GET_TASK_SCRIPT
存储:resides in the Advisor repository, which is a part of the database dictionary.
    建立数据库初期, 模拟制定一个假想工作量,来设置baseline,暂时用不到AWR

18.2 Using SQL Access Advisor
创建任务:DBMS_ADVISOR.CREATE_TASK(
创建模板设置末班参数:

SQL Access Advisor Workloads


DBMS_ADVISOR.QUICK_TUNE( )       该过程创建一个任务和工作负载执行此任务。


18.2.5 Working with Recommendations
18.2.5.11 Script Includes Partitioning Recommendations 需要很长时间












  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值