深入解析oracle 数据库架构设计和性能优化实践

16

Click here to load reader

Upload: guoqiang-gai

Post on 18-Jun-2015

3.284 views

Category:

Documents


36 download

TRANSCRIPT

Page 1: 深入解析Oracle 数据库架构设计和性能优化实践

© 2009-2012 Eygle.com All rights reserved. 1

恩墨科技 成就所托

www.ENMOU.com

Page 2: 深入解析Oracle 数据库架构设计和性能优化实践

© 2009-2012 Eygle.com All rights reserved. 2

深入解析Oracle-数据库架构设计和性能优化实践

• 盖国强 (eygle) 北京恩墨科技

• Mobile:13911812803• MSN:

[email protected]• Site : www.eygle.com• Mail: [email protected]

Page 3: 深入解析Oracle 数据库架构设计和性能优化实践

© 2009-2012 Eygle.com All rights reserved. 3

Who am I 盖国强 北京恩墨科技有限公司 创始人

盖国强是国内第一个 Oracle ACE 及 ACE 总监 截至 2010 年已经出版了 8 本技术书籍,在国内拥有最广泛的读者群 国内最大技术论坛 ITPUB 的主要发起人之一 独家为甲骨文公司提供定制的“大师系列培训课程” 2006 年中国十大杰出数据库工程师之一 2010 年,他和张乐奕共同创建了旨在开展技术交流的中国 Oracle 用户组

( ACOUG – All China Oracle User Group ),并开展了持续的公益活动

Page 4: 深入解析Oracle 数据库架构设计和性能优化实践

© 2009-2012 Eygle.com All rights reserved. 4

数据库宏观的演进 - 拆分与并发

企业的经历:数据累积 性能衰减拆分数据表分割数据库分布式数据库异构与迁移企业的目标:提升性能提高稳定性保障数据安全

Page 5: 深入解析Oracle 数据库架构设计和性能优化实践

© 2009-2012 Eygle.com All rights reserved. 5

Instance

SGA

Redo LogBuffer

Shared Pool

Data DictionaryCache

Library Cache

DBWRSMONPMON CKPTLGWR Others

DatabaseBuffer Cache

Java Pool Large Pool

Streams pool

Server Result Cache

数据库微观的演进 - 拆分与并发

Latch:Oracle 的串行内存锁机制 Latch:shared Pool Latch:Library Cache Latch:Row Cache

Objects

Page 6: 深入解析Oracle 数据库架构设计和性能优化实践

© 2009-2012 Eygle.com All rights reserved. 6

数据库架构的演进 - 拆分与并发

Page 7: 深入解析Oracle 数据库架构设计和性能优化实践

© 2009-2012 Eygle.com All rights reserved. 7

DBA - 数据库管理员发展的三个阶段 第一阶段 (1990~2000) , 初期 , 钻石时代 第二阶段 (2000~2010) , 成长期 , 黄金时代 第三阶段 (2010~ ) , 成熟起 , 白银时代

数据库管理员演进 - 蓝海到红海

Page 8: 深入解析Oracle 数据库架构设计和性能优化实践

© 2009-2012 Eygle.com All rights reserved. 8

厂商支持

企业自身

顾问咨询

企业核心数据架构

数据是企业的核心

企业最了解自我的业务模式与业务需求

稳健的服务提供是基本保障

厂商提供通用的软件及硬件平台解决方案

顾问咨询以专业的技术经验为企业提供助力

核心数据架构的解决方案

Page 9: 深入解析Oracle 数据库架构设计和性能优化实践

© 2009-2012 Eygle.com All rights reserved. 9

数据库架构最佳实践• 目前的企业软件开发流程

– 软件企业独立完成– 需求分析 - 建模 - 开发 - 测试 - 维护

• 最优化的软件开发流程– 由专业顾问进行需求分析、建模,由软件厂商完成开发– 让专业的人完成各自最擅长的工作

• 适合国内企业的最佳实践– 帮助企业分析现有数据架构、模型的瓶颈与缺陷– 由性能出发进行反向工程– 借助对于数据库的精深了解构建 Oracle 最佳数据模型

方 法

Page 10: 深入解析Oracle 数据库架构设计和性能优化实践

© 2009-2012 Eygle.com All rights reserved. 10

以用户体验为根本目标• 海量并不可怕,可怕的是海量访问

– 依据业务将数据单元化– 依据时间完成数据的生命周期管理

• 通过确定的归档机制,定期、按规则将数据只读、分离和归档– 依据功能将业务分离

• 量化和精确控制 SQL的数据访问范围– 通过限定,确保查询范围不扩大

• 设计线性可扩展,性能弱衰减的数据系统– 基于对业务、数据库的深入理解,精确建模– 设计线性可扩展、性能弱衰减的长效系统– 线性理念推进到系统、业务分析阶段

方 法

Page 11: 深入解析Oracle 数据库架构设计和性能优化实践

© 2009-2012 Eygle.com All rights reserved. 11

Direct Path Read

Page 12: 深入解析Oracle 数据库架构设计和性能优化实践

© 2009-2012 Eygle.com All rights reserved. 12

Direct Path Read

Page 13: 深入解析Oracle 数据库架构设计和性能优化实践

© 2009-2012 Eygle.com All rights reserved. 13

FULL TABLE SCAN

• DB file scattered read– 通过 Buffer Cache执行多块读–产生 Cache buffer Chain 的使用

• Direct Path Read– 串行表扫描 (Serial Table Scan) – 通过直接物理读实现多块访问

Page 14: 深入解析Oracle 数据库架构设计和性能优化实践

© 2009-2012 Eygle.com All rights reserved. 14

以数据库的视角思考

1 3 5 8

1

3

5

cid data1 112 324 5

cid status1 Freea2 Free3 Free

Index IIndex IICache buffer chainCache buffer lru chainLatch:Latch:

0 1 0 1 0 1 0 1 0 1

1 0 1 0 1 0 1 0 1 0

0 1 0 1 0 1 0 1 0 1

1 0 1 0 1 0 1 0 1 0

0 1 0 1 0 1 0 1 0 1

1 0 1 0 1 0 1 0 1 0

0 1 0 1 0 1 0 1 0 1

1 0 1 0 1 0 1 0 1 0

Page 15: 深入解析Oracle 数据库架构设计和性能优化实践

© 2009-2012 Eygle.com All rights reserved. 15

以数据库的视角思考