[翻译] Oracle Database 12c 新特性Multitenant

时间:2021-08-18 16:21:48

译自官方白皮书http://www.oracle.com/technetwork/database/plug-into-cloud-wp-12c-1896100.pdf,包含新的云计算相关技术的介绍。

 

开启数据库云计算

行业研究发现许多IT组织已经开始了云计算征程。云计算让IT组织能更积极的响应业务需求和应用程序负载变化,同时降低了IT技术的复杂度和成本。确实,一贯以来Oracle的各版本帮助客户标准化、合并、自动化数据库服务,各类创新性的技术包括:

  • Oracle Real Application Clusters——支持夸服务器池的透明部署,提供容灾功能。在过去10年里,它让数据库网格计算变得流行,同时也为数据库云计算打下基础。为在线事务处理和数据仓库应用程序提供理想的高可靠性、高扩展性方案。
  • Oracle Automatic Storage Management——为Oracle数据库提供专用文件系统和卷管理功能。为数据库云计算简化了存储合并和配置,提供创新性的容量平衡技术用来平均分配I/O,以及自动镜像重构和再同步的保护技术使数据免于磁盘故障的影响。
  • Oracle Exadata Database Machine——为OLTP、数据仓库、混合应用提供强劲的性能。是一套集成软件、服务器、存储的工程系统,带有Oracle Real Application Clusters、Oracle Automatic Storage Management、Oracle Exadata Storage Software。

Oracle Database 12c加入了新的Multitenant架构,使得数据库云部署和管理更简便,也让客户能充分享受到云计算带来的资源共享、弹性化管理、节约成本等好处。

 

“拔插式数据库让我们能合并成千上万的数据库到单个可分割的RAC环境中,而在以前我们需要把数据库部署到独立的服务器上。” ——Martin Power, Logical Technology

 

简化数据库合并

在数据中心,将很小一部分的变更标准化就能将合并的好处最大化,合并是迈向云计算的第一步,云计算更有效的利用硬件和管理资源。但是,要达到高度数据库合并,所付出的开发和管理成本对IT组织是很大的挑战。很多IT组织使用虚拟主机,让多个Oracle数据库实例在一台机器上运行,或者通过合并Schema的方式合并数据库实例。这些方法的价值有限,甚至增加了成本和复杂度。

Multitenant架构

Oracle Multitenant专为云计算设计,基于Schema的高度合并,却能避免对已有应用程序的修改。它是Oracle Database 12c企业版的组件,有了这一功能,能够如同管理单个数据库那样管理多个数据库,同时又能保持多个数据库间的隔离和资源控制权。在此构架中,一个Multitenant容器数据库可以寄居多个‘可插拔’数据库,每个数据库如同应用程序似的合并或‘插入’Multitenant容器。访问可插拔数据库如同已有的数据库,管理员可以控制合并数据库间的资源优先级。

 

升级到Oracle Database 12c

客户可以选择升级到Oracle Database 12c新的Multitenant构架或按当前构架升级。升级已有数据库,插入到Multitenant容器非常简单。依据当前版本,升级方式有所不同。11gR1、11gR2、10gR2版本可以直接升级到12c,然后‘插入’Multitenant容器。10gR1或更早版本可以使用GoldenGate或Data Pump的工具将数据迁移至12c。

如同单个数据那样管理多个数据库

合并数据库意味着简化管理,管理员可以贯穿整个数据中心管理数据库。在IT组织中,管理上千个数据库是很常见的情况,每个生产、测试、开发环境的数据库都需要维护。

 

更少的补丁和升级工作

为多个非合并数据库打补丁或升级是挑战性的工作,数据中心所有数据库,不管生产、测试、开发环境都要升级。将数据库合并到Multitenant容器可极大减少补丁和升级的工作量。在Oracle Database 12c中,补丁和升级是容器级的,不需要针对每个可插拔数据库。客户还对新容器补丁或升级后,从老版本容器中将数据库拔出,然后插入新版本容器。

 

更少的备份

优秀的DBA会常规性的将数据中心的数据库备份文件进行复制保存。相对独立备份每个数据库,可插拔构架只需要在容器级进行备份,简化了DBA的工作量。而且,当独立的插拔数据库发生问题时,管理员可以选择在数据库级别执行恢复工作,而不是容器级。

 

更少的Standby数据库

可插拔数据库另一个优点是维护Standby数据库。很多Oracle客户使用如Oracle Data Guard或Oracle Active Data Guard这类Redo日志复制技术来同步夸地域的Standby数据库。有了Oracle Database 12c,复制Redo日志发生在容器级,容器中每个可插拔数据库都受到完全的保护。而且,Oracle Active Data Guard可以使用Standby的可插拔数据库作为报表数据库或其他用途。

配置和克隆

为了测试、开发、诊断等各种目的,快速的配置和克隆数据库对许多IT组织来说都是挑战。DBA每天工作中大量时间是用来创建数据库、克隆数据库、服务器间迁移数据库。Oracle Multitenant支持快速数据库配置和克隆,同时也简化了数据库合并。例如,DBA可以简单的复制生产数据库,再插入开发或测试容器。而且,如果使用的文件系统支持Copy on Writes(例如Sun ZFS、Oracle ASM Cluster文件系统),克隆可插拔数据库几乎是瞬间完成。

数据库资源管理

虽然多数据库合并的好处毋庸置疑,但客户也会考虑合并过程中的各种问题。一个明显的问题是“如何保证Multitenant构架下的资源优先级?”毕竟,如果数据库应用程序失控的竞争系统资源,用户性能服务级别下跌,合并的其他优点都是无意义的。

使用Oracle Database 12c资源管理特性,DBA可以轻易定义每个插拔数据库的资源利用优先级。数据库服务器主动监控数据库使用率,确保容器中每个数据库保持在预定的资源上下限。例如,在每季度末,ERP应用程序可以从容器中其他低优先级的应用自动获得系统资源,以确保在使用峰值时用户性能服务等级也维持一贯水平。

数据隔离

客户如果投入开发资源在Schema合并项目,确实可以实现高水平的合并密度。但是安全性问题是Schema合并中不可避免的。

Oracle Multitenant可以孤立数据库的数据安全设置。每个合并或插入容器的数据库,不仅可以独立管理元数据和数据,还可以保留原来所有的访问权限配置。容器中数据库间的权限可以相互独立,这对SaaS供应商特别有用,供应商可以在数据库级为多个用户设置权限,而不是应用程序端。