玩转Oracle EM12c-数据库生命周期管理篇
- 格式:pptx
- 大小:3.30 MB
- 文档页数:47
Oracle 12c 新特性之ILM 数据生命周期管理张乐奕云和恩墨副总经理,Oracle ACE总监,ACOUG 联合创始人ILM 全称是Information Lifecycle Management,意思是信息生命周期管理,听上去很高端洋气的一个词,但是实际上几乎每个稍微大些的系统都已经在做ILM 了,比如说将生产表中的数据定期插入到历史表中,并把生产表中的这些数据删除,这就是数据生命周期管理;又比如使用了分区,定期将过期的数据分区删除掉,或者置为READONLY,让RMAN 不再备份,这也是数据生命周期管理。
因此ILM 由来已久,只要数据存在活跃-不活跃-静止这样的周期变化,那么ILM 就必不可少,Oracle Database 12c 中提供了很多新功能用来方便地进行数据生命周期管理,有些功能甚至是我们期盼已久的。
时间有效期管理(Temporal Validity)以下简称TV,TV 的功能大致上可以这样描述:在表中手动或者自动建两个时间类型的字段,一个表示有效期的开始时间,一个表示有效期的结束时间,就可以通过设置让只有在有效期内的记录才会被选择出来。
以下这个场景是我构想出来的,一张表里不断地INSERT 数据,但是每条数据有效期只有1分钟,过了1分钟再查就看不见了,如果加以仔细策划,应该会是很有趣的功能。
直接进入测试:1) 设置TV,需要使用dbms_flashback_archive 包,需要该包的执行权限。
2) 创建测试表,period for 关键字是TV新功能的关键字,valid_time 是TV 策略的名字,可以随便写。
valid_time_start 和valid_time_end 字段可以不手工定义,只要指定了period for 关键字,Oracle 会自动创建两个不可见字段。
我这里之所以手工定义开始和结束时间字段,是为了能够指定DEFAULT 值。
有效期开始时间valid_time_start 是记录插入的当前时间,有效期结束时间valid_time_end 是当前时间的后一分钟。
启动Oracle数据库12c的第1版(12.1.0.2),在内存中的列存储(IM列存储)是存储表和分区的副本进行快速扫描优化的特殊柱状格式可选,静态SGA池。
在IM列存储不更换缓存,但作为一个补充,使这两个存储区可存储不同格式相同的数据。
默认情况下,仅使用DDL 对象指定的inmemory的候选人将填充在IM列存储。
柱状格式只存在于内存中。
图14-8显示了存储在IM列存储SH模式三个表:客户,产品和销售。
在IM列存储通过柱,而不是行存储数据。
该数据库保持柱状数据缓冲区高速缓存事务一致性。
本节包含了以下主题:在IM列存储的好处双存储格式:纵栏和行在内存中的列存储的人口在内存列压缩扫描优化的IM列存储在IM列存储的好处在IM列存储使得数据库进行扫描,联接和聚合时相比,它使用的磁盘格式完全快得多。
特别是,对于IM列存储是很有用的:扫描行数和应用使用运营商,如=过滤器,<,>,和IN查询列的子集在表中,例如,选择5 100的列加快加入通过将小维表谓词到过滤器上的一个大的事实表业务应用,即席分析查询和数据仓库工作负载受益最大。
执行使用索引查找短事务纯OLTP 数据库中受益较少.在IM列存储还具有以下优点:所有现有的数据库功能都支持,包括高可用性功能(参见“高可用性概述”)。
没有应用程序的改变是必需的。
优化器会自动柱状格式的优势。
配置简单。
该INMEMORY_SIZE初始化参数指定的内存预留供IM列存储的使用量。
DDL语句指定表空间,表,分区或列被读入IM列存储。
压缩优化的查询性能。
这些压缩技术通过使会话读取更多的数据到内存中增加有效的内存带宽。
更少的索引,物化视图和OLAP多维数据集是必需的。
在预先建立的对象的数量的减少导致了降低的存储空间和显著较少的处理开销双存储格式:纵栏和行当读取数据时,Oracle数据库可以在同一个查询中读取无论是IM列存储或数据库缓冲区高速缓存,或两者兼而有之。
数据库透明发送OLTP查询(如主键查找)的缓冲区高速缓存,以及分析和报告查询到IM列存储。