20121004OOW大会第四天

今天是Oracle Open World结束的日子,因此也是大会主题最少的一天,一共只有四个场次,不过今天是我参加的最完整的一天,所有的主题都参加了。
虽然Keynotes是9点开始,比平常晚了一个小时,但是仍然一如既往的迟到了40分钟,不过这是由于早上酒店给我送来了CHECKOUT的账单,而我应该每天才CHECKOUT,因此耽误了一些时间。好在今天的主题是Oracle OpenWorld Keynote: See More, Act Faster: Oracle Business Analytics,对其没有太大的兴趣,因此晚一点也没有啥损失。
接着就是另人盼望已久的Tom带来的Tom’s Top 12 Things About the Latest Generation of Database Technology。
PL/SQL FROM SQL:类似在匿名块中定义过程,现在可以通过WITH语句在SQL中定义一个函数,采用这种方式可以提高SQL调用的性能。
DEFAULT提升:包括序列作为默认值;自增列;当明确插入NULL时指定默认值;METADATA-ONLY default值指的是增加一个新列时指定的默认值,和11g中的区别在于,11g的default值要求NOT NULL列。
增加了VARCHAR2、NVARCHAR2和RAW类型的长度到32K,要求兼容性设置为12.0.0.0以上,且设置了初始化参数MAX_SQL_STRING_SIZE为EXTENDED,这个功能不支持CLUSTER表和索引组织表;最后这个功能并不是真正改变了VARCHAR2的限制,而是通过OUT OF LINE的CLOB实现。
TOP N语句:可以指定前N条或前百分之多少的记录,这个语法可以使得程序员告别传统的三层嵌套ROWNUM的查询。
行模式匹配:虽然已经听了两次,但是对于这个的具体含义仍然不是很清楚,不过有一点是确定的,这是类似分析函数的功能,可以在行间进行匹配判断并进行计算。
分区提升:这个部分可以参考我第二天的分区新特性部分。
Adaptive执行计划:拥有学习功能的执行计划,Oracle会把实际运行过程中读取到返回结果作为进一步执行计划判断的输入,因此统计信息不准确或查询真正结果与计算结果不准时,可以得到更好的执行计划。
统计信息增强:动态统计信息收集增加第11层,使得动态统计信息收集的功能更强;增加了混合统计信息用以支持包含大量不同值,且个别值数据倾斜的情况;添加了数据加载过程收集统计信息的能力;对于临时表增加了会话私有统计信息。
临时UNDO:将临时段的UNDO独立出来,放到TEMP表空间中,优点包括:减少UNDO产生的数量;减少REDO产生的数量;在ACTIVE DATA GUARD上允许对临时表进行DML操作。
数据优化:数据生命周期管理,可以指定行记录的生命周期。比如可以设置某条记录的有效期到3天之后,超过有效时间,则数据无法在被查询到。该功能是通过配置ILM策略实现,个人感觉后台肯定是通过SCHEDULER来进行时间的调度。
应用连续性:这个参考第三天的RAC新特性部分。
PLUGGABLE DATABASE:在12c中,有了CDB和PDB的概念。CDB作为容器,而PDB作为可插入到容器数据库的用户业务数据库。所有的PDB都有自己的SYSTEM表空间,而所有的PDB共享CDB的REDO和UNDO以及控制文件。这个功能是Oracle在数据库层支持云架构的重要改变,因此Oracle在OOW中对于这个功能大书特书。
TOM主题之后又听了一场ODA的主题:Oracle Database Appliance Technical Deep Dive: Architecture and Internals,这是我听的第四场ODA主题,本以为不会有什么收获结果出乎意料,演讲者是ODA的产品经理,因此还是从中了解到不少新东西。比如:ODA上即将推出的OVM架构,以及ODA的ASM磁盘组在划分20块HDD磁盘时,将DATA数据存储在磁盘外圈以获得更好性能等。
最后一场安全的新特性也是Tom带来的,这应该是意外惊喜,之前预约该主题的时候并未发现主讲是Tom,主题名称为:What’s New in Security in the Latest Generation of Database Technology。
权限分析:权限分配的两个难题:在出现权限不足的错误时,无法确切得知缺少何种权限;当要收回用户的ANY权限,但是又不知道具体需要对哪些对象明确授权。这也是很多用户被过分授权的原因。在12c中解决了这些问题,通过DBMS_PRIVILEGE_CAPTURE包可以捕获用户调用的权限,通过视图DBA_USED_PRIVS可以查询捕获结果。
DATA REDACTION:对敏感数据进行转换,可以将敏感内容替换为XXX之类的文字,也可以对其进行随机替换;该功能只是对返回查询结果的转换,而不影响查询语句的WHERE条件判断。这个功能通过DBMS_REDACT包实现。这个功能和数据加密,以及DATA MASK都不相同,机密用在数据存储层,而DATA MASK用于产品数据迁移到非产品环境,DATA REDACTION则只是用于敏感数据的展示。
审计功能增强,审计记录安全性增强:多个操作可以单独进行审计,比如备份、数据泵、数据库安装、直接路径加载等。根据Tom的描述,SINGLE AUDIT TRAIL FOR EVERYTHING;
审计记录安全性表现为:创建在INSERT ONLY表空间;审计记录只能通过DBMS_AUDIT_MGMT包进行管理;以及只有管理员有权限访问等。
加密增强:数据加密的密钥KEY和KEY的管理功能进一步增强;比如在多个wallet间move key提供了导入、导出和合并的功能;比如基于wallet的keystore的自动备份功能等;此外key全面支持PLUGGABLE DATABASE,并提供了将wallet直接存储在ASM上的能力。
CODE BASED ACCESS CONTROL:论坛中很多新手会问,为什么已经有CREATE TABLE权限在存储过程中建表仍然报错。这是由于角色对于定义者权限的存储过程无效。原来的解决方法是对用户直接授权,现在可以避免这种过度授权。解决方法是为存储过程创建一个角色,为该角色授予CREATE TABLE权限,设置该角色只在过程的执行阶段生效,并把这个角色授权给需要执行过程的用户。
调用者权限:新增了两个调用者权限INHERT PRIVILEGE和INHERT ANY PRIVILEGE,增加这两个权限的主要目的是为了防止SQL注入。如果当前用户没有被授予上面两个权限,那么尝试利用调用者权限存储过程的方式执行SQL注入的操作会导致错误。这两个权限的增加将会降低通过调用者权限方式进行SQL注入的可能性。
职责分离:很多时候并不是DBA一定要使用SYS用户,而是使用SYS用户确实比较方便,而且很多用户也要求SYSDBA身份。在12c中,不再只是SYSDBA和SYSOPER两个身份,新增了SYSBACKUP用来进行RMAN备份恢复;SYSDG用来创建管理DATA GUARD环境;SYSKM用来进行KEY的管理操作。
结束了今天的主题之后,OOW大会也正式结束了。

This entry was posted in NEWS and tagged , , . Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *