ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Effective Oracle by Design笔记

Effective Oracle by Design笔记

原创 Linux操作系统 作者:husthxd 时间:2006-04-28 00:00:00 0 删除 编辑

last updated 2006-04-29


Effective Oracle by Design
第一章 构建应用程序的正确方法
1.以数据库独立的名义,拒绝利用特定数据库的特性,拒绝扩展其功能.这实际是选择了取消而不是利用公司为之付出了金钱的大多数功能.
2.设计出性能而不是调整出性能.
3.知道一个系统是否调整好的唯一办法是规定某种指标.如果满足或超过该指标,系统就算调整好了.
4.没有适用于任何情形的普遍规律.事实上,如果你读到关于比率的内容时,就应该引起警觉.并不是比率没有用,而是它们独自没有用,它们必须与其他因素结合才有意义.
5.支持你成功的正是基础知识,而不是某些神奇的参数.

第二章 性能工具包
1.dbms_xplan:?/rdbms/admin/utlxpls
2.AUTOTRACE输出中感兴趣的内容
1)Recursive Calls:由于需要执行其他SQL语句而必须执行的SQL.
2)Db Block Gets和Consistent Gets:当前方式的读取是当该块存在时检索它.可以看到这种方式在update语句中最常见.一致性读取是以"读一致性"方式从高速缓冲中检索块并且可能会包括读取UNDO.
客户机和服务器需要的RAM数量会随着ARRAY SIZE的增加而增加.
3)Physical Reads:表或索引数据的一个物理读取把某块放入缓冲高速缓存中,然后我们执行一个逻辑I/O检索该块.因为大多数的物理读取后都直接跟着一个逻辑I/O.(临时表空间除外)
4)Redo Size:
直接路径插入只在两种情形下绕过重做日志的生成.a)数据库为NOARCHIVELOG方式 b)标记为NOLOGGING的表上执行操作
对数据仓库的批量装载a)设置索引为UNUSABLE b)设置会话跳过UNUSABLE索引并进行批量装载 c)重新启用索引
5)SQL*NET统计:
应只选择解决问题所需要的列--不多,也不少.
3.TKPROF
将跟踪文件转换为容易使用的格式.
当花费的时间大于CPU时间时,就意味着为某些事情耗费了等待时间
CPU时间怎么会大于占用的时间?这个误差是由于收集各定时数据并试图记录最快的操作或许多操作的时间而引起的.
4.Runstat
关注Latch的争用.
5.Stackpack
拥有好时段的历史记录就如同拥有坏时段的历史记录一样重要.
报告中的重要部分:Hard parse/Executes/Transactions/Library Hit %/Soft parse %/Execute to Parse %
CPU Time不是一个真正的等待事件而是该会话使用的CPU的总和,在拥有大量装载的系统中,若CPU事件事件是最大的事件,则意味着某些CPU密集型的处理可能是导致瓶颈的愿意
6.DBMS_PROFILER

第三章 体系结构的选择
1.了解共享服务器与专用服务器连接
2.集群
1)横向扩展--添加更多的机器增强系统功能的能力
2)高可用性
一个数据库可同时被许多实例安装和打开,这就是关于RAC的所有内容了
实例--逻辑概念
数据库--物理概念
一个实例在其生存期间只能安装和打开一个数据库
SID标识一个实例,而服务标识一个或多个实例的集合
3.了解何时使用分区
优化程序排除分区不予考虑极为有用,从性能的角度来看,是使用分区的主要原因
如果在非分区键上建立本地分区索引,在使用该索引的时候反而会影响性能(需要访问全部分区),但管理上会有所方便.
一个逻辑I/O意味着一个Latch,一个Latch为一个Lock,Lock会降低应用系统的可伸缩性.
为何使用分区?1)提供可用性 2)易于管理 3)提高性能
在应用分区之前,应该明白使用分区的目的是什么?想使用分区降低管理开销?提高可用性?提高性能?
4.何时使用并行操作
并行+分而治之是提高速度的可行性方法
并行操作是针对量大,时间长的操作,它会使这些操作更快.
CTAS/CREATE INDEX/ALTER INDEX REBUILD/ALTER TABLE MOVE/ALTER TABLE SPLIT PARTITION/ALTER INDEX COALESCE
这些操作通常可以使用并行.
-- 关注外部表(装载数据)
为了在oracle中使用PDML,需要对表进行分区,设置并行度为基础分区的数目.V$PX_PROCESS
PERCENTILE_DISC函数(9i or higher)
在一开始设计时使用这种方法作用最大.
DBMS_PCLXUIL程序包.

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/6906/viewspace-22030/,如需转载,请注明出处,否则将追究法律责任。

下一篇: 回广州了
请登录后发表评论 登录
全部评论
ITPUB数据库版块资深版主,对Oracle、PostgreSQL有深入研究。

注册时间:2007-12-28

  • 博文量
    1417
  • 访问量
    3856450