oracle内存中存储

启用内存中列存储
ALTER SYSTEM SET SGA_TARGET=3G SCOPE=SPFILE;
ALTER SYSTEM SET INMEMORY_SIZE=2G SCOPE=SPFILE;
SHUTDOWN IMMEDIATE;
STARTUP;
oracle内存中存储
查看当前的IM设置
ALTER SESSION SET CONTAINER=cdb$root;
SHOW PARAMETER INMEMORY
oracle内存中存储
INMEMORY_SIZE 设置内存区域的大小,该区域包含数据库实例上的IM列存储
SHOW PARAMETER inmemory_size
ALTER SYSTEM SET INMEMORY_SIZE=1G;
oracle内存中存储
DEFAULT:IM列存储中填充了指定为的对象INMEMORY
oracle内存中存储
ALTER SYSTEM SET INMEMORY_FORCE=OFF;
OFF:即使在此实例上配置了IM列存储,也不会在内存中填充任何对象。 对象将不会保留在IM列存储中
SHOW PARAMETER INMEMORY_FORCE
ALTER SYSTEM SET INMEMORY_FORCE=OFF;
ALTER SYSTEM SET INMEMORY_FORCE=DEFAULT;
oracle内存中存储
INMEMORY_QUERY 用于在会话或系统级别为整个数据库启用或禁用内存中查询。
SHOW PARAMETER INMEMORY_QUERY
ALTER SYSTEM SET INMEMORY_QUERY=DISABLE;
ALTER SYSTEM SET INMEMORY_QUERY=ENABLE;
oracle内存中存储
要完全禁用IM列存储并释放内存,请重置INMEMORY_SIZE参数
ALTER SYSTEM RESET INMEMORY_SIZE SCOPE=SPFILE;
SHUTDOWN IMMEDIATE;
STARTUP;

管理表
创建三张表,查看
CREATE TABLE im_tab (
id NUMBER
) INMEMORY;
oracle内存中存储
CREATE TABLE noim_tab (
id NUMBER
) NO INMEMORY;
oracle内存中存储
CREATE TABLE default_tab (
id NUMBER
);
oracle内存中存储
SELECT table_name,
inmemory,
inmemory_priority,
inmemory_distribute,
inmemory_compression,
inmemory_duplicate
FROM user_tables;
oracle内存中存储
USER_TABLES描述当前用户拥有的关系表。其列(除外OWNER)与中的列相同ALL_TABLES。
INMEMORY:指示为该表启用(ENABLED)还是禁用(DISABLED) 内存中列存储(IM列存储)
INMEMORY_PRIORITY:指示内存中列存储(IM列存储)填充的优先级。可能的值:HIGH(高)none(没有)
INMEMORY_DISTRIBUTE:指示IM列存储如何在Oracle Real Application Clusters(Oracle RAC)环境中分布
INMEMORY_COMPRESSION:指示IM列存储的压缩级别
INMEMORY_DUPLICATE:指示在Oracle RAC环境中IM列存储的重复设置:NO DUPLICATE(没有重复)
修改表
ALTER TABLE IM_TAB NO INMEMORY;
ALTER TABLE NOIM_TAB INMEMORY MEMCOMPRESS FOR CAPACITY LOW;
ALTER TABLE DEFAULT_TAB INMEMORY PRIORITY HIGH;
oracle内存中存储
oracle内存中存储
管理列
CREATE TABLE im_col_tab (
id NUMBER,
col1 NUMBER,
col2 NUMBER,
col3 NUMBER,
col4 NUMBER
) INMEMORY
INMEMORY MEMCOMPRESS FOR QUERY HIGH (col1, col2)
INMEMORY MEMCOMPRESS FOR CAPACITY HIGH (col3)
NO INMEMORY (id, col4);
oracle内存中存储
SELECT table_name,
segment_column_id,
column_name,
inmemory_compression
FROM v$im_column_level
WHERE owner = ‘LIHAO’
and table_name = ‘IM_COL_TAB’
oracle内存中存储TABLE_NAME:表名
SEGMENT_COLUMN_ID:列号
COLUMN_NAME:列名
INMEMORY_COMPRESSION:列压缩级别

修改列
ALTER TABLE im_col_tab
NO INMEMORY (col1, col2)
INMEMORY MEMCOMPRESS FOR CAPACITY HIGH (col3)
NO INMEMORY (id, col4);
oracle内存中存储
SELECT table_name,
segment_column_id,
column_name,
inmemory_compression
FROM v$im_column_level
WHERE owner = ‘LIHAO’
and table_name = ‘IM_COL_TAB’
oracle内存中存储
创建物化视图
CREATE TABLE t1 AS
SELECT * FROM all_objects;

CREATE MATERIALIZED VIEW t1_mv INMEMORY
AS SELECT * FROM t1;
oracle内存中存储
SELECT table_name,
inmemory,
inmemory_priority,
inmemory_distribute,
inmemory_compression,
inmemory_duplicate
FROM user_tables
WHERE table_name = ‘T1_MV’;
oracle内存中存储
ALTER MATERIALIZED VIEW t1_mv
INMEMORY MEMCOMPRESS FOR CAPACITY HIGH PRIORITY HIGH;
oracle内存中存储
oracle内存中存储
ALTER MATERIALIZED VIEW t1_mv NO INMEMORY;
oracle内存中存储
oracle内存中存储
管理表空间
CREATE TABLESPACE new_ts
DATAFILE SIZE 10M DEFAULT INMEMORY;
oracle内存中存储
SELECT tablespace_name,
def_inmemory,
def_inmemory_priority,
def_inmemory_distribute,
def_inmemory_compression,
def_inmemory_duplicate
FROM dba_tablespaces
ORDER BY tablespace_name;
oracle内存中存储
DBA_TABLESPACES 描述数据库中的所有表空间
DEF_INMEMORY:指示此表空间中的表的默认情况下是启用(ENABLED)还是禁用(DISABLED) 内存中列存储(IM列存储)
DEF_INMEMORY_PRIORITY:指示此表空间的内存中列存储(IM列存储)填充的默认优先级
DEF_INMEMORY_DISTRIBUTE:指示默认情况下如何在Oracle Real Application Clusters(Oracle RACE)环境中为此表空间分发IM列存储
DEF_INMEMORY_COMPRESSION:指示此表空间的IM列存储的默认压缩级别:FOR QUERY (查询)FOR CAPACITY
DEF_INMEMORY_DUPLICATE:指示在Oracle RAC环境中IM列存储的重复设置:NO DUPLICATE(没有重复)

修改表空间
ALTER TABLESPACE new_ts
DEFAULT INMEMORY MEMCOMPRESS FOR CAPACITY HIGH;
oracle内存中存储
oracle内存中存储
ALTER TABLESPACE new_ts
DEFAULT NO INMEMORY;
oracle内存中存储
oracle内存中存储

上一篇:Python计算坡度坡向并输出二维、三维图


下一篇:【TensorFlow学习笔记】目标识别篇(五):基于Faster-rcnn-tensorflow-python3.5-master打造属于自己的物体检测模型