Oracle数据库12c新特性
TechTarget 中国《数据库工程师》2013年9月刊
1
数据库工程师
Database Engineer 更多精彩原创内容:
单一实例如何升级到Oracle 数据库12c
Oracle 数据库12c 新特性总结
Oracle
数据库
12c
的五大应用场景
如何权衡12c 多租户的投资回报率
2013年9月刊
今年6月,甲骨文公司正式发布了新
版的旗舰数据库Oracle 数据库
12c ,其中多租户云特性备受关注。
本刊将针对12c 的新特性展开全面的
介绍。
录
刊首寄语
Oracle数据库走进新时代………………………………………3深度观察
解读Oracle数据库12c五大应用场景 (5)
如何衡量Oracle数据库12c的投资回报率 (10)
Oracle数据库12c可插拔数据库应用案例 (14)
技术热点
单一实例如何升级至Oracle数据库12c (18)
Oracle 数据库12c新特性总结 (34)
专家眼中的12c
听eygle聊聊Oracle数据库12c (69)
咨询顾问:多租户比Oracle RAC更易用 (71)
我们的编辑团队 (75)
联系我们 (76)
TechTarget 中国《数据库工程师》2013年9月刊 2
【刊首寄语】
Oracle数据库走进新时代
当甲骨文CEO Larry Ellison在去年的OpenWorld上正式介绍第十二版Oracle数据库时,他将其形容为世界上第一款针对云计算设计的多租户数据库。
12c——仅从产品代码我们就可以看出,Oracle数据库已经从网格(grid)时代全
面迈进了云(cloud)时代。
多租户并不是一个新鲜的技术名词,这也导致Oracle数据库12c在刚刚宣布的时候引来业界诸多吐槽。甲骨文也花了很长时间才讲清楚12c究竟特殊在哪,它
是在数据库层实现了多租户而不是传统SaaS模式中的应用层。用Larry的话来说
就是,在应用层部署多租户的做法是错误的,但他们没有别的选择。
那么好,Oracle数据库12c为企业整合数据库资源带来了新的选项——多租户(之前叫可插拔数据库PDB和容器数据库CDB)。据说在12c的beta阶段,
就有很多参与测试的客户对PDB功能表现感到惊讶。它的应用场景是什么?多租
户的魔力究竟体现在哪些方面?在本期《数据库工程师》Oracle数据库12c专刊
当中,我们就将为您解读多租户的应用案例。
事实上,除了多租户之外,Oracle数据库12c还添加了超过500多项的新特性、新功能。甲骨文数据库业务部门负责人Andy Mendelsohn与他的团队针对
TechTarget 中国《数据库工程师》2013年9月刊 3
12c一共进行了长达5年的研发,总有一款新特性适合你。且看我们邀请Oracle ACE总监撰写的《Oracle数据库12c新特性总结》
你是否会升级到Oracle数据库12c呢?你如何看待12c的多租户特性?你还关注12c的哪些新特性?欢迎在阅读本期《数据库工程师》电子杂志的同时,与我们进行深入的互动与交流。您可以通过电子邮件(sunrui@https://www.360docs.net/doc/d112715685.html,)或者微博(@TechTarget数据库)的方式给我们留言。
TechTarget中国高级编辑孙瑞TechTarget 中国《数据库工程师》2013年9月刊 4
TechTarget 中国《数据库工程师》2013年9月刊
5
新版本Oracle 数据库12c 的多租户架构,是云中整合数据库的理想选择。PDB 与CDB 对于云用户来说是非常具有革命性的功能。——甲骨文数据库业务负责人Andy Mendelsohn
今
年6月,甲骨文公司正式发布了旗舰数据库Oracle
Database 12c。在近期举行的甲骨文全球大会上海活动主题
演讲当中,甲骨文公司数据库技术高级副总裁Andy Mendelsohn携Oracle数据库12c登场亮相,同时中国地区用户也首次能够近距离全面接触到12c的诸多新特性。演讲中,Andy Mendelsohn解读了Oracle数据库12c的五大应用场景,并重点介绍了12c的多租户架构(Multi-tanency)对于云计算时代的意义。
目前云计算领域中排名前十的SaaS提供商都在使用Oracle数据库作为后端的支撑。Andy Mendelsohn表示,新版本Oracle数据库12c 的多租户架构,是云中整合数据库的理想选择。而最新的容器数据库(Container Database)与可插拔数据库(Pluggable Database),对云用户来说是非常具有革命性的功能。传统的服务器虚拟化技术,需要对每个虚拟机进行管理,而每个虚拟机又包含了自身的操作系统、数据库以及应用,从而带来了更多管理维护上的压力。Oracle数据库12c的多租户架构相当于在数据库层面进行了虚拟化,任意一个数据库都可以插拔到架构中的其他位置,免去了整体数据库平台的移动,这为SaaS环境下的数据库整合提供了非常便利的条件。
TechTarget 中国《数据库工程师》2013年9月刊 6
TechTarget 中国《数据库工程师》2013年9月刊
7
甲骨文公司数据库技术高级副总裁Andy Mendelsohn
Andy Mendelsohn 还介绍了Oracle 数据库12c 的五大应用场景,用户将从以下场景中获得12c 提供的巨大优势:
1. 数据库整合。相信这将是Oracle 数据库12c 未来最为常见的一个应用场
景,能够帮助用户有效控制资本开支与运营开支;
2. 测试与开发环境。通过创建可插拔数据库,Oracle 数据库12c
能够对
ERP 等应用的测试与开发环境进行快速的配置
3. 数据库即服务。通过创建不同的容器数据库来提供不同的服务,并可以分
成不同的层级,比如高级的Data Guard+RAC 或者低级别的备份等。
而随着数据库重要性的改变,还可以任意更改其层级;
4. 打包应用。Oracle 数据库12c 可以将相关的配置以及元数据、Schema
TechTarget 中国《数据库工程师》2013年9月刊
8
以可插拔数据库形式进行打包,并快速迁移到新的应用系统当中;
5. 软件即服务。为不同的用户提供不同的可插拔数据库,Oracle 数据库
12c 还提供了数据隔离,数据安全性和数据库工具支撑,更加适合公有
云模式。
虽然Oracle 数据库12c 的云增强为企业云计算部署提供了强大的数据库支持,但也有相当一部分用户认为12c 的多租户架构更适合大型企业应用。而对于中小型企业来说,Oracle 数据库12c 是否
具有足够吸引力?对此,Andy
Mendelsohn 在接受TechTarget 中国记者
采访时表示,在他接触到的所有客户当中,
对数据库整合的需求都是非常强烈的。即使
在中小型企业当中,50-70个数据库都是很
正常的事,而Oracle 数据库12c 在整合方面的改进是非常明显的。而除了多租户之外,Oracle 数据库12c 还提供了500多项新的功能,对于任何规模的企业来说,都能够找到适合他们的功能改进。
目前中国地区的用户当中,有相当大一部分用户还在使用10g 甚至更旧版本的Oracle 数据库。针对12c 的普及前景以及策略问题,Andy Mendelsohn 表示,甲骨文为用户从10g 、11g 版本升级到12c 提供了非常方便快捷的方式,很
你知道吗? Oracle 12c 数据库的多租户功能将单独收费,售价为1.75万美元/处理器,而企业版12c 数据库的售价仍为4.75万美元/处理器。
多Oracle数据库第三方技术提供商也开始了12c的认证计划。甲骨文自身的产品,包括BI、应用以及集成系统都第一时间通过了12c的认证。Andy Mendelsohn认为,用户系统中的关键数据往往只占到全部数据的10%,另外90%的数据完全可以迁移到Oracle数据库12c当中进行测试与开发,这也是12c的一个主要应用场景。通过验证之后,用户就可以考虑将10%的关键应用迁移到新版本数据库上。
Andy Mendelsohn预计,在R2版本推出之后,目前的Oracle数据库12c 才有可能迎来部署的高峰期。而这也将是2-3年之后的事了,在此之前,中国地区的用户还需要更多地尝试消化Oracle数据库12c的诸多新特性。
(作者:孙瑞来源:TechTarget中国)TechTarget 中国《数据库工程师》2013年9月刊9
当刚刚接触Oracle数据库12c的时候,J. Marshall Romberg还不知道新的多租户功能会让公司掏更多的钱。
TechTarget 中国《数据库工程师》2013年9月刊10
作为世博控股的首席企业数据架构师,Romberg对这一结果感到有些吃惊。当对12c做beta测试的时候,多租户是他们最喜欢的新特性之一。在此之前,多租户功能还叫做Oracle数据库12c可插拔数据库(Pluggable Database),Romberg认为公司可以利用这一功能,对多个数据库进行整合。
但当Oracle数据库12c正式发布之后,人们才发现想要使用多租户功能,你就得多掏钱,甚至比之前已经很贵的企业版还要贵。也就是说,单处理器的企业版许可费用是47500美元,而使用Oracle数据库12c多租户功能的用户还需要多交额外的17500美元,相当于之前价格的137%。那么对于用户而言,这样的价格是不是太贵了?
“对于额外的费用,我们非常失望,”Romberg说:“我们会再考虑预算的问题,再决定明年是不是升级到12c。”
作为Oracle数据库12c的早期测试客户,Romberg对于多租户的技术表示五体投地,但出于成本考虑,他已经不确定公司会不会使用它。现在的问题是,Oracle是不是把12c中最具突破性的技术标价太高了?
Oracle数据库12c多租户功能简介
Oracle数据库12c多租户功能有两个主要的组件:Container Database (CDB)和Pluggable Database(PDB)。CDB主要用来作为数据库实例,它包TechTarget 中国《数据库工程师》2013年9月刊11
含数据库操作、元数据和函数。PDB是用户数据库,能够插入到CDB当中。根据Oracle给出的官方文档,一个CDB中最多可以插入250个PDB。这些PDB还可以任意插入到其他的CDB当中,无论是在当前服务器上还是其他服务器上都可以。
这一架构将用户数据库从管理系统中分离出来。通常情况下,数据库虚拟化会将多个虚拟机放在一个服务器上,每个虚拟机都会有一个操作系统和数据库。这对于安全性保障以及数据库功能分离是比较好的,但对系统压力过大,因为有太多的VM、操作系统和数据库都并发运行。它会消耗大量计算资源,而且IT员工需要对每一个VM进行单独的管理。
据了解,甲骨文公司从7年前就开始对12c中的多租户功能进行探索,主要来自客户对数据库整合方面的需求。服务器虚拟化是一种方法,但是对资源的利用过高。另外一种方法是整合schema,这也是Sabre使用的方法。但这也会造成一些问题,比如,一些应用有严格的schema命名规则,这会导致命名空间冲突的问题。
Oracle数据库12c多租户功能可以解决以上的所有问题。
“在使用了多租户功能之后,系统管理的工作负载能够降到很低,”另外一家正在评估多租户功能的电信运营商发言人说:“你可以使用一个OS,然后所有Oracle都安装在这个OS上,然后在数据库层面进行虚拟化。我们的DBA工作压力也降低了,因为他们无需在对所有的数据库实例进行维护。”
TechTarget 中国《数据库工程师》2013年9月刊12
这位匿名的技术发言人表示,他的公司正在就Oracle数据库12c多租户的价格问题与甲骨文进行谈判。最终甲骨文的价格还是要看是不是使用了多租户。
另外这家电信运营商比较感兴趣的功能是数据可视化热图(Heat Map),它将数据的冷热程度用图表的形式表现出来:使用频率更多的,它的热度就更高;反之亦然。这对于存储归档有很大帮助,他的公司将使用这个功能进行更深程度的压缩。
在接下来的几个月中,甲骨文肯定会推出更多的客户参考案例,展示Oracle 数据库12c多租户功能的优势。而当更多的企业开始使用12c之后,也许还会有更多的有趣的用例会涌现出来。但出于Oracle的定价考虑,我认为对于大型企业整合上千个数据库的应用场景之下,Oracle数据库12c的多租户功能才会展现更好的ROI。
(作者:Mark Fontecchio 来源:TechTarget中国)TechTarget 中国《数据库工程师》2013年9月刊13
TechTarget 中国《数据库工程师》2013年9月刊
14
Oracle 数据库12c 可插拔数据库应用案例 对于那些苦于管理大规模数据库的DBA 来说,也许新版的Oracle Database 12c 中的可插拔数据库(Pluggable Database ,简称PDB )功能将成为他们的福音。
针对Oracle 12c 数据库测试用户的一份调查显示,新版本中他们认为最强大的功能就是
PDB 。就如同服务器虚拟化技术从底层硬件层面将操作系统抽象出来一样,Oracle 12c 中的PDB 就是从管理系统中将数据库抽象出来。可以说PDB 的意义有如虚拟化对服务器所产生的影响。
世博控股(Sabre Holdings )集团的数据架构师Marshall Romberg 表示:“我们对减少数据库数量并提供更多的灵活性最感兴趣,所以我们使用PDB 的最大目的就是整合(consolidation )。”
Romberg描述了一个典型的应用场景:在Sabre公司中,不同部门的应用是
由多个数据库作为后台支撑的,这些数据库跑在各自的服务器上。这样导致的结果
就是,Sabre需要维护上千台服务器,而这些机器的CPU利用率最高也不过5%。于是Sabre的DBA团队决定对数据库Schema进行整合,但这样做也会引出其他一些问题。比如,由于一些应用需要严格的Schema命名标准,所以命名空间之间的冲突难以避免。
于是Sabre首先想到的就是利用服务器虚拟化技术来解决CPU利用率的问题,但是根据另外一家大型电信企业的首席架构师(未透露姓名)称,这可能会带来更
大的管理问题。此人称:“每一个虚拟机都会有一个操作系统、一个数据库和一个
应用。因此DBA团队的工作量肯定会加倍。也就是说如果有15个虚拟主机,那就意味着你需要管理15个操作系统和15个数据库。”
Oracle Database 12c可插拔数据库解决难题
Oracle Database 12c有两个主要的组件:Container Database(CDB)和Pluggable Database(PDB)。CDB主要用来作为数据库实例,它包含数据库操作、元数据和函数。PDB是用户数据库,能够插入到CDB当中。根据Oracle给出的官方文档,一个CDB中最多可以插入250个PDB。这些PDB还可以任意插入
到其他的CDB当中,无论是在当前服务器上还是其他服务器上都可以。
TechTarget 中国《数据库工程师》2013年9月刊15
Oracle官方宣称,这一新功能可以加速数据库部署,即升级或者给一个CDB 打补丁就可以将所有变更同步到其上的PDB当中。也可以创建一个新的CDB,然后进行升级变更,再将其他PDB插入到该CDB中,就可以达到相同的效果。而针对安全性保障,Oracle官方表示两个PDB之间的安全性级别同两个普通Oracle数据库的一样。
著名在线支付公司PayPal的数据库架构师Amit Das介绍,公司拥有超过500个数据库实例,其大小从10TB到130TB不等。在快速的OLTP环境中,将达到每秒14000次并发处理和80000个执行。想要管理这样规模的数据库系统?谈何容易!
“作为Oracle 12c数据库测试项目的一部分,我们开始接触到了Pluggable Database功能,”Das说:“在一些情况下,它带来的好处是巨大的,特别是管理开发项目的时候,你必须给他们多个数据库。”
Pythian咨询公司的CTO Alex Gorbachev同意Das的观点,他发现Pluggable Database的最大优势在于降低管理复杂度。他表示DBA在管理数据库的时候不喜欢使用hypervisor,因为它会为数据库堆栈提供一个新的层,使得数据库透明度进一步降低。
TechTarget 中国《数据库工程师》2013年9月刊16
Gorbachev将PDB比作一个Solaris容器(Sun公司的操作系统虚拟化技术),DBA可以将这种虚拟化技术用到数据库内核当中。无须添加额外的层,你是在数据库代码中使用虚拟化技术,因此不会造成额外的开销。
(作者:Mark Fontecchio 来源:TechTarget中国)TechTarget 中国《数据库工程师》2013年9月刊17
【技术热点】
单一实例如何升级至Oracle数据库12c
对于Oracle数据库的每个版本,总是需要遵循一个升级路径。而对于很多人来说,他们经常是在不了解需要做些什么的情况下就匆忙下载软件并尝试去安装或
升级。如果失败,这就有可能会导致灾难并对业务产生潜在的影响。
升级至Oracle数据库12c(12.1.0)的路径是相当简单的。如果你所运行的Oracle数据库支持升级至12c的直接路径,那么使用任何受支持的升级方法都没问
题。反之,如果你的版本不支持直接路径升级,那么你就需要在升级至Oracle数
据库12c之前先升级至一个受支持的版本。
TechTarget 中国《数据库工程师》2013年9月刊18
受支持的直接升级路径:
●Oracle数据库10g(10.2.0.5)
●Oracle 数据库 11g (11.1.0.7)
●Oracle 数据库 11g (11.2.0.2 或后续版本)
目前有三个受支持的升级路径/工具,每个都有各自需要注意的问题。升级选项包括:
●数据库升级助手(DBUA)
●手动升级(基于脚本)
●导出/导入
本文主要介绍如何使用DBUA升级到Oracle数据库12c。
Oracle已对DBUA做出改进以提供无缝升级。如果出现错误,我们现在就有选择可直接从DBUA对它们进行修复。此外,DBUA使得监控升级更为简便。要使用DBUA,我们必须去Oracle数据库12c主目录并通过运行dbua来开启它。●运行 PREUPGRD.SQL
为了运行preupgrd.sql文件,我们首先需要为12c安装新的二进制文件到Oracle主目录。之后需要配置环境来连接想要升级的数据库。
TechTarget 中国《数据库工程师》2013年9月刊19
在本文的测试环境中,Oracle数据库11g设置如下:
ORACLE_SID=ora11g
ORACLE_BASE=/opt/oracle
ORACLE_HOME=/opt/oracle/product/11.2.0.3.0/db_1
接下来,我们需要去preupgrd.sql 文件所在的目录:
#> cd /opt/oracle/product/12.1.0.1/dbhome_1/rdbms/admin
最后,我们需要使用SQL*Plus并运行preupgrd.sql 文件来连接11g数据库:#> sqlplus / as sysdba
SQL>@preupgrd.sql
当preupgrd.sql脚本完成后,我们就会获得需要参考的文件所在路径,这些文件可以帮助我们检验并纠正环境中出现的任何问题。
/opt/oracle/cfgtoollogs/ora11g/preupgrade/preupgrade.log
预升级修复脚本(在源数据库环境中运行):
/opt/oracle/cfgtoollogs/ora11g/preupgrade/preupgrade_fixups.sql
升级后修复脚本(升级后运行):
TechTarget 中国《数据库工程师》2013年9月刊20