苹果后端的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 讨论。
- Wordpress <= 4.6.1 使用语言文件任意代码执行 漏洞分析
- 如何使用hadoop命令向CDH集群提交MapReduce作业
- Wordpress <= 4.6.1 使用主题文件触发存储型XSS 漏洞分析
- 如何跨平台在本地开发环境提交MapReduce作业到CDH集群
- 区块链行业的机会
- KEGG数据库的rest API(附带R语言小技巧)
- 如何使用Java代码访问HDFS.docx
- Django CSRF Bypass (CVE-2016-7401) 漏洞分析
- 如何使用Cloudera Manager禁用YARN的HA
- Web Worker 中的 importScripts 和 baseHref 同源策略绕过问题
- 如何使用Java代码访问CDH的Solr服务
- Safari UXSS漏洞分析(CVE-2016-4758)
- Sqoop抽取Hive Parquet表数据到MySQL异常分析
- Hue中使用Oozie创建Ssh工作流时sudo命令执行失败问题分析
- 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 数组属性和方法
- 容器中的数据管理
- Java基础 方法
- Python 技术篇-pyperclip库实现读取写入剪切板,超简单
- 基于consul的Docker-overlay跨多宿主机容器网络
- Python 微信机器人-向指定名称的好友发送微信消息
- JavaScript技术篇-js提升网页视频播放速率,提高慕课网视频播放速度
- 使用docker五步搭建ELK日志收集分析系统
- HDFS之SequenceFile和MapFile
- 配置ELK技术栈来分析apache tomcat日志
- LVS DR模式搭建,keepalived + lvs
- Ubuntu安装docker
- DockerFile简介与实例
- Elasticsearch2.3官方Dockerfile解析
- openstack架构解析
- Linux服务器基础网络配置