In-Memory手册之:前言(IM-前言)
第一章 Oracle Database In-Memory 相关概念(IM-1.1)
第一章 Oracle Database In-Memory 相关概念(续)(IM-1.2)
第二章 Oracle Database In-Memory 体系结构(上) (IM-2.1)
第二章 In-Memory 体系结构 (IM-2.2)
第二章 IM 体系结构:CPU架构:SIMD向量处理(IM-2.3)
第三章 启用和调整IM列存储的大小(IM-3.1)
第四章 为In-Memory 启用填充对象(IM-4.1 第一部分)
第四章 为In-Memory 启用填充对象(IM-4.2 第二部分)
第四章 为IM 启用填充对象之启用和禁用列(IM-4.3 第三部分)
第四章 为IM 启用填充对象之在NO INMEMORY表上指定INMEMORY列属性:示例(IM-4.4 第四部分)
第四章 为IM 启用填充对象之启用和禁用表空间的IM列存储(IM 4.5)
第四章 为物化视图启用和禁用IM列存储(IM 4.6)
本篇为IM系列的第四章:为IM 启用填充对象之强制填充In-Memory对象:教程(IM 4.7)
强制填充In-Memory对象:教程
启用In-Memory填充的对象并不会立即填充该对象。
如果启用了PRIORITY
设置为NONE
的对象,并且如果要立即填充该对象,则可以使用以下选项:
· 强制执行全表扫描
· 使用DBMS_INMEMORY.POPULATE
存储过程
假设
本教程假设以下内容:
· IM列存储已启用。
· 要为sh.customers
表启用In-Memory填充,使用默认PRIORITY
为NONE
。
· 您要强制将sh.customers
的立即填充到IM列存储中。
强制填充INMEMORY表:
1. 在SQL * Plus或SQLDeveloper中,使用管理员权限登录数据库。
2. 将INMEMORY
属性应用于表。
例如,为 sh.customers
启用IM填充如下:
ALTER TABLE sh.customers INMEMORY;
3. (可选)检查填充状态,请查询V$IM_SEGMENTS
视图。
例如,使用以下语句(包含样例输出):
代码语言:javascript复制SELECT OWNER, SEGMENT_NAME NAME,
代码语言:javascript复制 POPULATE_STATUS STATUS
代码语言:javascript复制FROM V$IM_SEGMENTS
代码语言:javascript复制WHERE SEGMENT_NAME = 'CUSTOMERS';
代码语言:javascript复制
代码语言:javascript复制no rows selected
上述输出显示尚未在IM列存储中填充对象。
4. 对表执行DBMS_INMEMORY.POPULATE
存储过程。
例如,针对 sh.customers
启用此存储过程,如下所示:
EXEC DBMS_INMEMORY.POPULATE('SH', 'CUSTOMERS');
5. (可选)要检查填充状态,请查询 V$IM_SEGMENTS视图
。
例如,使用以下语句(包含样例输出):
代码语言:javascript复制SELECT OWNER, SEGMENT_NAME NAME,
代码语言:javascript复制 POPULATE_STATUS STATUS
代码语言:javascript复制FROM V$IM_SEGMENTS
代码语言:javascript复制WHERE SEGMENT_NAME = 'CUSTOMERS';
代码语言:javascript复制
代码语言:javascript复制OWN NAME STATUS
代码语言:javascript复制--- ---------- --------------------
代码语言:javascript复制SH CUSTOMERS COMPLETED
现在,该对象已填充到IM列存储中。
山东Oracle用户组(Shandong Oracle User Group),简称:SDOUG,是一个充满朝气、年轻的非营利性组织,旨在为济南及周边地区技术爱好者提供一个交流平台。SDOUG会不定期组织线下技术分享活动,促进本地区及周边IT技术的发展、帮助技术爱好者提高自己。分享技术、分享快乐,SDOUG在路上。