122cc太阳集团

您现在所在的位置:首页 - 权威技术
Oracle Database 12c In-Memory POC指南

?

为Oracle 12c 数据库的 In-Memory 功能做 PoC,其目的在于充分展现 In-Memory 的优势,同时又要尽量少地影响客户环境。今天和大家聊聊做 In-Memory PoC 时应遵循的一些核心步骤。

?

Oracle Database 12c In-Memory 工作方式:

为展现 In-Memory 的优势同时尽量少地影响客户环境,做 PoC 时应遵循如下基本步骤:

1)确定数据库 In-Memory的最佳工作负载

应用 In-Memory:分析型工作负载获益相对多,OLTP 型工作负载获益相对少。

?2)应用最新的In-Memory补丁包(Bundle Patch)

?⒆詈玫淖攀值闶侨ゲ榭 Note:1937782.1中的最新信息

?⒉苟?4448103就是最新的20161018补丁包,记录在 Note: 20879108.8 中

3)内存分配

SGA_TARGET = SGA_TARGET(baseline) + INMEMORY_SIZE

不要忽略 ?Program Global Area (PGA)

4)数据库参数设置

?⒋?nit.ora参数取缺省值入手

?⒉簧柚萌魏蜗禄?卟问?/p>

?⒉问 INMEMORY_SIZE:为设基线而将其初置为 0,然后再根据所需的对象空间进行设置。 注意:正确设置此值可能需要一个迭代的过程

?⒉问 PARALLEL_DEGREE_POLICY 应该设置为 AUTO。对 RAC 环境说来,这是必需的。

?

5)测试开始前的准备工作

核实内存分配状况:

??n-MemoryAdvisor ?? 确定测试对象已经填入

??ompressionadvisor ?? 估算需要添加多少内存

?

查看测试对象的统计信息:

?⒆钚碌耐臣菩畔?/p>

??istograms

??olumnGroups

??xtendedStatistics

?

查看 Constraint定义

查看分区状况

查看索引状况

性能史:

?⑷范?WR正在运行并可用于 troubleshooting。 AWR还可以用于确认初始化

参数和发现异常情况

?

6)测试方法

第一步:创建基线

?⒃诓淮?M列存储的情况下运行工作负载

??et INMEMORY_SIZE = 0

??PTIMIZER_CAPTURE_SQL_PLAN_BASELINES = true

?⒃?2c环境下捕获工作负载

?⒋瞬街杞?市碓诿挥惺?菘 In-Memory的12c环境下捕获基线。 这是用来进行比较的值,以验证可以从数据库内存中预期的性能提升。 它还应该真切地反映客户应用当前的性能,如果不能反映客户应用当前的性能,我们就得停下来找原因了。 必须从可接受的基线开始,不然该测试系统就可能有其他问题。

?

第二步:将表放入 In-Memory

?⒎峙?M列存储

?⑸柚?NMEMORY_SIZE参数并重新启动数据库

?⒔?枰?馐缘谋矸诺?M列存储中

?⒀橹な欠袢?慷韵蠖家丫?湃?M列存储中

?

第三步:在启用了In-Memory ?的情况下运行工作负载

?⒃诵泄ぷ鞲涸?/p>

?

第四步:SQL计划基线进化

??QL计划基线进化

?⒄饨?市碛呕?魇褂眯阅鼙鹊鼻盎?咧葱屑苹??玫闹葱屑苹?/p>

?⒋四司哂泄丶?庖宓囊徊剑?/p>

?⒃市硎褂米詈玫闹葱屑苹??乐剐阅芟陆?/p>

?⑹褂?bms_spm包的进化(evolve)任务函数

?

第五步:最终工作负载执行

?⒃俅卧诵泄ぷ鞲涸?/p>

?⒔?戮梢延檬苯?斜冉?/p>

?⒆钪战峁?梢哉故咀罴训男阅?/p>

?

最终结果:使用In-Memory,分析型查询性能提高 7 ?? 128 倍!

?

?

?

?

?

?

?

【文章来源:Oracle官网】

?

?

?

?

?

?

?

上一篇:Oracle数据库分片技术
下一篇:Oracle 12c多租户新特性
[返回] TOP