.jpg)
为Oracle 12c 数据库的 In-Memory 功效做 PoC,其目的在于充拭魅展现 In-Memory 的优势,同时又要只管少地影响客户情形。今天和各人聊聊做 In-Memory PoC 时应遵照的一些焦点步骤。
Oracle Database 12c In-Memory 事情方式:
.jpg)
为展现 In-Memory 的优势同时只管少地影响客户情形,做 PoC 时应遵照如下基本步骤:
1)确定数据库 In-Memory的最佳事情负载
应用 In-Memory:剖析型事情负载获益相对多,OLTP 型事情负载获益相对少。
2)应用最新的In-Memory补丁包(Bundle Patch)
•最好的着手点是去审查 Note:1937782.1中的最新信息
•补丁24448103就是最新的20161018补丁包,纪录在 Note: 20879108.8 中
3)内存分配
SGA_TARGET = SGA_TARGET(baseline) + INMEMORY_SIZE
不要忽略 Program Global Area (PGA)
4)数据库参数设置
•从init.ora参数取缺省值入手
•不设置任何下划线参数
•参数 INMEMORY_SIZE:为设基线而将其初置为 0,然后再凭证所需的工具空间举行设置。 注重:准确设置此值可能需要一个迭代的历程
•参数 PARALLEL_DEGREE_POLICY 应gai设置为 AUTO。对 RAC 情形说来,这是必须的。
5)测试开shi前的准备事情
核实内存分配状态:
•In-MemoryAdvisor – 确定测试工具已经填入
•Compressionadvisor – 估算需要添加几多内存
审查测试工具的统计信息:
•最新的统计信息
•Histograms
•ColumnGroups
•ExtendedStatistics
审查 Constraint界说
审查分区状态
审查索引状态
性能史:
•确定AWR正在运行并可用于 troubleshooting。 AWR还可以用于确认初shi化
参数和发现异常qing况
6)测试要领
第一步:建设基线
•在不带IM列存储的qing况下运行事情负载
•Set INMEMORY_SIZE = 0
•OPTIMIZER_CAPTURE_SQL_PLAN_BASELINES = true
•在12c情形下捕捉事情负载
•此步骤将允许在没有数据库 In-Memory的12c情形下捕捉基线。 这是用来举行较量的值,以验证可以从数据库内存中预期的性能提升。 它还应gai真切地反映客户应用当前的性能,若是不能反映客户应用当前的性能,19体育就得停下来找缘故原由了。 必须从可接受的基线开shi,否则gai测试系统就可能有其他问题。
第二步:将表放入 In-Memory
•分配IM列存储
•设置INMEMORY_SIZE参数并重新启动数据库
•将需要测试的表放到IM列存储中
•验证是否所有工具都已经放入IM列存储中
第三步:在启用了In-Memory 的qing况下运行事情负载
•运行事情负载
第四步:SQL妄想基线进化
•SQL妄想基线进化
•这将允许优化器使用性能比当前基线执行妄想更好的执行妄想
•此乃具有关jian意义的一步!
•允许使用最好的执行妄想,防止性能下降
•使用dbms_spm包的进化(evolve)使命函数
第五步:最终事情负载执行
•再ci运行事情负载
•将新旧已用时举行较量
•最终效果可以展示最佳的性能
最终效果:使用In-Memory,剖析型查询性能提高 7 – 128 倍!
.jpg)
【文章泉源:Oracle官网】