Oracle 20c 新特性:基础级内存数据库免费功能 In-Memory Base Level

墨墨导读:In-Memory 作为一个选件,是 Oracle 在 12.1.0.2 中引入的一个特性,通过对数据进行列式存储,以加速查询分析的性能。通过这个特性,Oracle 数据库让行存和列存同时存在。然而这是一个收费的功能,很多用户无法使用。在 20c 中,Oracle 增加了一个基础级的 In-Memory 选项,可以让用户在 16GB 以内,免费使用 In-Memory 的特性。

In-Memory 作为一个选件,是 Oracle 在 12.1.0.2 中引入的一个特性,通过对数据进行列式存储,以加速查询分析的性能。通过这个特性,Oracle 数据库让行存和列存同时存在。

然而这是一个收费的功能,很多用户无法使用。在 20c 中,Oracle 增加了一个基础级的 In-Memory 选项,可以让用户在 16GB 以内,免费使用 In-Memory 的特性。

与此相关的几个条件:

  1. 在表或物化视图被填充到IM列存储中之前,需要先启用 IM 列存储。

  2. 在CDB下设置 INMEMORY_SIZE 决定了列存储的总体大小。默认情况下所有的PDB都可以访问IM列存储。

  3. 对于选择基础级用户,CDB层的 INMEMORY_SIZE 大小必须 < = 16G。

如果我们在全局启用,可以设置:

ALTER SYSTEM SET INMEMORY_SIZE = 16G SCOPE=SPFILE;


In-Memory Base Level 设置 INMEMORY_FORCE 初始化参数为 BASE_LEVEL :

ALTER SYSTEM SET INMEMORY_FORCE=BASE_LEVEL SCOPE=SPFILE;

以下示例,当启动数据库之后,In-Memory Area 分配,即表示启用了 In-Memory 选项功能:

SQL> ALTER SYSTEM SET INMEMORY_SIZE=10G SCOPE=SPFILE;SQL> SHUTDOWN IMMEDIATESQL> STARTUPTotal System Global Area   11525947392 bytesFixed Size                     8213456 bytesVariable Size                754977840 bytesDatabase Buffers              16777216 bytesRedo Buffers                   8560640 bytesIn-Memory Area             10737418240 bytesDatabase mounted.Database opened.

注意:在单个PDB中,可以将INMEMORY_SIZE设置为不同值来限制对共享In-Memory的访问。

例如,在一个有100个PDB的CDB中,你可以在CDB级别将INMEMORY_SIZE设置为16G,然后在一个PDB中将INMEMORY_SIZE设置为10G,在第二个PDB中设置为6G,在其余的PDB中设置为0。

参考:https://docs.oracle.com/en/database/oracle/oracle-database/20/newft/memory-base-level.html

墨天轮原文链接:https://www.modb.pro/db/24689(复制到浏览器中打开或点击“阅读原文”)

推荐阅读:144页!分享珍藏已久的数据库技术年刊

数据和云

ID:OraNews

如有收获,请划至底部,点击“在看”,谢谢!

点击下图查看更多 ↓

云和恩墨大讲堂 | 一个分享交流的地方

长按,识别二维码,加入万人交流社群

请备注:云和恩墨大讲堂

  点个“在看”

你的喜欢会被看到❤

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值