PayPal Oracle数据库的隐含参数

在这篇小文中,我和大家分享一下PayPal数据库的隐含参数,注意,本文参考资料来自网络OOW公开文档,只是我也是首次注意到这些设置。

在图中架构,可以看到PayPal使用了大量的Exadata一体机,在几年前用户的核心数据库版本就是11.2,据说一年以前仍然是11.2.0.2的版本(不确定)。这些数据库当中的很多负载非常高,常常是超过1万的进程并发连接,超过8万/秒的SQL执行:

在公开文档中描述了PayPal如下的一个系列隐含参数设置:

*._gc_policy_time=0 // Disable SPIKEs, due to DRM *._mutex_wait_time=10 // Mutex wait time to 10ms *._sixteenth_spare_parameter='942’ // ER 12326358: Will not do hard parse for 2nd time on missing objects *._third_spare_parameter = 0 // Faster RAC reconfiguration, bug 10415371 // *.event=‘12633340 trace name context forever, level 1’ // Bug 12633340:

注意这里非常特殊的是一类 *_spare 参数,我在《Oracle DBA手记》中曾经记录过:

在Oracle数据库中,有一类参数被称为备用参数 – spare parameter,这类参数在代码中预留,在软件出现临时性问题时,可以通过小补丁启用备用参数设置开关。这些参数没有确定的含义,启用后的作用可以通过参数描述来了解。不同参数在不同的数据库版本中,可能会有完全不同的含义,如果设置了这些参数,在进行版本变换和升级时,需要确认和调整。

在PayPal的数据库中,有两个典型的Spare参数,分别是第三号、第16号参数。

这里的 _sixteenth_spare_parameter 参数被赋予的使用是“对付” ORA-00942 号错误,其作用是:如果SQL解析遇到了对象不存在的错误,那么就Cache这个信息,后续同样的SQL解析就不需要再去判定,直接返回错误:

[eygle@enmoteam1 ~]$ oerr ORA 942 00942, 00000, "table or view does not exist" // *Cause: // *Action:

你看,如果没有这个列表,你可能永远不会知道Oracle有这么多有意思的开关可以在特定的条件下使用。

提示:每个Spare参数在不同版本中,不同的补丁中,含义都可能不同,需要特别注意。

从PayPal的文档中,我们得到的另外一个启发是:

设定参数,然后详细记录这些设置,我们见到很多用户环境,某些参数一旦设定,就再没有人知道为何设定,能否修改,以及是否可以在跨版本时进行修改。

在原文链接中,我引用了PDF整个文档Oracle官方的来源,供大家参考,其中很多有价值的信息。

微信群:今天在微信上组了一个群,可以讨论和回答一些技术问题,感兴趣的加我微信: eyglee ,还有2天,可以加入。

#恩墨有约·老盖陪你#今年计划趁着出差,和微信上的朋友增加点活动,就叫恩墨有约,每次6人,我请大家喝咖啡,一个晚上,聊点天、聊点技术都可以。要求:实名,提供信息包括:性别、手机、工作单位和职务、邮件地址给我。也可以在微博上报名,请私信 @云和恩墨 小编。

注意:2月9日晚,在深圳;2月10日晚,在福州。开约,请联系微博小编报名。

原文发布于微信公众号 - 数据和云(OraNews)

原文发表时间:2015-02-05

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏技术翻译

优化MongoDB的4个技巧

你有没有MongoDB数据库的性能问题?常见的情况是运行查询时突然出现性能问题。显而易见的第一个解决方案是,“让我们创建一个索引!” 虽然这在某些情况下有效,但...

1361
来自专栏芋道源码1024

Dubbo源码解析 —— 服务暴露原理

前言 之前讲完了dubbo集群容错系列,现在开始讲比较重要的环节,也就是dubbo面试中比较喜欢问的两个点: 服务发布和 服务引用. 插播面试题 服务发布过程...

3315
来自专栏HaHack

手把手教你编写叮当机器人插件

1816
来自专栏张善友的专栏

MongoDB新版本特性

MongoDB 2.4已经发布,该版本增加了一些新特性,如文本搜索、基于哈希的分片、更好的地理空间功能、支持GeoJSON以及一些性能和工具方面的提升。我们还和...

1975
来自专栏EAWorld

基于微服务的日志中心设计、实现与关键配置

日志向来都是运维以及开发人员最关心的问题。运维人员可以及时的通过相关日志信息发现系统隐患、系统故障并及时安排人员处理解决问题。开发人员解决问题离不开日志信息的协...

2652
来自专栏散尽浮华

web cache server方案比较:varnish、squid、nginx

linux运维中,web cache server方案的部署是一个很重要的环节,选择也有很多种比如:varnish、squid、nginx。 下面就对当下常用的...

47410
来自专栏杨建荣的学习笔记

迁移式升级的一点思考 (r10笔记第27天)

目前有一个很实际的需求,因为硬件老化严重,需要能够借助一次维护时机把数据库迁移到一台较好配置的机器上,避免潜在的硬件故障导致的业务停顿,也算防患于未然吧。 本来...

2677
来自专栏Spark学习技巧

解惑:这个SPARK任务是数据倾斜了吗?

健身回来的路上,看到微信群里聊技术,一群有问了一个神奇的问题,具体可以看如下截图:

1032
来自专栏Golang语言社区

服务化实战之 dubbo、dubbox、motan、thrift、grpc等RPC框架比较及选型

前段时间项目要做服务化,所以我比较了现在流行的几大RPC框架的优缺点以及使用场景,最终结合本身项目的实际情况选择了使用dubbox作为rpc基础服务框架。下面就...

4683
来自专栏码代码的陈同学

Spring Cloud之量化分析应用续租的内存消耗

在分享《Spring Cloud之极端续租间隔时间的影响》 后,晓波同学问:由于心跳频率过高导致出现新对象过多?

1262

扫码关注云+社区