苹果后端的Oracle数据库
时间:2022-05-03
本文章向大家介绍苹果后端的Oracle数据库,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
最近在微博上,网友发布了一份来自于苹果公司的Oracle数据库AWR报告,虽然我们早就知道Apple的APP Store后端使用的就是Oracle数据库,部署在Exadata一体机上,但是完整的AWR报告通常还是很难见到(这份报告可能包含了客户敏感信息,我仅作一点非常简要的分析)。
从报告上看,数据库环境基本如下:
- 数据库版本11.2.0.2 (当然这是几年前的数据);
- 5个节点的RAC环境;
- 数据库名称为INDIGO,以此为名称的表空间,最大文件序号为1139 - datafile/indigo.1139.788591137 ,单表空间存在大量文件(可见文件667个);
- 当然这个报告是夜间的,不具有典型的业务代表性;
最近正好有朋友咨询关于Oracle数据库的隐含参数设定,我们可以借此报告来了解一下苹果的参数设置。
如图中截取部分参数,可以看到,苹果有如下一些参数设置。
- cursor_sharing = force,强制的变量绑定,这说明苹果也曾经面临绑定变量的问题;
- _file_size_increase_increment = 2143289344,设置文件扩展大小,这是Exadata优化的推荐设置之一;
- _optim_peek_user_binds = FALSE,绑定变量Peeking,禁用;
- _kill_diagnostics_timeout = 140,超时设置,140秒,这是11g的诊断参数,在指定超时之后,杀掉队列阻塞进程;
- _lm_rcvr_hang_allow_time = 140,也是140秒,同样是11g的Hang诊断参数,设置该参数改变节点Hang的驱逐时间;
- _buffer_busy_wait_timeout = 2 ,buffer busy wait的超时时间,单位是厘秒;
- 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 讨论。
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- MyBatis源码解析之基础模块—Plugin
- php框架slim架构上存在XXE漏洞(XXE的典型存在形式)
- 个人博客搭建
- 安全箱子的秘密
- Linux 机器 CPU 毛刺问题排查
- phpwind 利用哈希长度扩展攻击进行getshell
- dotnet 构建 SourceRoot items must include at least one top-level item when DeterministicSourcePaths is
- Magicodes.IE 2.4版本发布
- EC2磁盘扩容-DiskPressure
- 谈一谈php://filter的妙用
- 新型php漏洞挖掘之debug导致的安全漏洞(Edusoho)
- CVE-2016-3714 - ImageMagick 命令执行分析
- 知乎某处XSS+刷粉超详细漏洞技术分析
- 【STM32H7】第12章 RL-TCPnet V7.X之TCP客户端
- 【STM32F429】第12章 RL-TCPnet V7.X之TCP客户端