查看原文
其他

苹果后端的Oracle数据库

2015-02-04 Eygle Oracle

最近在微博上,网友发布了一份来自于苹果公司的Oracle数据库AWR报告,虽然我们早就知道Apple的APP Store后端使用的就是Oracle数据库,部署在Exadata一体机上,但是完整的AWR报告通常还是很难见到(这份报告可能包含了客户敏感信息,我仅作一点非常简要的分析)。


从报告上看,数据库环境基本如下:

  1. 数据库版本11.2.0.2 (当然这是几年前的数据);

  2. 5个节点的RAC环境;

  3. 数据库名称为INDIGO,以此为名称的表空间,最大文件序号为1139 - datafile/indigo.1139.788591137 ,单表空间存在大量文件(可见文件667个);

  4. 当然这个报告是夜间的,不具有典型的业务代表性;


最近正好有朋友咨询关于Oracle数据库的隐含参数设定,我们可以借此报告来了解一下苹果的参数设置。


如图中截取部分参数,可以看到,苹果有如下一些参数设置。

  1. cursor_sharing = force,强制的变量绑定,这说明苹果也曾经面临绑定变量的问题;

  2. _file_size_increase_increment = 2143289344,设置文件扩展大小,这是Exadata优化的推荐设置之一;

  3. _optim_peek_user_binds = FALSE,绑定变量Peeking,禁用;

  4. _kill_diagnostics_timeout = 140,超时设置,140秒,这是11g的诊断参数,在指定超时之后,杀掉队列阻塞进程;

  5. _lm_rcvr_hang_allow_time = 140,也是140秒,同样是11g的Hang诊断参数,设置该参数改变节点Hang的驱逐时间;

  6. _buffer_busy_wait_timeout = 2 ,buffer busy wait的超时时间,单位是厘秒;

  7. deferred_segment_creation = FALSE,禁用11g的延迟段创建特性;



此外,如下一个系列的参数是Exadata的推荐设定,在这个环境中也多有设置:

alter system set "_enable_NUMA_support"=FALSE scope=spfile;


alter system set "_file_size_increase_increment"=2044M scope=spfile;


alter system set compatible=11.2.0.3.0 scope=spfile;


alter system set db_lost_write_protect=TYPICAL scope=spfile;


alter system set filesystemio_options=setall scope=spfile;


alter system set global_names=TRUE scope=spfile;


alter system set open_cursors=1000 scope=spfile;


alter system set parallel_adaptive_multi_user=FALSE scope=spfile;


alter system set processes=10000 scope=spfile;


alter system set sql92_security=TRUE scope=spfile;


alter system set dispatchers = '' scope=spfile;


alter system set pga_aggregate_target=0 scope=spfile;


alter system set shared_servers=0 scope=spfile;


Oracle的参数设置有大学问,值得参考学习。


以下附件是苹果Apple Store后台的DataGuard架构体系(来自网络),供参考。


另外,我们最近在编撰一本和AWR分析相关的书籍,大家有报告问题和建议欢迎提供,也可以加我的个人微信帐号:eyglee 讨论。


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存