Oracle Policy-Managed Cluster – Growing for DBaaS

Policy-Managed Cluster在Oracle 11gR2中被引进,在Oracle 12c中使用dbca创建RAC数据库的时候,Policy-Managed选项已然成为默认值。 那么到底什么是Policy-Managed方式的集群和数据库呢?与以前的Admin-Managed方式有何区别?何种环境适合使用这种新的方式进行管理?本文尝试回答这些问题,并且做出简单的测试。 什么是Policy-Managed方式? 基于策略的管理方式,是以服务器池(Server Pools)为基础的,简单地说,就是先定义一些服务器池,池中包含一定量的服务器,然后再定义一些策略,根据这些策略Oracle会自动决定让多少数据库实例运行在池中的几台机器上。数据库实例名后缀、数据库实例个数、所运行的主机,这些都是通过策略决定的,而不是数据库管理员事先定好的。 与Admin-Managed方式有何区别? 实际上上面的表述已经明确说明了,Policy-Managed和Admin-Managed方式的差别。让我们再回顾一下,在以往我们创建一个RAC数据库大概是怎样的方法,我们在dbca的界面中会选择要将数据库实例运行在整个集群中的几台机器上,或者是2台或者是3台,甚或是更多,但是只要在安装的时候选定几台机器,那么以后如果不做增减节点的操作,就始终会在这几台机器上运行。而且,通常会根据主机名称的排序自动将每台主机上的数据库实例依次命名为dbname1到dbnameN。这些在管理员安装完毕以后,都不会再自动变化,这就是Admin-Managed方式。 何种环境适合使用这种新的方式进行管理? 当管理大量的服务器集群,并且在这些集群中运行着多种不同重要程度,不同策略的RAC数据库时,为了简化管理,建议使用Policy-Managed方式,实际上Oracle也建议只有在超过3台的服务器的时候才使用Policy-Managed来管理整个数据库集群。想象一下使用Policy-Managed方式可以达到的效果:如果我们有10台服务器组成,根据不同的应用的重要性定义服务器池的关键程度,然后在其中某些机器意外停机的情况下,仍然可以自动地保持足够多的机器给重要的系统提供数据库服务,而将不关键的系统数据库服务器个数降低到最低限度。 那么Policy-Managed方式到底长什么样? 在默认安装完Oracle 12c的RAC数据库之后,发现数据库实例始终只会启动在一个节点中。检查服务器池配置。 [oracle@dbserver2 ~]$ srvctl config srvpool Server pool name: Free Importance: 0, Min: 0, Max: -1 Category: Candidate server names: Server pool name: Generic Importance: 0, Min: 0, Max: -1 Category: Candidate server names: Server pool name: orcl_pool Importance: 0, Min:…

How to cleanup ADRCI Homes

ADRCI (ADR Command Interpreter) 是伴随Oracle 11g推出的新工具,由于各种log的位置纷繁复杂,因此在Oracle 11g中,Oracle将数据库、监听、客户端等的Log统一转到了diagnostic_dest初始化参数所指向的目录下的diag目录中,并且提供了ADRCI实用程序来进行高效查询及管理。在这之前我曾经写过两篇跟ADRCI相关的文章。 ADRCI Purge is NOT What You Think It Should Be:ADRCI的Purge命令用于清除日志文件中的内容,但是使用起来并非尽如人意。 Oracle11g for Windows ADRCI Issue:在Windows中使用ADRCI会产生的小问题,当然很久没有用过Windows,不知道这个问题是不是还依然存在。 ADRCI看上去是个很好的东西,但是除了show alert相对简单之外,其它的各种命令和查询条件的指定实际上比较繁琐,因此ADRCI在我周边的使用者寥寥可数,我算是坚持使用的为数不多者。因为使用者不多,所以对于ADRCI中一些极为简单的操作,了解者也比较少。 本文也是如此,如何删除在ADRCI中显示出来的多余的Homes?解决方法简单到令人发指。 问题重现,在命令中show homes显示出6个Home,这通常是由于安装过其它的数据库实例,然后删除的时候遗留下来的Log目录仍然存在。对于完美主义者来说这难以容忍。 [oracle@emnotech rdbms]$ adrci ADRCI: Release 12.1.0.1.0 – Production on Mon Aug 18 01:34:31 2014 Copyright (c) 1982, 2013, Oracle and/or its affiliates. All rights reserved. ADR base =…

Oracle Database In-Memory (12.1.0.2) Frequently Asked Question

Oracle Database In-Memory选件于美国时间6月10日已经发布,发布会视频参看:http://www.oracle.com/us/corporate/events/dbim/index.html 什么时候Oracle Database In-Memory选件能够发布? 该选件将包含在Oracle Database 12c的第一个Pacthset(12.1.0.2)中一起发布。 价格如何? 价格会在发布日的时候决定。 新的Oracle Database In-Memory选件是否会替代In-Memory Database Cache(就是TimesTen技术)选件? 当然不,完全不一样的应用场景。In-Memory Database Cache是在应用程序层通过TimesTen来管理的内存性质的数据库,这是为了让OLTP应用享受到对于存储在Oracle数据库中一部分表的超低延迟访问而设计的。 Oracle Database In-Memory选件是否会替代TimesTen? 当然不。像上面所说,TimesTen通常是部署在应用层的,可能是作为一个独立的数据库,也可能是作为在Oracle数据库前面的In-Memory Database Cache。TimesTen提供的是超低延迟数据访问,由此提供了极速的响应时间。由此受益的OLTP系统通常不会创建用于报表应用的索引,也因此通常无法从数据库层的Oracle Database In-Memory选件中获得多少性能提升。 Oracle Database In-Memory选件是否会替代Exalytics? 当然不。并不是所有客户都需要在他们的系统中拥有强力的分析能力,而Exalytics是Oracle的一体化策略分析平台。它提供了丰富的分析工具和可视化工具,以及大量的标准报表、预测分析、数据发现,是为了最优化地运行BI和EPM工作的平台,是对数据库层的补充而不是竞争。 Exalytics也不仅仅是针对Oracle Database 12c的,它可以处理多种数据源,包括Teradata、Oracle database 11g、SAP Netweaver等。 那么在Exalytics中使用的是什么关系型内存数据库引擎呢? Exalytics使用的是TimesTen In-Memory Database for Exalytics。在TimesTen产品发展路线图中也包含着跟Oracle Database In-Memory选件相类似的列式存储技术,而且是使用的相同的底层列式处理架构。这项技术计划在2014年跟Oracle Database In-Memory选件一起在相同的时间窗口发布。实际上,TimesTen和Oracle Database In-Memory选件在Oracle公司内部是由同一个小组来开发的,共享相同的创新技术以及底层架构。 那么在Exalytics中使用的内存数据库引擎在未来会变成Oracle Database In-Memory选件吗? 没有这个计划。Oracle期望TimesTen会持续研发。 Oracle Database…