`
seapigxie
  • 浏览: 27299 次
社区版块
存档分类
最新评论

Platu_Phantom的日记(转载)

 
阅读更多
  让Oracle跑得更快 - Oracle 10g性能分析与优化思路

    引起性能问题的因素
        10g以上:CBO(基于成本的优化),不要用hint过多干预
        避免不必要的外连接:如 ... where t1.a=t2.b(+) and t2.c>100 这里t2应该是内连接
        优化器模式:对于报表类选择all_rows,对于网站分页用first_rows
        OLAP:系统瓶颈在磁盘IO上
        数据的安全:Data Guard; RAC; Rman+归档; exp/imp
    锁和阻塞
        V$LOCK
        TM:表级段锁(shared)
        引起阻塞的其他情况:
            select for update
            外键没索引
    Latch和等待
        latch争用:select * from v$latchname where name like 'library cache%' 检查绑定变量的使用
        数据块访问的争用:(类型:表、索引、索引根、文件头)
            buffer busy waits
            cache buffer chain
        反向索引:导致index range scan无效
        9i+ ASSM:自动管理“free lists”
    优化器
        10g:彻底抛弃了RBO,‘动态采样’,选择最优的执行计划
    执行计划
        Card值:期望返回的记录数(它怎么知道的?)
        分析表:exec dbms_stats.gather_table_stats(user,'t',cascade=>value);
    Hint
    分析及动态采样 Lv0~10
    并行执行
        PX Deq Credit: send blkd 空闲等待事件
        SQL Loader直接加载:sqlload USERID scott/tiger CONTROL-PART1.CTL DIRECT=TRUE
    变量绑定
    SQL_TRACE和10046事件
        tkprof
    10053事件
    性能视图和性能参数
        V$SQL
        V$SQL_SHARED_CURSOR
        v$session
        V$sessstat
        V$session_wait(原书这里大小写不一致)
    性能报告
        statspack -> 10g AWR
        10gr2:ASH(活动会话历史,AWR的一部分)

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics