ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Oracle RAC性能管理(笔记)

Oracle RAC性能管理(笔记)

原创 Linux操作系统 作者:旧梦依稀 时间:2013-08-26 16:00:02 0 删除 编辑
1、Oracle最佳设计实践
(1)优化连接管理    确保连接到该数据库的中间层和程序在连接管理方面是高效的,不会反复登录、登出。
(2)确保对SQL执行了完美调优    优化执行计划和数据访问路径(ADDM,SQL Tuning Advisor)。
(3)确保应用程序正在使用绑定变量,将分析降至最低    相关参数cursor_sharing。
(4)用包和过程来代替匿名PL/SQL块和大型SQL语句    包和过程被编译和存储在数据库中,可以在没有运行时编译开销的情况下重复使用。  
(5)使用最新的数据库表空间管理功能    应使用本地表空间管理和自动段空间管理(ASSM)之类的新功能,简化数据库管理。
(6)如果要经常使用一个序列,而且会由多个兵法会话使用,那么要确保使用比较大的缓存序列,默认是20。
(7)在正常业务时间内运行的生产环境中,避免使用数据定义语言(DDL)    使用DDL会增大已分析的SQL语句的无效性,在重新使用之前需要重新编译它们。DDL还会增大缓存缓冲区的无效性,它是性能问题的另一来源。
(8)索引叶块争用是单实例环境中缓冲区繁忙等待的唯一最大原因,它在RAC环境中会导致缓冲区缓存争用(gc缓冲区繁忙)。    使用逆向键索引或者对表和索引分区都可以降低争用。
(9)对数据块争用进行优化:避免块中出现拥有太多行的小型表。    可以使用alter table命令的minimize records per block子句来限制每个块的行数。
2、Oracle RAC特有的最佳设计实践
(1)不要仅仅为了验证数据而重复读取最近修改/插入的记录。
(2)如果业务需求没有另行指出,那么应当考虑使用应用程序分区。
(3)考虑将DML操作密集的用户限制到一个实例中。
(4)将只读数据分为一组,将他们放在只读表空间里。
(5)避免在Oracle RAC环境中执行不必要的审计操作。
(6)减少使用全表扫描,因为全表扫描可能会导致全局缓存服务为大量块请求提供服务。
(7)如果应用程序进行大量新会话“登录风暴”,那么应当提高sys.audses$序列的缓存值:
alter sequence sys.audses$ cache 10000;
3、工作量分区
通过在Oracle RAC环境中实施工作量分区可以节省系统资源。在实施工作量分区之前,应当考虑以下事项:
(1)Oracle RAC可以处理缓冲区缓存争用,如果系统CPU资源和专用互联带宽足够,就不需要分区。
(2)有时,另行提高CPU能力或互联带宽可能要比实施工作量分区机制容易的多、经济的多。
(3)除非有证据表明这些争用对性能产生了影响,并且分区工作量会提高性能,否则不要考虑对用户工作量进行分区。
(4)分别在有无工作量分区的情况下建立基准统计信息。如果对比表明在采用分区时可以显著提高性能,那么可以考虑实施工作量分区。
4、可伸缩性与性能
为使一个Oracle RAC系统完全可伸缩,以下所有组件都应该是可伸缩的:
应用程序、网络、数据库、操作系统、硬件。
5、为Oracle RAC数据库选择块大小
根据数据文件使用的底层存储不同,Oracle中的块大小可以有不同的选择。
数据文件使用文件系统:Oracle的块大小应该是文件系统缓冲区大小的整数倍。
数据文件使用ASM、RAW或OCFS:因为这些存储系统本身没有缓冲区,所以可以选择任意的块大小,不会对I/O效率产生影响。
Oracle支持在一个数据库中使用多种块大小,块大小在创建表空间时指定,如果在创建任何表空间时没有显式指定块大小,则默认使用参数db_block_size设置的值。
大多数OLTP数据库使用8KB的块大小,在设计决策支持系统(DSS)/数据仓库系统(OLAP)时,应当考虑更大的块大小。
对于那些大多是只读或者使用全表扫描获取的数据,较大的块大小是有帮助的。
当行大小较大时,使用较大的块大小也是有帮助的。比如有LOB类型的字段的行。
对于较小的行,使用较小的块大小也是有帮助的,可以减少数据块争用。
对于索引,使用较小的块大小,理论上可以减少索引块争用,也是有帮助的。
很多等待事件都表明存在块级别的争用,将争用较多的索引/表移动到块大小较小的表空间,理论上可以减少争用。
6、使用自动段空间管理(ASSM)
ASSM在从9i引入的,在以后的版本中是默认的段管理方式。ASSM使用存储在段空间内的位图来管理该段中的空闲空间。
SQL>create tablespace data_assm
datafile '$ORADATA/data_assm01.dbf' size 100M
extent management local
segment space management auto;
ASSM功能的局限性:
ASSM不能用于系统表空间。
ASSM仅可用于本地管理的表空间。如果由于某种原因而创建了一个字典管理的表空间,那么不能使用ASSM子句。
ASSM不能与临时表空间一起使用。
ASSM不会提供关于空间管理的任何控制,因为参数FREELISTS和FREELIST GROUPS不可用。
7、Oracle RAC等待事件
8、Oracle RAC中的队列优化
Oracle使用一种排队机制来确保对共享资源的正确使用。在Oracle RAC中,“全局队列服务(GES)”保护并调整对这些共享资源的访问。
V$RESOURCE_LIMIT包含了队列的初始分配、current_utilization、max_utilization和limit_value统计值。
9、Oracle AWR报表
10、集群互联调优
 

 

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

请登录后发表评论 登录
全部评论

注册时间:2013-06-24

  • 博文量
    46
  • 访问量
    166789