ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 小议20080304Oracle技术日

小议20080304Oracle技术日

原创 Linux操作系统 作者:yangtingkun 时间:2008-03-04 23:06:13 0 删除 编辑

和一个集成商的销售有约,借这个机会参加了今天的Oracle的技术日。恰好这个技术日的主题是11g的新特性,最近一段时间也一直对11g的新特性比较感兴趣。简单记录一下这个会议的收获。

 

 

刚开始的时候,看到Oracle方面主讲的谷博士,就觉得有些眼熟,似乎是个熟人,但是又不确定。后来早退的时候,在门口签到的地方碰到了他,聊了几句,发现果然是熟人,是我前一家公司的同事。只不过当时他就是BI项目的技术负责人了,而我还是个刚刚入门的新手(现在也是刚刚入门而已,只不过不算新手了)。他当时是FenngDiablo2DBLIFE的领导。Fenng就不用我介绍了;diablo2db2的高手,也是itpub的版主;DBLIFE也是ITPUB数据库管理区的元老之一,可能知道的人不多,但是Fenngbiti应该一定记得,他后来考研了,不知道毕业之后是否还从事数据库方面的工作。

扯远了,总之无论处于哪一点,我对谷博士都是比较尊重的。不过既然是做技术的,对待问题就要严谨,有错误就一定要指出来,不能因为是熟人而在技术是非上打折扣。

还是先说收获吧,这次的培训介绍11g的新的“选件”分为8个方面:RATreal application testing)、DATA GUARDFLASHBACK ARCHIVECOMPRESSRACPARTITIONSECURITYMANAGEMENT

之所以这个技术日要根据这些方面来介绍新特性和新功能,最主要的原因是这些选件是需要额外的License的。这一点可以说是今天参加会议的最大收获了。RACPARTITIONOEM就不说了,这些以前就是需要License的;而RAT这种新增功能需要License也属正常;但是DATA GUARD增加了恢复时开发数据库的功能后就需要额外的License,似乎比较黑。而FLASHBACK的归档和压缩功能居然也需要单独的License,而这以前都是Oracle本身提供的功能,不需要额外付费的。

除了了解License的变化外,就是对Oracle的安全性方面有了一个初步的了解。不但了解了现有的ADVANCED SECURITYLABEL SECURITYVAULT的功能,还初步了解了11g新增功能AUDIT VAULT。个人感觉,AUDIT VAULT是把系统安全性和AUDIT的功能整合在一起,给用户提供了一个预警、记录、跟踪功能的总和。

简单说一下今天谷博士描述错误的地方。其实绝大部分的知识点本身没有问题,出现错误的地方大部分在于他所举的例子。

第一个问题是在提到闪回特性的时候,博士举了个例子,以前有人由于在更新的时候忘记了添加条件限制,从而更新了表中所有的记录。等到一段时间后,在别人发现所有记录的值都一样时,才找到这个人,所幸的是,当时的命令窗口没有关闭,因此通过回滚解决了这个问题。这个事情多半是真事,但是估计谷博士也是听别人描述的,很可能描述的和实际情况有差距。因为这里面存在问题。如果当时这个SQL语句没有提交的话,那么在Oracle中,其他会话是无法看到未提交数据的,而如果别人已经看到了数据被修改,那么显然SQL已经提交,那么肯定最后不是通过回滚解决的问题。

下一个问题也是在介绍闪回特性的时候,博士提到了闪回表操作可以恢复TRUNCATE操作。但是在我印象中,11g中闪回表的操作也是无法恢复TRUNCATE的,除非是将整个数据库闪回到TRUNCATE之前。

另外一个问题出现在介绍RESULT CACHE特性时,谷博士说,如果第一个查询计算在座20岁的人有多少个,21岁的人有多少个……,Oracle会进行一个GROUP BY操作,在将结果返回的同时,将结果集记录在结果集缓存区中。如果下次查询一共有多少人时,可以通过缓存区中的结果直接计算得到。这里博士显然也物化视图的查询重写功能搞混了。这是物化视图的查询重写功能所提供的。当然缓存结果集也是可以作为其他查询的中间结果集的,但是这要求缓存结果集对应的SQL语句,必须是查询SQL语句的一个完整部分。也就是说只有按下面的方法书写计算所有人总数的SQL,才能使用前面那个SQL的缓存结果集:SELECT SUM(CN) FROM (SELECT /*+ RESULT_CACHE */ AGE, COUNT(*) CN FROM PEOPLE),而如果只是SELECT COUNT(*) FROM PEOPLE肯定是不会使用前面一个SQL的查询结果集的。

在介绍RAC数据库的可伸缩性时,多次强调了RAC添加节点可以不停机。确实,如果在以前配置的时候就考虑到了升级的情况,RAC添加节点确实可以做到不停机。但是对于绝大部分情况,停机仍然是不可避免的,比较很多的初始化参数需要停机进行修改。

还有一个问题,是在介绍闪回归档时,谷博士认为如果对表中的记录的操作错误,且表随后执行了其他正确的操作,只要设置了闪回归档,就可以将表中的数据闪回到错误操作之前,然后跳过错误的操作,甚至是执行执行正确的操作来替代错误操作,然后可以继续应用后面一系列正确的操作。我还没有仔细研究闪回归档的功能,但是根据我对Oracle的理解来判断,这种方式几乎是不可能的。数据一旦发生了变化,就不可能再次应用原有的修改了。除非Oracle在这里将修改转化为了逻辑方式。

谷博士似乎目前是从事销售的工作,如果作为一个销售人员,出现上面提到的这些细节错误似乎还可以理解。不过作为Oracle的工作人员,在这种技术日活动上公开演讲时,出现这么多的错误实在是不太应该。

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/4227/viewspace-200312/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
暂无介绍

注册时间:2007-12-29

  • 博文量
    1955
  • 访问量
    10367291