Andrew 曾在一次演讲中对Oracle 12c 是这样定义的:向敏捷、弹性和云三个方向上变革和演进。12.2的发布让人眼前一亮,很多新特性让我们看到Oracle的创新力。然而,对于广大的DBA来说,新特性不是最让人兴奋的,只有简单可行并且好处多多的新特性才是我们的最爱。本文将介绍12.2中一些重要的在线特性。在线功能的增强,在很大程度上减少了操作的风险和难度。
索引高度压缩
Oracle ADG上的列式存储支持
Oracle ADG上的列式存储支持Oracle ADG上的列式存储支持
新增索引高压缩可进一步压缩索引,为大量使用索引的环境(如OLTP)节省了空间,同时因为更多的索引可以被缓存,能大幅度减少系统IO。
压缩比例可以达到4.6x,系统系统提升13%。
对索引的维护:跟踪索引的使用不会产生额外开销,可以直接访问索引或者通过直方图进行访问。
数据文件在线加密
12.2以前千兆以上的数据只能通过导入导出的方式加密,在12.2引入了数据库文件的在线加密,还支持在线重新键入。能实现内部数据库结构的完全加密,包括SYSTEM,SYSAUX和UNDO表空间。
表的在线移动
Oracle ADG上的列式存储支持
Oracle ADG上的列式存储支持Oracle ADG上的列式存储支持
表的在线移动允许将表从一个表空间移到另一个表空间,在迁移的过程中,可以正常地对表进行操作。
数据表 Move 可以用于变更存储位置;重整存储空间,消除碎片;
SQL> create table yhem as select * fromdba_tables; Table created. SQL> alter table yhem move online; Table altered.
表的在线分区
对于一些较大的表,或者数据增长较快的表,可能在创建后并使用一段时间,需要对其进行分区管理,在线分区功能在分区期间,仍然可以对表进行正常的DML操作,同时进行 Local 和 global索引维护。在线分区主要有以下三种实现:
示例如下:
透明的 MODIFY PARTITION ONLINE 操作;可以同时并发执行 DML 和 查询:
迁移过程会自动创建分区:
数据文件在线迁移
Online Datafile Move是Oracle 12c的一个增强,可以在线将数据文件从一个位置转移到另外一个位置。
在12c之前文件只能存在Online和Offline两态,离线转移会不可避免造成业务的中断。