X

一线集成系统工程师的精彩案例分享、主要产品以及新特性介绍、诊断工具和诊断方法、白金服务以及一些常见问题解答 -- 欢迎光临Oracle集成系统及白金服务官方博客

Recent Posts

BDA

Oracle大数据一体机最高可用性架构(MAA)总体概述

Oracle大数据一体机是由硬件和软件组件组成的工程系统,根据Oracle MAA的标准将设计,测试和优化一体化,从而提供了最高应用可用性和性能。它提供了: >> 一个完整的和优化的大数据解决方案 >> 单一供应商提供硬件和软件的技术支持 >> 一个易于部署的解决方案 Oracle大数据一体机给运行不同负载的Hadoop和NoSQL系统提供了一个灵活的,高性能的以及安全的平台。此平台可以获取,组织并且支持深度分析流入到企业中来自不同数据源的巨大而且复杂的数据流;并根据它自身的结构,负载特性以及终端用户需求结合了为数据选择最佳存储和处理位置的能力。 Oracle大数据一体机与Oracle数据库以及Oracle Exadata数据库一体机紧密地集成在一起,并且结合了被Oracle内部和全球范围内关键客户验证的同样的最高可用性架构。Oracle Exadata数据库一提机器提供在托管数据仓库和事务处理数据库方面的杰出性能。 为了达到最高速度和效率,Oracle大数据一体机可以通过使用InfiniBand技术连接到Oracle Exadata数据库一体机。InfiniBand连接的这些工程系统提供了低延迟和高吞吐量,支持批量数据和查询负载的高速传输。 Oracle大数据一体机是获取和组织大数据的平台,并且支持使用最新的大数据技术对数据进行探索和分析。在Oracle大数据一体机前置Oracle数据库可以很容易地在数据库中将这些分析结果与数据结合起来。Oracle Big Data SQL统一了跨多个数据源的数据,并且利用了Oracle丰富的SQL方言和安全策略。 Oracle Exadata MAA最佳实践以及无与伦比的性能用于生产一个紧密集成的,高可用的以及高性能的端到端系统。             图一: 关于本地部署和云部署的Oracle大数据一体机和Oracle Exadata数据库一体机紧密集成的性能展示  

Oracle大数据一体机是由硬件和软件组件组成的工程系统,根据Oracle MAA的标准将设计,测试和优化一体化,从而提供了最高应用可用性和性能。它提供了: >> 一个完整的和优化的大数据解决方案 >> 单一供应商提供硬件和软件的技术支持 >> 一个易于部署的解决方案Oracle大数据一体机给运行不同负载的Hadoop和NoSQL系统提供了一个灵活的,高性能的以及安全的平台。此平台可以获取,组织并且...

BDA

Oracle大数据一体机(BDA)最高可用性架构(MAA)

Oracle的最高可用性架构(MAA)是Oracle的最佳实践蓝本,基于已证实的Oracle高可用性技术,以及专家建议和客户体验。MAA的最佳实践已经高度集成到Oracle大数据一体机的设计和操作能力中,并且它们为大数据提供了最全面的高可用性解决方案。 Oracle MAA 的白皮书在Oracle技术网络(OTN)网站上的MAA主页发表。 Oracle大数据一体机(BDA)最高可用性架构是一个最佳实践蓝本,使用Oracle最高可用性技术和提供的信息实现一个最佳的高可用性部署。 这篇白皮书关于Oralce最高可用性架构(MAA)的测试是运行在Oracle大数据一体机和Oracle Exadata数据库一体机上,来验证高可用性以及在各种宕机场景中测量宕机时间。 这篇白皮书的最新版本涵盖了Oracle 大数据一体机MAA项目的第一阶段。该项目包括以下两个阶段: 阶段1: 单个站点的高可用性和宕机场景 阶段2: 跨多个站点的灾难恢复场景 覆盖第一阶段的白皮书现在已经在这里发表了.  中文版本请见如下博文: 1. Oracle大数据一体机最高可用性架构(MAA)总体概述 2. Oracle大数据一体机最高可用性架构(MAA)总体架构 3. Oracle大数据一体机最高可用性架构(MAA)故障测试 4. Oracle大数据一体机最高可用性架构(MAA)总结

Oracle的最高可用性架构(MAA)是Oracle的最佳实践蓝本,基于已证实的Oracle高可用性技术,以及专家建议和客户体验。MAA的最佳实践已经高度集成到Oracle大数据一体机的设计和操作能力中,并且它们为大数据提供了最全面的高可用性解决方案。 Oracle MAA 的白皮书在Oracle技术网络(OTN)网站上的MAA主页发表。 Oracle大数据一体机(BDA)最高可用性架构是一个最佳实践...

BDA

如何使CDSW能够帮助您更好的利用BDA一体机

没有人需要详细说明数据科学的重要性和重要性,所以我们不讨论为什么您应该关注框架和工具,以便在Hadoop基础设施上启用ai/ml和更多有趣的东西。在Oracle一体机上实现这一点的一种方法是使用Cloudera数据科学工作台(CDSW)。有关CDSW的一些信息和它的好处,请参阅本文的最后部分。 它是如何工作的? 假设您想要使用CDSW来满足您的数据科学需求,那么我们可以使用BDA一体机来支持对CDSW的支持。 CDSW将在集群上运行(一组)边缘节点。这些节点必须遵循一些特定的OS版本,因此我们发布了一个新的BDA基本镜像,用于提供Oracle Linux 7(UEK4)的边缘节点的支持。CDSW从CDSW 1.1开始支持Oracle Linux 7(更多版本信息请参考这里)。 随着操作系统版本的扩大,我们将支持CDSW,并且在一个包含8个节点的BDA(如下图所示)中,你需要把这两个边缘节点重新安装BDA OL7基本镜像,配置网络并将节点作为边缘节点集成到集群中。在此之后,你可以按照Cloudera的文档安装CDSW。 正如您在上图中看到的,这两个边缘节点运行在OL7上,但它们构成了BDA集群的一个完整部分。他们还覆盖了嵌入的Cloudera企业数据中心许可。集群节点的其余部分,就像在几乎所有的实例中所做的那样,仍然是您的常规OL6操作系统,安装了Hadoop栈。Cloudera管理器可用来管理集群(不需要任何更改)。 就是这样。 对于Oracle客户详细的步骤已经测试过了并且通过MOS发布了。 Cloudera数据科学工作台是什么? [来自Cloudera - 以下既不是我也不是Oracle的功劳]  Cloudera数据科学工作台(CDSW)是Cloudera企业数据科学的自助服务环境。基于Cloudera对数据科学初创公司sense.io的收购,CDSW允许数据科学家使用他们最喜欢的开源语言--包括R,Python以及Scala -- 以及使用本地Apache Spark和Apache Hadoop集成的安全企业平台上的库,以便从探索到生产加速分析项目。CDSW提供以下好处: 对于数据科学家:直接从web浏览器使用R、Python或Scala,使用他们最喜欢的库和框架。使用Spark和Impala直接在安全的Hadoop集群中访问数据。与他们的整个团队分享关于可再生的,协作研究的见解。 对于IT专业人员:让您的数据科学团队更自由地工作,无论他们想要什么,什么时候需要。保持对完整Hadoop安全的开箱即用支持,特别是Kerberos。在私有云、客户云或公共云上运行。 [Cloudera部分结束] 请阅读更多关于CDSW的文章。 注:原文出自How Enabling CDSW Will Help You Make Better Use of Your Big Data Appliance

没有人需要详细说明数据科学的重要性和重要性,所以我们不讨论为什么您应该关注框架和工具,以便在Hadoop基础设施上启用ai/ml和更多有趣的东西。在Oracle一体机上实现这一点的一种方法是使用Cloudera数据科学工作台(CDSW)。有关CDSW的一些信息和它的好处,请参阅本文的最后部分。 它是如何工作的? 假设您想要使用CDSW来满足您的数据科学需求,那么我们可以使用BDA一体机来支持对CDSW...

ODA升级过程--从12.1.2.6.0至12.1.2.7.0

ODA升级过程--从12.1.2.6.0至12.1.2.7.0     1.概述          本文以12.1.2.6.0升级到12.1.2.7.0为例简单介绍Oracle Database Appliance(以下简称ODA)升级的过程。 2.确定ODA 部署方式        ODA部署的方式包括非虚拟化(Bare metal) 和虚拟化(Virtualized)。非虚拟化(Bare metal)就是传统的部署,直接在ODA上安装OS、Grid Infrastructure(以下简称GI)和数据库软件。虚拟化(Virtualized)就是在ODA上安装Oracle VM Server(虚拟服务器,称为Dom0),然后在此之上安装一个虚拟机ODA_BASE (也叫Dom1)。把GI、DB安装在虚拟机ODA_BASE 。用root用户执行‘oakcli show env_hw’命令,如果命令输出中包括值‘VM-DOM0’并且伴随着您的硬件型号,则表示已安装虚拟化。 [root@odax5-dom0 ~]# oakcli show env_hw VM-DOM0 ODA X5-2 Public interface : COPPER [root@odax5-dom0 ~]#   3.下载介质 通过下面文档找到ODA Bundle Patch部分: Oracle Database Appliance - 12.1.2 and 2.X Supported ODA Versions & Known Issues (Doc ID 888888.1)        点击patch 22896543 链接,进入下载页面下载对应的安装文件p22896543_121270_Linux-x86-64_1of2.zip、p22896543_121270_Linux-x86-64_2of2.zip。 For easy reference, ODA Patch 12.1.2.7.0 Patch 22896543 File Name: p22896543_121270_Linux-x86-64_1of2.zip & p22896543_121270_Linux-x86-64_2of2.zip   4.详细阅读readme ODA 12.1.2.7.0 包括组件及其版本: Component Name X5-2 Hardware X4-2 Hardware X3-2 Hardware V1 Hardware Controller_INT 4.230.40-3739 11.05.03.00 11.05.03.00 11.05.03.00         Controller_Ext 09.00.00.00 11.05.03.00 11.05.03.00   Expander 0018 0018 0018 342 SSD_SHARED A29A 944A 944A E12B HDD_LOCAL A720 A720 A4C0 SF04,SA03             HDD_SHARED A3A0 A720 A720 0B25,A880 ILOM 3.2.4.68 r108889 3.2.4.72 r108978     3.2.4.76 r108980   3.0.16.22.f r110119 BIOS 30070500 25030100 17110500 12010311 IPMI 1.8.12.4            1.8.12.4            1.8.12.4            1.8.12.4            HMP 2.3.5.2.1      2.3.5.2.1      2.3.5.2.1      2.3.5.2.1      OAK 12.1.2.7.0 12.1.2.7.0 12.1.2.7.0 12.1.2.7.0           ORACLE LINUX 6.7 6.7 6.7 6.7 Kernel 2.6.39-400.276.1.el6uek 2.6.39-400.276.1.el6uek 2.6.39-400.276.1.el6uek 2.6.39-400.276.1.el6uek OVS 3.2.10 3.2.10 3.2.10 3.2.10 Dom0 Kernel 2.6.39-400.276.1.el5uek 2.6.39-400.276.1.el5uek 2.6.39-400.276.1.el5uek 2.6.39-400.276.1.el5uek GI_HOME 12.1.0.2.160419 12.1.0.2.160419 12.1.0.2.160419 12.1.0.2.160419 DB_HOME 12.1.0.2.160419 12.1.0.2.160419 12.1.0.2.160419 12.1.0.2.160419 ASR 5.3.1 5.3.1 5.3.1 5.3.1         升级主要分如下三部分: 组件编号 补丁组件 注释 1)         SERVER 主要包括操作系统、ILOM、BIOS、硬件管理包、IMPI,OAK、ASR。. 对于虚拟化环境,也包括对Dom0的更新。 Oracle Grid Infrastructure (GI) 包括 ASM, ACFS 和 TFA。 2)         STORAGE 共享存储包括HDD、SSD、Controller和扩展柜 3)         DATABASE RDBMS   注意事项         升级前的版本必须是12.1.2.6.0。          ODA版本是12.1.2.5.0,要升级到12.1.2.7.0,则必须先升级到12.1.2.6.0,再进行升级到12.1.2.7.0。          针对其它版本升级到12.1.2.7.0,请参考如下表格:(2.x => 12.1.2.0.0=> 12.1.2.5.0 => 12.1.2.6=> 12.1.2.7.0) Source Version Upgrade Path Intermediate Version Upgrade Path Intermediate Version Upgrade Path Intermediate Version Upgrade Path Destination Version 2.2.0.0.0 *  to 2.10.0.0.0 => 12.1.2.0.0 => 12.1.2.5.0 => 12.1.2.6.0 => 12.1.2.7.0 12.1.2.0.0 to 12.1.2.4.0 12.1.2.1.0 **   =>   12.1.2.5.0 =>   12.1.2.6.0 =>   12.1.2.7.0 12.1.2.5.0 => 12.1.2.6.0 => 12.1.2.7.0 12.1.2.6.0 => 12.1.2.7.0   5.主要的更新 支持本地升级。 ODA 12.1.2.7.0 可以每个节点单独升级,升级命令行中引入一个新的参数“-local”。当一个节点升级时,另一个节点可以正常提供对外服务。 本地Server升级可以从节点0和节点1任意一个节点进行,没有先后顺序要求。 Storage(存储)升级需要在节点0上执行。 如果不指定“-local”参数,则升级跟之前的版本一样,采用滚动模式升级,即一个节点升级完接着升级另一个节点。 升级数据库可以使用“-local”参数在节点0或节点1分别执行,没有先后顺序要求。 升级组件 在12.1.2.7.0中的语法 在12.1.2.6.0中等同的语法 Server (Infra + GI) oakcli update -patch  <version> --server -local oakcli update –patch 12.1.2.6 --infra –local’ oakcli update –patch 12.1.2.6 --gi –local’ Storage oakcli update -patch  <version> N.A Database oakcli update -patch  <version> --database –local oakcli update -patch  <version> --database -local         Grid Infrastructure(GI)版本从12.1.0.2.160119 到 12.1.0.2.160419。             Oracle Database (PSU) 12.1.0.2.160419, 11.2.0.4.160419 和 11.2.0.3.15   6.升级先决条件及注意事项           核查当前ODA版本 # /opt/oracle/oak/bin/oakcli show version Version 12.1.2.6.0   请在两个节点执行该“/opt/oracle/oak/bin/oakcli show version”命令,如果输出返回的是12.1.2.6.0 或者 12.1.2.7.0,则满足升级条件。   升级的顺序是Server、Storage、database(可选) 所有的升级命令都需要root用户执行。对于Server和database的升级,如果使用以前的方法,不加“-local”参数,这样必须在第一个节点执行,即Node0(oak1)节点。 所有的命令都适用于V1, X3-2, X4-2 and X5-2硬件,非虚拟化和虚拟化环境。 在开始升级之前,使用"stig -enable"命令,禁用安全限制,可以使用ssh root登录其它节点,待升级以后,执行“stig –disable”重新启用安全限制。   7.升级步骤    1)上传补丁介质         把下载的介质p22896543_121270_Linux-x86-64_1of2.zip和p22896543_121270_Linux-x86-64_2of2.zip上传到ODA服务器上,分如下两种情况。 Bare Metal:上传到两个节点的/tmp目录下。 Virtualized:上传到ODA_BASE节点/tmp目录下。 2) 解压补丁介质文件         在两个节点使用‘oakcli’命令解压。 /opt/oracle/oak/bin/oakcli unpack –package /tmp/p22896543_121270_Linux-x86-64_1of2.zip /opt/oracle/oak/bin/oakcli unpack –package /tmp/p22896543_121270_Linux-x86-64_2of2.zip 3) 验证组件升级版本 /opt/oracle/oak/bin/oakcli update -patch  12.1.2.7.0 –verify 4) 升级服务器(server)组件        这个版本server组件包括Oracle Grid Infrastructure (GI),“-local”是一个可选的参数,不加“-local”则采用传统模式,在第一个节点执行,然后滚动升级第二节点,两个节点主机都需要重启;如果增加“-local”参数,则只升级其中一台服务器,节点0和节点1谁先升级没有要求。注意:不用同时在两个节点运行如下升级命令。 /opt/oracle/oak/bin/oakcli update 12.1.2.7.0 –server <-local> 升级完成后,待两个节点主机和GI启动后,执行如下命令: /u01/app/12.1.0.2/grid/bin/crsctl check crs 正确的输出结果如: CRS-4638: Oracle High Availability Services is online CRS-4537: Cluster Ready Services is online CRS-4529: Cluster Synchronization Services is online CRS-4533: Event Manager is online 请再次核查,是否升级成功 oakcli update –patch 12.1.2.7 –verify 5) 升级存储(storage)组件        服务器升级成功之后,才可以升级存储组件。没有“-local”参数,必须从第一个节点先升级,然后升级第二节点,顺序不能颠倒。如果使用‘oakcli update –patch 12.1.2.7 –verify’命令中输出的存储组件都是‘update-to-date’,则可以忽略该存储的升级。 6) 升级数据库       服务器组件必须升级完成,然后才可以进行数据库升级。如果使用“-local”参数,哪个节点先升级都可以。不要同时在两个节点升级,一个节点升级完成后,再升级另一个节点。传统方式,不加“-local”参数,必须在第一节点执行升级,然后自动升级第二节点。升级命令如下: /opt/oracle/oak/bin/oakcli update -patch  12.1.2.7.0  --database <-local>         针对12.1.0.2.0, 11.2.0.4.x 和 11.2.0.3.x 数据库升级到相应的12.1.0.2.160419,11.2.0.4.160419 和11.2.0.3.15版本。这个升级过程可以指定特定的oracle home进行升级。       如下两个命令可以验证升级的数据库版本。 /opt/oracle/oak/bin/oakcli show databases –detail /opt/oracle/oak/bin/oakcli show dbhomes -detail   7)升级数据库到更高的版本(可选)         如果从11.2.0.4.x 或 11.2.0.3.x升级到12.1.0.2.160419,请从MOS中下载12.1.0.2.160419 的克隆文件patch# 19520042,在node 0节点解压,使用‘oakcli create dbhome –version 12.1.0.2.160419’命令,创建一个新的12.1.0.2.160419 dbhome目录,然后使用‘oakcli upgrade database --db <dbname> -to <OraDb12102_home1>’命令进行升级。   8.升级后核查           在两个节点上,使用如下命令核查当前各组件的版本信息。 /opt/oracle/oak/bin/oakcli show version -detail 下面ODA X5-2上的输出样例,可以看出所有的组件版本都是最新的。 # /opt/oracle/oak/bin/oakcli show version -detail   Depending on the hardware, the output should look similar to the output below:    System Version  Component Name            Installed Version         Supported Version       --------------  ---------------           ------------------        ----------------    12.1.2.7.0                                                                                                    Controller_INT            4.230.40-3739             Up-to-date                 Controller_EXT            09.00.00.00               Up-to-date                 Expander                  0018                      Up-to-date                              SSD_SHARED                A29A                      Up-to-date                 HDD_LOCAL                 A720                      Up-to-date                              HDD_SHARED                A3A0                      Up-to-date                 ILOM                      3.2.4.68 r108889          Up-to-date                  BIOS                      30070500                  Up-to-date                              IPMI                      1.8.12.4                  Up-to-date                              HMP                       2.3.5.2.1                 Up-to-date                              OAK                       12.1.2.7.0                Up-to-date                 OVM                       3.2.10                    Up-to-date                              OEL                       6.7                       Up-to-date                 GI_HOME                   12.1.0.2.160419(21948354, Up-to-date                 DB_HOME                   12.1.0.2.160419(21948354, Up-to-date                                           22502555)                  ASR                       5.3.1                     Up-to-date    9.已知问题        1) 在 ODA X5-2 型号主机, 11.2版本数据库仅仅支持建立在ACFS上,最低的数据库版本为11.2.0.3.15。这样的限制是因为在ODA X5-2型号的机器上硬盘大小超过了2T,这在11.2数据库中不支持。如果11.2版本的数据库使用asm将存在数据损坏和丢失的风险。        2) 升级在12.1.0.2.160419,11.2.0.4.160419,11.2.0.3.15 原来的ORACLE_HOME目录更新,没有创建新的ORACLE_HOME目录,在ODA升级中,这是期望的行为。不是bug。如果想生成新的ORACLE_HOME目录,建议下载对应版本数据库版本的克隆文件进行升级。       3) 解压缩时抛出异常 # oakcli unpack -package /tmp/p22896543_121270_Linux-x86-64_1of2.zip Unpacking takes a while,  pls wait.... WARNING: 2015-04-28 14:44:37: You are trying to unpack 12.1.2.7.0 Patchbundle INFO: 2015-04-28 14:44:37: Current system is at 2.7.0.0.0 WARNING: 2015-04-28 14:44:37: Unpacking this bundle may overwrite some files which may cause patching/deployment failures Press Yes to continue or No to quit.... :    解决方案:忽略,按Yes继续,因为这是一个已知的问题。        4) 升级数据库以后,如果看到“WARNING: Oracle executable binary mismatch detected”信息,这个是一个bug  21082458。        5)不推荐使用dbca,是因为存在bug 20434809。使用下面命令创建数据库: oakcli create database –db <dbname>”。       6) 在结束server升级,重启主机期间,本地硬盘可能不是最高的优先启动顺序,存在bug 17473037。 解决方案:BIOS中, 手工移动本地硬盘启动的优先级。       7 )在CRS重启之后,共享的repos变成 UNKNOWN并且 HAVIP 变成offline状态,存在bug 20461930。该问题只存在于虚拟化平台。解决办法:         使用"srvctl start havip –id havip_0”命令,手工启动HAVIP,在dom0中杀掉oakVmAgent.py,然后使用“umount –l <mount_points>”命令卸载dom0 repos。该问题只存在于虚拟化平台。       8) oakcli 可能不正确的报出“could not find the resource”或者“the repository was not found”信息。解决方法:         停止共享repo,重新启动共享repo;或者在两个节点上重启oakd进程。       9) 一个节点GI升级成功,另一个节点GI升级时报如下错误信息: ERROR: [0m2016-09-20 10:46:49: Failed to start clusterware on one or more nodes ERROR: [0m2016-09-20 10:46:49: Unable to start the clusterware on both Nodes. Exiting... ERROR: [0m2016-09-20 10:46:49: Failed to patch server (grid) component 因为orarootagent.bin进程在CRS停止后,始终存在,解决办法:       kill -9 杀掉该不正常的进程,重新升级。       10) 在ASM instance中设置rolling patch模式升级,第二节点升级成功,但无法升级第一节点,两个节点patch level不一致。解决办法: Grid用户,核查集群状态 $ asmcmd ASMCMD> showclusterstate Normal 登录asm instance,设置为rolling 升级模式,然后再重新升级第一节点GI。 SQL> alter system start rolling patch; System altered. SQL> SELECT SYS_CONTEXT('SYS_CLUSTER_PROPERTIES', 'CLUSTER_STATE') FROM DUAL; SYS_CONTEXT('SYS_CLUSTER_PROPERTIES','CLUSTER_STATE') -------------------------------------------------------------------------------- In Rolling Patch   10.故障排除        升级各组件过程中oakcli会记录升级日志。日志存放在每个节点的/opt/oracle/oak/log/<hostname>/patch/12.1.2.7.0目录下。我们也增加了一些额外的子目录记录额外的日志信息,如:. adapters,,storagetopology, tools。如果在GI和数据库升级过程中oakcli报出任何错误,可以核查在相关的grid和oracle home目录下的cfgtoollogs子目录中的opatch日志文件。从12.1.0.2版本GI诊断日志文件位置更改为支持ADR 规则,存放在/u01/app/grid/diag/crs/<nodename>/crs 目录下。对于失败的升级,需要执行“oakcli update --patch 12.1.2.7.0.0 --clean”命令,清理部分升级临时文件,然后在重新执行升级。对于虚拟化问题,日志文件存放在Dom0的/opt/oracle/oak/log/<hostname>/oakvmagent和client目录下,在Dom1,日志存放在/opt/oracle/oak/log/<hostname>/dcli,oakvmclient,client,odabaseagent和oak目录下。   11.ODA升级参考的文献资料 Oracle Database Appliance - 12.1.2 and 2.X Supported ODA Versions & Known Issues (Doc ID 888888.1) ODA (Oracle Database Appliance): GI patch levels differ after applying ODA Patch 12.1.2.8.0 (Doc ID 2205275.1)(internal) ODA: Grid Infrastructure (GI) Patching Fails On The Second Node (Doc ID 2118723.1)

ODA升级过程--从12.1.2.6.0至12.1.2.7.0     1.概述          本文以12.1.2.6.0升级到12.1.2.7.0为例简单介绍Oracle Database Appliance(以下简称ODA)升级的过程。 2.确定ODA 部署方式        ODA部署的方式包括非虚拟化(Bare metal) 和虚拟化(Virtualized)。非虚拟化(Bare...

Exalogic

虚拟化Exalogic当中,如何去理解HA和Distribution group

在使用和维护虚拟化的Exalogic当中,我们需要理解虚拟机的两个特性:HA和Distribution group。 什么是HA和Distribution group? 我们为什么需要使用HA和Distribution group? 如何配置HA和Distribution group? 为什么有时在EMOC当中会出现违反Distribution group的警告? 我们将在这篇blog当中来一一阐述。 什么是HA和Distribution group? HA: 全称是High availability,即高可用性。 Distribution group:中文名称就是分布式组,属于emoc中用户(vDC -> Account)的属性。 我们为什么需要使用HA和Distribution group? 我们为什么需要虚拟机具有HA的功能呢? 因为我们需要保证在出现下面的情况下,虚拟机可以自动的运行在其它的计算节点上面: a. 当运行虚拟机的计算节点出现物理故障而导致宕机时。 b. 当计算节点重启的时,由于物理资源的限制(内存和CPU),虚拟机不能运行在之前运行的计算节点时 关于HA,我们另外需要注意的有两点: 第一,具有HA功能的虚拟机发生重启或crash时,虚拟机仍然会在之前运行的计算节点上面重新启动。 第二,具有HA功能的虚拟机发生重启或crash时,如果一个Server pool中所有的计算节点都无法满足虚拟机运行所需要的资源,那么虚拟机将会重启失败。 我们为什么需要Distribution group? 在解释为什么需要Distribution group之前,我们首先来看一个场景。 假定我们有一套八分之一配的虚拟化Exalogic环境,Cloud User A需要创建两个虚拟机来部署中间件产品Weblogic。这两个要创建的虚拟机可能运行在两台不同的计算节点上面,也可能会运行在同一台计算节点上面。 在通常的情况下,我们可以不用考虑要创建的虚拟机运行在哪个计算节点上面,因为EMOC会为我们选择一个最优的方案。但是,在很多情况下,我们需要保证创建的虚拟机运行在不同的计算节点上面。还是上面例子,两台创建成功的虚拟机上面需要运行两个Weblogic实例,并且组成一个cluster来对外提供服务。这样,我们就需要保证这两台虚拟机运行在两台计算节点上面。 在虚拟化Exalogic中,什么功能可以保证创建的虚拟机运行在不同的计算节点上面?没错,就是Distribution group! 如何配置HA和Distribution group? 在创建虚拟机的时候,HA功能默认是选择的,如下图: 如何判断一个虚拟机是否具有HA功能呢? 如果是这在运行的虚拟机,我们可以通过emoc  -->  vDC Management --> <Account_name> --> 虚拟机名称 右边的属性来查看。如下图,如果‘Enable vServer HA’为灰,那么这个虚拟机是具有HA功能的。 如上图中的‘Disable vServer HA’为灰,那么这个虚拟机的HA功能是关闭的。 而当一个虚拟机是关闭的时候,我们就无法通过上面的办法来验证了。这时我们需要通过虚拟机的配置文件vm.cfg中的参数‘OVM_high_availability’来判断,命令如下: grep -i 'OVM_high_availability' vm.cfg 如果‘OVM_high_availability = False’,那么这个虚拟机的HA功能是关闭的;如果‘OVM_high_availability = True’, 那么这个虚拟机的HA功能开启。 上面讲完了HA,下面我们来讲如何来创建Distribution group 第一步,选择需要创建Distribution group的Account,在最右侧的‘Action’面板中选择“Create Distribution Group”并点击,如下图: 第二步,填写Distribution group的名称(必填项)以及描述信息,如下图: 第三步,指定Distribution group中可容纳成员的数量 注意 建议设置的最大值为整个Exalogic包含计算节点的总数。这样,在这个Distribution group下面的虚拟机将会在不同的计算机上面启动。 虽然最大值可以多于Exalogic包含计算节点的总数,但是我们不建议这么做。 第四步,确认信息和创建。 为什么有时在EMOC当中会出现违反Distribution group的警告? 这篇文档的最后,我们来看一个在EMOC中常见的警告,通过这个警告信息来了解为什么有些时候vServer的HA和Distribution group功能会产生冲突,警告信息如下: Incident repeated X times : Distribution group: <my_dist_group> is violated. Misplaced vServers: vserver1, vserver2, vserver3, vserver4, vserver5, vserver6, vserver7, vserver8 (117957)   上面的警告信息表明:启动了的客户虚拟机违反了Distribution group的原则。比如,vServer1,vServer2,vServer3和vServer4这四个虚拟机属于Weblogic-DG这个Distribution group,但是存在两个或多于两个虚拟机运行在同一个计算节点上面。 Exalogic中,HA是OVM功能,而Distribution group是EMOC的功能。由于EMOC本身是构建在OVM之上,因此,如果不是通过EMOC上来停止和启动虚拟机话的,都有可能会违反Distribution group的规则。比如下面的情况: 计算节点重启或宕机 虚拟机出现Crash 通过OVMM界面,shutdown或xm destroy等命令重启虚拟机 在这种情况,计算节点上面的具有HA功能的虚拟机会重新在这个OVS Pool中的其它计算节点上面重新启动(我们假定其它计算节点有足够的CPU和内存资源来容纳虚拟机)。如果在重启的计算节点上面存在同一个Distribution group的其它虚拟机,我们就违反了EMOC中定义的Distribution group规则。 参考资料: http://www.ateam-oracle.com/exalogic-virtual-tea-break-snippets-creating-and-using-distribution-groups https://docs.oracle.com/cd/E18476_01/doc.220/e25258/proc.htm#ELCLD77351 Frequently Asked Questions About Exalogic Enterprise Manager Ops Center (EMOC) Distribution Groups (Doc ID 2013039.1)  

在使用和维护虚拟化的Exalogic当中,我们需要理解虚拟机的两个特性:HA和Distribution group。 什么是HA和Distribution group? 我们为什么需要使用HA和Distribution group? 如何配置HA和Distribution group? 为什么有时在EMOC当中会出现违反Distribution group的警告? 我们将在这篇blog当中来一一阐述。 什么是H...

Exalogic

Oracle一体机SR-IOV技术运用

现今,在x86体系架构下,有三种常见的网络I/O虚拟化方式:     基于虚拟化软件(比如OVM用到的Xen)方式的I/O共享     直接设备指派     基于硬件的SR-IOV(Single-Root I/O Virtualization) 基于软件方式的I/O共享 这是人们最常想到的,也是现今基于x86体系架构商业化虚拟化产品最常用到的方式。服务器虚拟化软件(Hypervisor, 比如Xen)位于虚拟机操作系统设备驱动器和实际的服务器硬件之间。简单说,虚拟机操作系统设备驱动器需要先与虚拟化软件交互,然后虚拟化软件再与底层的物理硬件交互来完成I、O操作。这种方式的好处是允许在多个虚拟机之间共享同一个物理设备。因为虚拟化软件使虚拟机操作系统相信他们拥有自己的硬件设备,而实际上他们是共享了同一个物理设备。虚拟化软件完成所有这些工作 - 管理冲突,确保所有虚拟机并发访问I/O设备,确保稳定运行。这种方式的缺点是虚拟化软件是以牺牲一定的性能来提供该功能的:虚拟化层至少需要一些时间来处理流量控制和I/O转换。来自于虚拟机的并发I/O操作越多,虚拟化软件会越忙碌,这会对系统的稳定性造成潜在的影响。虽然随着现今虚拟化软硬件的发展,基于软件方式的I/O共享对系统的性能和稳定性影响很小,但是在一些对系统性能有着极端高度要求的场景下,这种方式对性能的影响还是显而易见的。 直接设备指派 不同于基于软件的I/O共享 - 每个虚拟机与虚拟化软件直接通讯,然后虚拟化软件再与物理硬件设备通讯,直接设备指派方式允许虚拟机操作系统直接访问物理I/O设备硬件,不需要先通过虚拟化软件。这种方式清除了虚拟化软件层面造成的性能瓶颈和潜在的不稳定性,通过将I/O设备直接指派给一个虚拟机,确保虚拟机能够获得可预期的和稳定的I/O性能,就如同裸机操作系统访问自己的设备一样。使用这种方式的缺点是由于虚拟化层被略过,导致虚拟化软件无法完成虚拟化I/O的功能,也就是实现多个虚拟机共享一个I/O设备。如果你有一个物理机只有两个网卡,你最多在上边只能跑两个虚拟机, 每个虚拟机给指派一个网卡,这种方式不是很经济。 理想的解决方案是提供一种方式,既能实现虚拟机共享同一个物理I/O设备, 也能实现像直接设备指派方式那样提供高性能, 高稳定性的I/O方式。而SR-IOV就是为了实现这种功能,并引入到Oracle使用虚拟化的一体机系统中。 Single-Root I/O Virtualization SR-IOV是基于硬件的I/O虚拟化解决方案,提供更高的I/O性能和可扩展性。SR-IOV需要硬件的支持,通过在网卡上定义多个轻量级的VF(Virtual Function), 然后将VF指派给虚拟机,可以实现虚拟机绕过虚拟化软件直接访问网卡,同时又共享同一个物理网卡设备。 SR-IOV是一种新的业界标准,PCI-SIG 组织负责定义和维护SR-IOV 规范,可以通过如下网址访问: http://www.pcisig.com. 在SR-IOV设备中,有两种功能(Function )类型: Physical Function (PF)        PF具有完整的PCIe功能, 能够被发现,管理和操作,就像操作任何其他普通PCIe设备一样。PF拥有完整的配置空间。可以通过PF来配置和控制PCIe设备,PF拥有完整的能力将数据从PCIe设备移入和移出。每一个PCIe设备可以有一个到最多八个PF。每个PF是独立的,而且从软件的角度看,每个PF就是一个独立的PCIe设备。 Virtual Function (VF)        VF是一个轻量级的PCIe function,仅用于将数据移入和移出设备。每一个VF与一个底层的PF关联,每个PF可以有0个或多个VF。VF通过PF来创建。每一个VF可以指派给一个虚拟机, 从虚拟机的角度来说一个VF就是一个本地的物理网络设备。 所以通过SR-IOV,在硬件网络I/O设备层面实现在一个物理设备创建出多个虚拟设备(VF),每一个VF指派给一个虚拟机,虚拟机在直接访问VF的时候,就相当于直接访问硬件,可以达到类似于主机访问本地设备的性能。在Oracle一体机上,每个InfiniBand 网卡可以最多被63个虚拟机共享,也就是支持63个VF。  

现今,在x86体系架构下,有三种常见的网络I/O虚拟化方式:     基于虚拟化软件(比如OVM用到的Xen)方式的I/O共享     直接设备指派     基于硬件的SR-IOV(Single-Root I/O Virtualization) 基于软件方式的I/O共享 这是人们最常想到的,也是现今基于x86体系架构商业化虚拟化产品最常用到的方式。服务器虚拟化软件(Hypervisor, 比如Xen)位于虚拟...

Exalogic

Exalogic的备份和恢复工具ExaBR-安装和配置

每个Exalogic系统当中都包含了多重组件,比如两台Infiniband交换机,两台ZFS存储机头等。这样就帮保证了单个组件的故障不会影响Exalogic系统的正常运行。但是,多重组件机制并不能保证在下面的情况下提供额外的保护: 由于灾难或机房故障导致了整套Exalogic系统崩溃 在更新过程当中,由于用户错误操作而导致的数据或配置的不一致性 数据损坏 在绝大多情况下,灾难恢复机制是非常重要的。 在Exalogic当中,使用ExaBR工具可以快速并自动化的帮助我们来进行系统的备份和恢复。 我们将分两次来介绍ExaBR的使用,本文主要介绍如何在Exalogic环境下面来安装和配置ExaBR。 ExaBR概述 ExaBR是Exalogic众多实用工具中的一个,我们可以通过使用它来自动的备份Exalogic系统的配置文件和数据。 下面的Exalogic组件都可以使用ExaBR来备份和恢复: 计算节点 Infiniband交换机 以太网交换机(Cisco交换机) ZFS存储 Exalogic控制单位 (虚拟化) 客户的vServers (虚拟化) ExaBR安装和配置 ExaBR的安装 1.安装ExaBR ExaBR是打包在Exalogic lifecycle工具包(ELLC Toolkit)中的。使用ExaBR之前,我们首先需要安装Exalogic lifecycle工具包。关于Exalogic lifecycle工具包的最新版本以及具体的安装和配置方法,请参考Oracle文档1912063.1。 注意:下文ELLC的简称就是Exalogic lifecycle。 安装ELLC工具包成功之后(通常安装在第一个计算节点上面),会在根目录下面创建下面的两个目录: exalogic-lcdata exalogic-lctools 目录‘exalogic-lctools’中存放ELLC工具包的命令集合,命令需要引用的脚本和相关的帮助文件等。我们的ExaBR在‘/exalogic-lctools/bin/’目录下。 目录‘exalogic-lcdata’中存放ELLC工具包的命令的配置文件以及相应的备份文件。比如ExaBR的配置文件是/exalogic-lcdata/backups/exabr.config。 2.生成ExaBR配置文件 在第一次运行ExaBR做备份之前,我们首先需要生成ExaBR的配置文件exabr.config。这个文件包含了所有需要备份和恢复的设备的主机名或者IP地址。 之后每次对相应的设备或者用户vServer做备份或恢复的时候,ExaBR都会通过读取这个配置文件来获得设备的主机名或者IP地址信息。 如果您需要备份或者恢复的设备不在这个配置文件里面,那么ExaBR将会报错。 下面的步骤演示了如何来生成ExaBR配置文件: a.进入到目录/exalogic-lctools/bin中 cd /exalogic-lctools/bin b. 运行带有参数init的exabr命令来生成ExaBR配置文件 ./exabr init address_of_the_first_compute_node 在上面的命令中,address_of_the_first_compute_node是第一个计算节点的主机名或者IP地址。我们建议上面的命令就在第一个节点上面运行。 上面命令执行之后,我们会发现配置文件exabr.conf已经在目录/exalogic-lcdata/backups/下生成完毕,相应的主机名或者IP地址也同样在对应的组件填写完成。 下面是一个生成好的exabr.conf配置文件 # Exabr configuration file. # Created on: 2013/12/17 14:24 # Please edit the values if needed to match your environment # compute_nodes = cn1.example.com, cn2.example.com, cn3.example.com, cn4.example.com compute_nodes_iloms = cn1ilom.example.com, cn2ilom.example.com, cn3ilom.example.com, cn4ilom.example.com ib_gw_switches = gw01.example.com, gw02.example.com ib_spine_switches =  storage_nodes = sn01.example.com, sn02.example.com storage_nodes_iloms = sn01ilom.example.com, sn02ilom.example.com # Cisco switch # For ssh, specify it in the form: user@hostname management_switches = mgmt.example.com # connection type=telnet or ssh management_switches_connection_type = telnet # Control stack emoc = cn1-eoib1-vm011.example.oracle.com ovmm = cn1-eoib1-vm011.example.oracle.com # The following 2 entries are only used for 2.0.4.x control stack proxy_controllers = pc1.example.com,pc2.example.com # db =  # End entries for 2.0.4.x  # ####################################### # Add user VMs for backup in this section user_vservers =  # ####################################### # # how many backups to keep (per component) # '0' indicates that no backups should be removed automatically retention_count = 5 c.确认exabr.config文件中的所有组件都已经被正确发现。 如果是在1号计算机点上面运行ExaBR,我们就需要保证1号计算节点可以访问exabr.config文件中的所有主机名或者IP地址。 我们建议在exabr.config文件中使用emoc管理网的主机名或IP地址。 注意:如果发现exabr.config文件中生成的主机名或者IP地址不正确,我们需要手动来修改对应设备的地址。 . 针对物理化的Exalogic,我们需要根据下表在exabr.conf文件里面来手动的添加实际设备  设备名称  在exabr.conf文件中的参数  Cisco管理交换机  management_switches  NM2 36P交换机 (Spine交换机)  ib_spine_switches  Storage ILOMs  storage_nodes_iloms  Solaris Zone  compute_nodes . 针对于虚拟化的Exalogic,通过手动修改exabr.conf文件里面的参数user_vservers,来备份和恢复需要的用户vServer。 下面的例子就是exabr.config文件中设置的备份和恢复需要的用户vServer: # ####################################### # Add user VMs for backup in this section user_vservers = test_vServer1, test_vServer2, test_vServer3 # ####################################### ExaBR的配置  配置ExaBR无密码登录功能 a. 针对相应的设备进行无密码登录设置,我们可以使用参数init-ssh exabr init-ssh hostname1[,hostname2,...] b. 如果需要所有Exalogic设备进行进行无密码登录,使用下面的命令 exabr init-ssh all-component 如果需要删除针对于具体设备的SSH无密码登录,我们可以使用带有参数remove-ssh的命令 exabr remove-ssh hostname1[,hostname2,...] 注意: 如果之前生成的私钥证书包含了密码保护,在运行ExaBR的时候可以使用标准的命令,比如ssh-agent,来加载节点中的key。 配置Cisco交换机的连接协议 默认情况下,ExaBR通过telnet来连接管理交换机。我们可以修改exabr.config配置文件中的参数management_switches_connection_type来更改连接的方式为SSH。 management_switches_connection_type = ssh 当连接方式修改为SSH之后,我们修改在参数management_switches中来提供用户名用于连接 management_switches = admin@mgmt.example.com注意:默认情况下,Exalogic中的Cisco交换机的firmware是不支持SSH,如果需要支持SSH,必须升级firmware,请参考下面的文档1415044.1并使用硬件的客户服务号提一个SR给Oracle。配置ExaBR备份的保留规则默认情况下,ExaBR会针对每个设备或vServer保留最后5次成功的备份。如果需要修改成功备份的数量,我们可以修改exabr.config配置文件中的参数retention_count。保留策略对于成功备份和失败备份都是适用的,我们建议手动删除失败的备份用来节约存储空间。下面的例子是保留3次成功的备份。retention_count = 3ExaBR定期备份设置我们可以通过使用cron或者其它计划任务软件来通过ExaBR定期备份Exalogic系统。在设计定期备份之前,我们需要注意下面的事项: a. 如果使用cron做定期备份,在每个ExaBR命令后面需要添加数据重定向 &>/dev/null  b. 如果使用cron来定期备份Exalogic control stack,cron就需要运行一个包含所有ExaBR命令的脚本,例如下面的脚本: #!/bin/bash# exabrcsbkup.sh#echo "======= Starting exabrcsbkup.sh at `date`"echo " Starting control stack backup"/exalogic-lctools/bin/exabr stop control-stack > /dev/null 2>&1/exalogic-lctools/bin/exabr backup control-stack > /dev/null 2>&1/exalogic-lctools/bin/exabr start control-stack > /dev/null 2>&1/exalogic-lctools/bin/exabr backup all-ib > /dev/null 2>&1echo EXABR returned $? c. 需要针对于所有的设备配置SSH公钥方式登录。如果某个设备没有配置SSH公钥登录或者公钥登录失败,那么这个设备的定期备份将会失败。关于SSH公钥登录的配置,请参考文档前面的内容。d. 为了保证ExaBR定期备份的过程中不会提示输入密码,我们使用参数--noprompt。例如:/exalogic-lctools/bin/exabr backup all-cn --noprompt e. Cisco管理交换机不支持cron工具来定期备份,因此Cisco管理交换机不支持非交互式备份。我们需要通过交互式来备份Cisco交换机。 

每个Exalogic系统当中都包含了多重组件,比如两台Infiniband交换机,两台ZFS存储机头等。这样就帮保证了单个组件的故障不会影响Exalogic系统的正常运行。但是,多重组件机制并不能保证在下面的情况下提供额外的保护: 由于灾难或机房故障导致了整套Exalogic系统崩溃 在更新过程当中,由于用户错误操作而导致的数据或配置的不一致性 数据损坏 在绝大多情况下,灾难恢复机制是非常重要的。 在Exal...

中文文档

有新的一体机中文文档添加到 My Oracle Support 中了! (2017年1月)

最新翻译的文档列表: ODAVP: 如何使用OS ISO image创建完全虚拟化的Guests (HVM) (Doc ID 2205748.1) ODA(Oracle数据库一体机):更换多个并发故障硬盘的步骤 (Doc ID 2201237.1) ODA: 如何在Oracle Database Appliance上面创建RAC One Node数据库 (Doc ID 2205251.1) ODA: 如何改变Oracle Database Appliance IP地址 (Doc ID 2194311.1) 如何在 ODA 上部署虚拟机模板 (Doc ID 2195703.1) ODAVP: 迁移系统到ODA虚拟化平台 (Doc ID 2207532.1) ODA (Oracle Database Appliance): 如何在11gR2 GI上配置多个公共网络 (Doc ID 2195710.1) ODA 环境下 ACFS 档案库和VM挂载问题诊断指南 (Doc ID 2179676.1) ODA : ASM中仍然存在被替换掉磁盘的信息 (Doc ID 2205787.1) 如何在Oracle Database Appliance (ODA)上直接下载Linux RPM包 (Doc ID 2201283.1) 获取ODA基本信息:/Version/VM或BM/HW 类型 (Doc ID 2201660.1) 如何更换一个在线的ODA(Oracle Database Appliance)共享存储磁盘 (Doc ID 2201636.1) 警告 - ODA ASM磁盘组突然Dismount并且有潜在的损坏 (Doc ID 2205218.1) Oracle Exalytics 在安装补丁集 (PS)后的已知问题 (Doc ID 2200660.1) Oracle Big Data Appliance 在CDH集群上支持的软件版本以及怎样在BDA 4.5版本识别它们 (Doc ID 2201288.1) Oracle Exalogic硬件错误诊断数据收集 (Doc ID 2206263.1) 在一体机系统中收集Infiniband网络的诊断信息 (Doc ID 2206272.1) Exalogic虚拟化:NM2-GW类型的IB交换机的预期寿命快速降低 (Doc ID 2209565.1) 如何在Oracle Linux 上收集Sosreport (Doc ID 2208441.1) 如何使用diagnostic ISO镜像文件启动Exadata db节点 (Doc ID 2226151.1) (EX31) 存储服务器从 12.1.2.1.3 或更早的版本升级后, CREATE 或 ALTER GRIDDISK 可能会导致 cell 磁盘元数据损坏, 出现错误 ORA-600 [addNewSegmentsToGDisk_2], 并且cell磁盘内容丢失 (Doc ID 2226167.1) (EX29) Exadata V2, X2, X3存储节点中600GB高性能磁盘高故障率 (Doc ID 2225620.1) (EX27) 在Exadata Storage Server 上运行CellCLI 命令 "list activerequest" 可能导致数据库I/O 挂起 (Doc ID 2210927.1) (EX25) 某些存储软件版本中,高性能磁盘可能经历高错误率,不可恢复介质错误,临时隔离或者很高的读延迟 (Doc ID 2225205.1)ODA (Oracle Database Appliance): 如何设置并部署ACFS (Doc ID 2226165.1) 完整的列表请点击这里或登录 My Oracle Support  并查找:中文文档列表 - Oracle 集成系统 (DocID 2133788.2) 

最新翻译的文档列表: ODAVP: 如何使用OS ISO image创建完全虚拟化的Guests (HVM) (Doc ID 2205748.1) ODA(Oracle数据库一体机):更换多个并发故障硬盘的步骤 (Doc ID 2201237.1) ODA: 如何在Oracle Database Appliance上面创建RAC One Node数据库 (Doc ID 2205251.1) ODA:...

BDA

从边缘节点(Edge Node)访问BDA上CDH集群(非安全访问)

BDA 4.7 with CDH 5.9.0, Oracle Linux 6.7 Edge Node with CDH 5.9.3, Oracle Linux 6.7. 安装之前的准备: 1. 安装JDK(JDK 1.7+): 以JDK 1.7为例: 从http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261.html#jdk-7u25-oth-JPR下载Oracle jdk 1.7.0_25 $ rpm -ivh  jdk-7u25-linux-x64.rpm $ vi /etc/profile  在最后加上: export JAVA_HOME=/usr/java/jdk1.7.0_25 export PATH=$JAVA_HOME/bin:$PATH 保存后运行: $ source /etc/profile $ echo $JAVA_HOME /usr/java/jdk1.7.0_25 2. 配置yum源 $ vi /etc/yum.repos.d/cloudera-cdh5.repo 把下面这段粘贴进去然后保存: [cloudera-cdh5]   # Packages for Cloudera's Distribution for Hadoop, Version 5, on RedHat or CentOS 6 x86_64   name=Cloudera's Distribution for Hadoop, Version 5   baseurl=http://archive.cloudera.com/cdh5/redhat/6/x86_64/cdh/5.9/   gpgkey = http://archive.cloudera.com/cdh5/redhat/6/x86_64/cdh/RPM-GPG-KEY-cloudera   enabled=1       gpgcheck = 1 在Edge Node安装配置CDH5: 1. 添加库Key $ sudo rpm --import http://archive.cloudera.com/cdh5/redhat/6/x86_64/cdh/RPM-GPG-KEY-cloudera 2. 安装Resource Manager host $ sudo yum clean all $ sudo yum install hadoop-yarn-resourcemanager -y 3. 安装 NameNode host $ sudo yum clean all $ sudo yum install hadoop-hdfs-namenode -y 4. 安装 Secondary NameNode host $ sudo yum clean all $ sudo yum install hadoop-hdfs-secondarynamenode -y 5. 安装 nodemanager , datanode, mapreduce $ sudo yum clean all $ sudo yum install hadoop-yarn-nodemanager hadoop-hdfs-datanode hadoop-mapreduce -y 6. 安装 hadoop-mapreduce-historyserver hadoop-yarn-proxyserver $ sudo yum clean all $ sudo yum install hadoop-mapreduce-historyserver hadoop-yarn-proxyserver -y 7. 安装 hadoop-client $ yum clean all $ yum install hadoop-client -y 8. 安装 Hive yum install hive -y yum install hive-metastore -y yum install hive-server2 -y  yum install hive-hbase -y   9. 安装 spark-client $ yum clean all $sudo yum install spark-core spark-master spark-worker spark-python 10. 从Cloudera Manager下载YARN和Hive的配置文件yarn-config.zip, hive-config.zip 11. 解压yarn-config.zip和hive-config.zip到edge node上的临时目录/tmp $ unzip yarn-config.zip Archive:  yarn-config.zip   inflating: yarn-conf/hadoop-env.sh   inflating: yarn-conf/hdfs-site.xml   inflating: yarn-conf/core-site.xml   inflating: yarn-conf/mapred-site.xml   inflating: yarn-conf/log4j.properties   inflating: yarn-conf/yarn-site.xml $ unzip hive-conf.zip Archive:  hive-conf.zip   inflating: hive-conf/hive-env.sh   inflating: hive-conf/hive-site.xml 12. 备份配置文件: # cp /full_path/yarn-conf /full_path/yarn-conf-bak # cp /full_path/hive-conf /full_path/hive-conf-bak 13. 覆盖Edge Node上的配置文件 a. Hadoop # cd /full_path/yarn-conf # cp * /etc/hadoop/conf b. Hive # cd /full_path/hive-conf # cp * /etc/hive/conf 14. 在边缘节点上验证远程访问是否成功: a. 验证HDFS: [root@XXXXXX bin]# hdfs dfs -ls /user Found 252 items drwxr-xr-x   - Guest          Guest                  0 2015-11-12 20:48 /user/Guest drwxrwxrwx   - root           supergroup             0 2017-03-17 04:19 /user/Pari drwxr-xr-x   - aardelea       hadoop                 0 2015-07-06 10:45 /user/aardelea drwxr-xr-x   - aballina       hadoop                 0 2017-09-11 13:50 /user/aballina drwxr-xr-x   - abhverma       hadoop                 0 2016-07-12 19:10 /user/abhverma drwxr-xr-x   - adhakar        hadoop                 0 2014-07-12 15:50 /user/adhakar ...... b. 验证Mapreduce: [root@XXXXX bin]# hadoop jar /usr/lib/hadoop-mapreduce/hadoop-mapreduce-examples-2.6.0-cdh5.9.3.jar pi 10 1000000 Number of Maps  = 10 Samples per Map = 1000000 Wrote input for Map #0 Wrote input for Map #1 Wrote input for Map #2 Wrote input for Map #3 Wrote input for Map #4 Wrote input for Map #5 Wrote input for Map #6 Wrote input for Map #7 Wrote input for Map #8 Wrote input for Map #9 Starting Job 17/09/22 04:06:00 INFO client.ConfiguredRMFailoverProxyProvider: Failing over to rm570 17/09/22 04:06:07 INFO input.FileInputFormat: Total input paths to process : 10 17/09/22 04:06:11 INFO mapreduce.JobSubmitter: number of splits:10 17/09/22 04:06:13 INFO mapreduce.JobSubmitter: Submitting tokens for job: job_1499679756966_0237 17/09/22 04:06:18 INFO impl.YarnClientImpl: Submitted application application_1499679756966_0237 17/09/22 04:06:19 INFO mapreduce.Job: The url to track the job: http://scaj31bda04.us.oracle.com:8088/proxy/application_1499679756966_0237/ 17/09/22 04:06:19 INFO mapreduce.Job: Running job: job_1499679756966_0237 17/09/22 04:06:25 INFO mapreduce.Job: Job job_1499679756966_0237 running in uber mode : false ...... c.验证Hive: hive> show tables; OK airq akiko allstate allstate_ext ap_stest apachelog apachelog2 apachelogselect d. 验证Spark 注意: 1. 防火墙需要是关闭的或者开放相关端口。 Spark端口可以参考: https://www.cloudera.com/documentation/enterprise/5-11-x/topics/cdh_ig_ports_cdh5.html 2. 需要指定到自己的实际目录下的topology.py文件 <property> <name>net.topology.script.file.name</name> <value>/etc/hadoop/conf.cloudera.yarn/topology.py</value> </property> [root@XXXXXXoracle]# spark-shell --master yarn --deploy-mode client Setting default log level to "WARN". To adjust logging level use sc.setLogLevel(newLevel). SLF4J: Class path contains multiple SLF4J bindings. SLF4J: Found binding in [jar:file:/usr/lib/zookeeper/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: Found binding in [jar:file:/usr/lib/flume-ng/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: Found binding in [jar:file:/usr/lib/parquet/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: Found binding in [jar:file:/usr/lib/avro/avro-tools-1.7.6-cdh5.9.3.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation. SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory] Welcome to       ____              __      / __/__  ___ _____/ /__     _\ \/ _ \/ _ `/ __/  '_/    /___/ .__/\_,_/_/ /_/\_\   version 1.6.0       /_/ Using Scala version 2.10.5 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_60) Type in expressions to have them evaluated. Type :help for more information. 17/09/26 20:03:39 WARN util.Utils: Your hostname, ODIGettingStarted resolves to a loopback address: 127.0.0.1; using 10.182.209.53 instead (on interface eth0) 17/09/26 20:03:39 WARN util.Utils: Set SPARK_LOCAL_IP if you need to bind to another address 17/09/26 20:03:46 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable 17/09/26 20:03:46 WARN shortcircuit.DomainSocketFactory: The short-circuit local reads feature cannot be used because libhadoop cannot be loaded. Spark context available as sc (master = yarn-client, app id = application_1499679756966_0245). SQL context available as sqlContext. scala> [root@XXXXXXbin]# ./spark-submit --class org.apache.spark.examples.SparkPi --master yarn --deploy-mode cluster --executor-memory 20G --num-executors 50 /usr/lib/spark/examples/lib/spark-examples-1.6.0-cdh5.9.3-hadoop2.6.0-cdh5.9.3.jar 1000 SLF4J: Class path contains multiple SLF4J bindings. SLF4J: Found binding in [jar:file:/usr/lib/zookeeper/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: Found binding in [jar:file:/usr/lib/flume-ng/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: Found binding in [jar:file:/usr/lib/parquet/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: Found binding in [jar:file:/usr/lib/avro/avro-tools-1.7.6-cdh5.9.3.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation. SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory] 17/09/22 04:51:00 INFO client.ConfiguredRMFailoverProxyProvider: Failing over to rm570 17/09/22 04:51:01 INFO yarn.Client: Requesting a new application from cluster with 6 NodeManagers 17/09/22 04:51:01 INFO yarn.Client: Verifying our application has not requested more than the maximum memory capability of the cluster (34304 MB per container) 17/09/22 04:51:01 INFO yarn.Client: Will allocate AM container, with 1408 MB memory including 384 MB overhead 17/09/22 04:51:01 INFO yarn.Client: Setting up container launch context for our AM 17/09/22 04:51:01 INFO yarn.Client: Setting up the launch environment for our AM container 17/09/22 04:51:01 INFO yarn.Client: Preparing resources for our AM container 17/09/22 04:51:02 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable 17/09/22 04:51:02 WARN shortcircuit.DomainSocketFactory: The short-circuit local reads feature cannot be used because libhadoop cannot be loaded. 17/09/22 04:51:04 INFO yarn.Client: Uploading resource file:/usr/lib/spark/lib/spark-assembly-1.6.0-cdh5.9.3-hadoop2.6.0-cdh5.9.3.jar -> hdfs://scaj31cdh-ns/user/root/.sparkStaging/application_1499679756966_0238/spark-assembly-1.6.0-cdh5.9.3-hadoop2.6.0-cdh5.9.3.jar ...... * 如果考虑在Kerberos-Sccured集群中配置,可以参考BDA用户手册如下: 3.2.4 Configuring a CDH Client for a Kerberos-Secured Cluster http://docs.oracle.com/bigdata/bda46/BIGUG/users.htm#BIGUG327

BDA 4.7 with CDH 5.9.0, Oracle Linux 6.7 Edge Node with CDH 5.9.3, Oracle Linux 6.7. 安装之前的准备: 1. 安装JDK(JDK 1.7+): 以JDK 1.7为例: 从http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads...

Exadata

Exadata Flash Cache 简介(二)

在前一篇博客里,我们介绍了Exadata Flash Cache card(智能闪存卡)的基本概念和工作方式,在这篇文章当中,我们会从介绍如何在Exadata上管理和维护智能闪存卡。 由于智能闪存卡在Exadata上可以作为 Flash Cache ,Flash log 和 Flash grid disk使用, 本文也会对它们分别进行介绍。 首先,关于flash cache的基本管理命令: 1. 查看当前的flash cache 配置 CellCLI> list flashcache detail; 2. 如何创建flash cache CellCLI> create flashcache all size=2900.75G 这个命令会在当前cell 节点上的所有闪存卡上创建flash cache, 尺寸为2900.75G 3. 如何删除flash cache 配置 CellCLI> drop flashcache all; 下来是关于flash log 的基本管理命令: 1. 查看当前的flash log的配置 CellCLI> list flashlog detail 2. 创建flash log CellCLI> create flashlog all size=1G 这个命令会在当前cell 节点上的所有闪存卡上创建flash log, 尺寸为1G CellCLI> drop flashlog all; 接下来是管理 flash grid disk 的基本的命令。 1. 查看当前的flash griddisk 的信息 CellCLI> list griddisk detail 2. 创建flash griddisk CellCLI>create griddisk all flashdisk prefix='FLASH' , size=1G; 这个命令会在当前cell 节点上的所有闪存卡上创建griddisk, 前缀为FLASH,尺寸为1G 3. 删除flash griddisk CellCLI> drop griddisk all flashdisk prefix='FLASH'; 对于更多的管理命令,请参考文档: Oracle® Exadata Storage Server Software User's Guide 12c Release 1 (12.1) ==> 8 Using the CellCLI Utility 由于智能闪存卡在Exadata上最常用的用途是flash cache, 接下来介绍一下对flash cache的常见维护操作。 启用write-back flash cache,可以使用rolling和non-rolling 方式完成。 Rolling 方式: 1. 使用root 用户登录到对应的cell 节点上 2. 使用下面的命令查看当前的flash cache 状态 # cellcli -e LIST FLASHCACHE detail 3. 删除当前的flash cache # cellcli -e DROP FLASHCACHE 4. Inactivate cell 节点上所有的griddisk # cellcli -e ALTER GRIDDISK ALL INACTIVE 5. 关闭 CELLSRV services # cellcli -e ALTER CELL SHUTDOWN SERVICES CELLSRV 6. 启动writeback flash cache # cellcli -e "ALTER CELL FLASHCACHEMODE=writeback" 7. 重新启动cellsrv 服务 # cellcli -e ALTER CELL STARTUP SERVICES CELLSRV 8. 激活cell 节点上的grid disk # cellcli -e ALTER GRIDDISK ALL ACTIVE 9. 重新创建flash cache # cellcli -e CREATE FLASHCACHE ALL 10. 查看flash cache 的模式 # cellcli -e LIST CELL DETAIL | grep flashCacheMode 11. 查看griddisks 的asmDeactivationOutcome 和 asmModeStatus 属性,它们的值应该显示为yes 和 online CellCLI> LIST GRIDDISK ATTRIBUTES name,asmdeactivationoutcome,asmmodestatus 12. 在其他cell 节点上重复上面的步骤。 Non-rolling 方式: 这种方法需要在任意的一个计算节点上运行就可以,并且需要创建一个文件cell_group,其中列出了需要操作的cell 节点名称列表。 例如: cat cell_group dm01cel05 dm01cel06 dm01cel07 1. 在任意的计算节点,使用root用户关闭GI # cd $GI_HOME/bin # ./crsctl stop cluster -all 2. 使用下面的命令删除在所有的cell节点上的flash cache # dcli -g cell_group -l root cellcli -e DROP FLASHCACHE 3. 使用下面的命令停止cell 节点上的cellsrv 服务 # dcli -g cell_group -l root cellcli -e ALTER CELL SHUTDOWN SERVICES CELLSRV 4. 查看cell 节点上的flash cache 的模式 # dcli -g cell_group -l root "cellcli -e list cell detail | grep -i flashcachemode" 5. 设置 flash cache 的模式为writeback # dcli -g cell_group -l root cellcli -e "ALTER CELL FLASHCACHEMODE=writeback" 6. 重启cell 节点的cellsrv 服务 # dcli -g cell_group -l root cellcli -e ALTER CELL STARTUP SERVICES CELLSRV 7. 重新创建cell 节点上的flash cache # dcli -g cell_group -l root cellcli -e CREATE FLASHCACHE ALL 8. 启动集群 # cd $GI_HOME/bin # ./crsctl start cluster -all 禁用writeback falsh cache的方式同样也分为rolling 和non-rolling两种方式。 Rolling方式 1. 使用root用户登录到需要操作的cell节点。 2. 确认以下命令返回的asmDeactivationOutcome 值为yes。 # dcli -g cell_group -l root cellcli -e "LIST GRIDDISK WHERE asmdeactivationoutcome != 'Yes' attributes name, asmdeactivationoutcome, asmmodestatus" 如果上面的命令返回了一些griddiks,说明有些dirty数据仍然被cache 在了flash cache 中,需要使用下面的方式来flush 掉。 查看被cache 的dirty 数据的数量: # dcli -g cell_group -l root cellcli -e "LIST METRICCURRENT ATTRIBUTES  \ name,metricvalue WHERE name LIKE \'FC_BY_DIRTY.*\'" 使用下面的命令flush 掉flash cache 中的dirty 数据。 # dcli -g cell_group -l root cellcli -e ALTER FLASHCACHE ALL FLUSH 当flush结束之后,以下命令的flushstatus 列会显示为completed。 # dcli -g cell_group -l root cellcli -e LIST CELLDISK ATTRIBUTES name, flushstatus, flusherror | grep FD 3. 接下来就可以使用本文之前的“使用rolling 方式启用flash cache” 部分中的步骤来禁用flash cache 了。唯一的区别就在于第六步需要执行的是以下的禁用write back flash cache 命令。 # cellcli -e "ALTER CELL FLASHCACHEMODE=writethrough"          non-rolling 方式:这种方式的过程实际上和rolling 的方式是很类似的。 1. 使用root用户登录到需要操作的cell节点。 2. 查看被cache 的dirty 数据的数量: # dcli -g cell_group -l root cellcli -e "LIST METRICCURRENT ATTRIBUTES  \ name,metricvalue WHERE name LIKE \'FC_BY_DIRTY.*\'" 3. 使用下面的命令flush 掉flash cache 中的dirty 数据。 # dcli -g cell_group -l root cellcli -e ALTER FLASHCACHE ALL FLUSH 当flush结束之后,以下命令的flushstatus 列会显示为completed。 # dcli -g cell_group -l root cellcli -e LIST CELLDISK ATTRIBUTES name, flushstatus, flusherror | grep FD 4. 参照本文之前的“使用non-rolling 方式启用flash cache” 部分中的步骤来禁用flash cache 了。唯一的区别就在于第五步需要执行的是以下的禁用write back flash cache 命令。 # dcli -g cell_group -l root cellcli -e "ALTER CELL FLASHCACHEMODE=writethrough" 通过以上的介绍,希望大家能够对日常的flash cache的维护有一些基本的了解,并有所帮助。

在前一篇博客里,我们介绍了Exadata Flash Cache card(智能闪存卡)的基本概念和工作方式,在这篇文章当中,我们会从介绍如何在Exadata上管理和维护智能闪存卡。 由于智能闪存卡在Exadata上可以作为 Flash Cache ,Flash log 和 Flash grid disk使用, 本文也会对它们分别进行介绍。 首先,关于flash cache的基本管理命令: 1. 查看当前的flash...

Exadata

Exadata的诊断工具

1.    Sundiag每个Exadata的数据库服务器和存储服务器节点都安装了sundiag.sh脚本, 在/opt/oracle.SupportTools 路径下;因为是Exadata初始软件包(image)里所包含的sundiag.sh,所以如果image版本比较旧, 可以到文档 761868.1去下载最新版本的sundiag.sh脚本。当Exadata 存储服务器 (Exadata Storage Servers) 或数据库节点 (Db nodes)出现磁盘故障或一些其他硬件问题时,我们就使用Sundiag 去收集相关的诊断信息。执行时请使用root用户:#cd /opt/oracle.SupportTools/ #./sundiag.sh它会自动生成sundiag_<hostname>_<serialnumber>_<timestamp>.tar.bz2 文件并存放在/tmp 文件夹中。接下来看看disk有问题的几个案例:alerthistory.out 12_1     2016-09-02T00:38:57+08:00     critical     "Data hard disk failed.  Status : NOT PRESENT  Manufacturer : HGST  Model Number : H101212SESUN1.2T  Size : 1.2TB  Serial Number : 1419DLRADF  Firmware : A690  Slot Number : 6  Cell Disk : CD_06_exa02cel02  Grid Disk : DATA1_CD_06_exa02cel02, DBFS_DG_CD_06_exa02cel02, RECO1_CD_06_exa02cel02"20_1 2016-09-18T02:22:43+00:00 critical "Hard disk status changed to predictive failure. Status : PREDICTIVE FAILURE Manufacturer : SEAGATE Model Number : ST32000SSSUN2.0T Size : 2.0TB Serial Number : L1A2B3 Firmware : 0514 Slot Number : 11 Cell Disk : CD_11_exd1cel01 Grid Disk DATA_EXD1_CD_11_exd1cel01, RECO_EXD1_CD_11_exd1cel01, DBFS_DG_CD_11_exd1cel01"physicaldisk-fail.out20:2     L5YH9W     warning  <<<megacli64-PdList_short_2012_08_23_18_24.out...Slot 02 Device 17 (SEAGATE ST32000SSSUN2.0T061A1120L5YH9W  ) status is: Unconfigured(bad) ...还要看一些日志。所以当您发现磁盘有问题时,请及时开SR联系我们售后support,当然现在大部分客户已配置好ASR功能的就可以自动生成SR到我们这里了。在您提交SR时, 请务必把有问题server的sundiag报告也上传到SR中,这样我们收到SR后就可以尽快分析,并且根据disk是否需要更换来尽快安排工程师去现场。所以只提供disk亮灯的照片对我们support解决问题的帮助是不大的。Sundiag报告里还有操作系统日志, image的版本, cell的alert日志,ms的日志,系统的一些配置信息等等。因为日志很多,在此就不一一列举了。2.    Exawatcher操作系统资源监控工具, 就是我们常用的OSWatcher。具体请参阅blog中有专门介绍此工具的帖子。3.    ILOM snapshot管理员可以通过Integrated Lights-Out Management (ILOM) 远程监视和控制服务器硬件的状态。当遇到硬件故障时,我们通常需要收集ILOM snapshot,里面会记录着硬件的故障信息。我们可以使用Web界面或者CLI命令行的方式进行收集。如何收集请参考MOS文档1062544.1 。看个内存有故障的案例,通过日志: @usr@local@bin@spshexec_show_faulty.out-> show faultyTarget             | Property              | Value                             -------------------+-----------------------+-----------------------------------/SP/faultmgmt/0    | fru                   | /SYS/MB/P0/D11/SP/faultmgmt/0/   | class                 | fault.memory.intel.dimm.training-f faults/0          |                       | ailed-single-symbol/SP/faultmgmt/0/   | sunw-msg-id           | SPX86A-8004-7U faults/0          |                       | /SP/faultmgmt/0/   | component             | /SYS/MB/P0/D11 faults/0          |                       | /SP/faultmgmt/0/   | uuid                  | 956766c8-a7d1-ef22-f0e1-ccbc7e82bd faults/0          |                       | 6b/SP/faultmgmt/0/   | timestamp             | 2016-08-22/15:47:24 faults/0          |                       | /SP/faultmgmt/0/   | system_serial_number  | AK0032xxxx faults/0          |                       | /SP/faultmgmt/0/   | system_part_number    | Exadata X5-2 faults/0          |                       | /SP/faultmgmt/0/   | system_name           | Exadata X5-2 faults/0          |                       | /SP/faultmgmt/0/   | system_manufacturer   | Oracle Corporation faults/0          |                       | /SP/faultmgmt/0/   | chassis_serial_number | 1527xxxxxx faults/0          |                       | /SP/faultmgmt/0/   | chassis_part_number   | 7090664 faults/0          |                       | /SP/faultmgmt/0/   | chassis_name          | ORACLE SERVER X5-2 faults/0          |                       | /SP/faultmgmt/0/   | chassis_manufacturer  | Oracle Corporation faults/0          |                       | /SP/faultmgmt/0/   | system_component_seri | 1527xxxxxx faults/0          | al_number             | /SP/faultmgmt/0/   | system_component_part | 7090664 faults/0          | _number               | /SP/faultmgmt/0/   | system_component_name | ORACLE SERVER X5-2 faults/0          |                       | /SP/faultmgmt/0/   | system_component_manu | Oracle Corporation faults/0          | facturer              | /SP/faultmgmt/0/   | fru_name              | 32768MB DDR4 SDRAM DIMM faults/0          |                       | /SP/faultmgmt/0/   | fru_manufacturer      | Samsung faults/0          |                       | /SP/faultmgmt/0/   | fru_serial_number     | 00CE021521407xxxxx faults/0          |                       | /SP/faultmgmt/0/   | fru_rev_level         | 01 faults/0          |                       | /SP/faultmgmt/0/   | fru_part_number       | 07075400,M386A4G40DM0-CPB faults/0          |                       | -> Session closedFE到现场更换完内存后,-> show -d properties -level all /SYS/SYS  Properties:      type = Host System      ipmi_name = SYS      product_name = ORACLE SERVER X5-2      product_part_number = 7090664      product_serial_number = 1527xxxxxx      product_manufacturer = Oracle Corporation      fault_state = OK          =====================> 服务器运行状态OK      clear_fault_action = (none)      power_state = On-> show faultyTarget             | Property              | Value                            -------------------+-----------------------+------------------------------------> Session closedOK               | ON               =====================> OK灯显示SERVICE          | OFFLOCATE           | OFFSP/OK            | ONPS_FAULT         | OFFTEMP_FAULT       | OFFFAN_FAULT        | OFFFM0/SERVICE      | OFFFM1/SERVICE      | OFFFM2/SERVICE      | OFFFM3/SERVICE      | OFFP0/SERVICE       | OFFP0/D0/SERV       | OFFP0/D1/SERV       | naP0/D2/SERV       | naP0/D3/SERV       | OFFP0/D4/SERV       | naP0/D5/SERV       | naP0/D6/SERV       | naP0/D7/SERV       | naP0/D8/SERV       | OFFP0/D9/SERV       | naP0/D10/SERV      | naP0/D11/SERV      | OFFP1/SERVICE       | OFFP1/D0/SERV       | OFFP1/D1/SERV       | naP1/D2/SERV       | naP1/D3/SERV       | OFFP1/D4/SERV       | naP1/D5/SERV       | naP1/D6/SERV       | naP1/D7/SERV       | naP1/D8/SERV       | OFFP1/D9/SERV       | naP1/D10/SERV      | naP1/D11/SERV      | OFF通过新生成的ILOM snapshot来看,目前这台x5-2服务器硬件运行一切正常了。除了诊断硬件问题外, 当遇到server自动重启等问题时,OS日志里面还没有任何的信息。我们可以看下ILOM snapshot的hostconsole日志。举个例子:@persist@hostconsole.logCall Trace:Kernel panic - not syncing: softlockup: hung tasksPid: 12344, comm: oracle Tainted: G   M       2.6.32-100.23.1.el5 #1Call Trace:<IRQ>  [<ffffffff81056a86>] panic+0xa5/0x162[<ffffffff810128ae>] ? apic_timer_interrupt+0xe/0x20[<ffffffff810128ae>] ? apic_timer_interrupt+0xe/0x20[<ffffffff810156b1>] ? show_trace_log_lvl+0x51/0x5d[<ffffffff810156d2>] ? show_trace+0x15/0x17[<ffffffff810108ac>] ? show_regs+0x49/0x4d[<ffffffff810ac9db>] softlockup_tick+0x178/0x187[<ffffffff8108257e>] ? tick_sched_timer+0x0/0xa1[<ffffffff81064317>] run_local_timers+0x1d/0x1f[<ffffffff810647a2>] update_process_times+0x35/0x59[<ffffffff810825f6>] tick_sched_timer+0x78/0xa1[<ffffffff8107848c>] __run_hrtimer+0xbb/0x118[<ffffffff8107859c>] hrtimer_interrupt+0xb3/0x197[<ffffffff8143cc02>] smp_apic_timer_interrupt+0x7a/0x8d[<ffffffff810128b3>] apic_timer_interrupt+0x13/0x20这个案例最后定位是由于Linux Bug 14258279,因为问题发生在Exadata机器上,所以只能升级Exadata storage server software来解决此问题。(参考文档1473825.1)因为hostconsole里的信息没有时间戳,我一般都是搜索关键字‘login’,找到最后一次的login,然后看前面是否有错误信息。4.    Sosreport操作系统诊断报告。它会收集Linux上的配置和诊断信息。使用root用户直接执行# sosreport,然后报告文件就会生成在/tmp中。在Exadata的server上执行如果遇到hang的问题请参考文档1614364.15.    TFATFA是个11.2版本上推出的用来收集Grid Infrastructure/ RAC环境下的诊断日志的工具,它可以用非常简单的命令协助用户收集RAC里的日志,以便进一步进行诊断;TFA是类似 diagcollection的一个oracle 集群日志收集器,而且TFA比diagcollection集中和自动化的诊断信息收集能力更强大。如何使用请参考Blog中Supercluster诊断工具的帖子。最后,再附上两篇文档作为参考。毕竟不同的问题有不同的诊断,所用到的诊断工具也是不同的。Where / How to find OS crashcore file in Exadata Systems [Linux] (Doc ID 1389225.1)Information Center: Troubleshooting Oracle Exadata Database Machine (Doc ID 1346612.2)

1.    Sundiag 每个Exadata的数据库服务器和存储服务器节点都安装了sundiag.sh脚本, 在/opt/oracle.SupportTools 路径下;因为是Exadata初始软件包(image)里所包含的sundiag.sh,所以如果image版本比较旧, 可以到文档 761868.1去下载最新版本的sundiag.sh脚本。当Exadata 存储服务器 (Exadata...

Exadata

Exadata 计算节点image升级

本文主要介绍Exadata计算节点image升级的一般方法,以db节点从12.1.2.2.0升级到12.1.2.3.0为例,其他版本升级过程类似。 1. DB节点的升级需要使用dbnodeupdate.sh脚本,这里可以在MOS note 888828.1里面下载最新的脚本dbnodeupdate.sh standalone - Patch 16486998下载并解压。 2. 通过MOS note 888828.1,下载12.1.2.3.0对应的patch文件。 这里我们需要使用patch 22750145Patch 21749993 - Storage server and InfiniBand switch software (12.1.2.3.0.160207.3) --- 用来升级cell节点和ib交换机Patch 22750145 - Database server bare metal / domU ULN exadata_dbserver_12.1.2.3.0_x86_64_base OL6 channel ISO image (12.1.2.3.0.160207.3) --- 用来升级db节点和虚拟化环境中的domUPatch 22750142 - Database server dom0 ULN exadata_dbserver_dom0_12.1.2.3.0_x86_64_base OVM3 channel ISO image (12.1.2.3.0.160207.3) --- 用来升级虚拟化环境的dom0 3. 将下载的补丁文件上传到需要升级的db节点,下载的patch是zip文件,不需要解压。 4. 升级前检查。 本例中遇到磁盘空间不足的问题。实际升级中,需要解决遇到的具体问题,再进行升级。 这里面可能会遇到用户自行安装的第三方rpm包相关的警告,image升级之后,用户需要自行升级或重新安装第三方rpm包。详情可以参考下面的文档。Is it acceptable / supported to install additional or 3rd party software on Exadata machines and how to check for conflicts? (Doc ID 1541428.1)Non-standard/Non-Exadata installed packages may fail after the update to Oracle Linux 6 (Doc ID 2037442.1) 5. 确认预先检查没有问题,可以开始升级。 6. 升级过程中,系统会自动重启,GI和DB软件会自动重启。 7. 升级完成之后,执行dbnodeupdate.sh –c 完成post-completion步骤。 8. 关于db节点升级,以下文档可供参考。http://docs.oracle.com/cd/E50790_01/doc/doc.121/e51951/db_server.htm#DBMMN21672dbnodeupdate.sh and dbserver.patch.zip: Updating Exadata Database Server Software using the DBNodeUpdate Utility and patchmgr (Doc ID 1553103.1)

本文主要介绍Exadata计算节点image升级的一般方法,以db节点从12.1.2.2.0升级到12.1.2.3.0为例,其他版本升级过程类似。 1. DB节点的升级需要使用dbnodeupdate.sh脚本,这里可以在MOS note 888828.1里面下载最新的脚本 dbnodeupdate.sh standalone - Patch 16486998下载并解压。 2. 通过MOS note...

SuperCluster

Supercluster 诊断工具

Supercluster 使用了许多的分区技术,例如LDOM,zone。由于使用了这些技术,提供了设备的使用效率,但同时,对问题诊断也引入了更多的环节, 因此在supercluster上诊断问题变的更复杂。 作为分析问题的一个思路,我们可以简单的分成两类,一类是操作系统相关的,这类也包括硬件部分。另外一类是数据库相关的,这类也包括cell存储节点的使用。在下面的讨论中, 我们会从这两方面出发来看我们都有哪些工具可以帮助我们收集需要的信息 首先让我们看下,从操作系统层面,我们都有哪些工具可用,他们都适用于哪些场景。 对于cell节点,sundiag.sh脚本,这个脚本会收集所有与磁盘和flash 卡相关的信息,这对于诊断磁盘和flash卡硬件故障非常有帮助。它会列出故障卡的型号,这对于后续的替换很有帮助,当然,它也包括其他的信息,例如raid卡的信息,驱动日志等。 Sundiag.sh通常位于目录/opt/oracle.SupportTools/ ILOM Snapshot, 它会收集所有硬件的信息,关于disk,没有sundiag.sh那么详细。但至少它会报告系统硬件是否有任何问题。在IB交换机上也可以收集ilom snapshot。 收集ILOM snapshot基本步骤是:Login IlomàMaintenanceàsnapshot(dataset=normal, 不用勾选only collect log and encypt outp file 选项) MOS文档1448069.1提供了详细的收集步骤。 对于DB节点,通常是LDOM,solaris操作系统,explorer报告就非常重要,它会收集操作系统和硬件信息。它也会收集LDOM和zone的信息。当然如果我们需要收集LDOM信息,我们需要知道control或者primary domain, 因为只有在控制域,我们才能收集到其他domain的信息。提到控制域,有个现实的问题是,如何知道哪个域是控制域,这可以通过命令#virtinfo –a 实现,在命令的输出中,会告诉那个域是控制域。 下面的命令是个典型的收集explorer报告的命令,基于具体问题,可能会有不同的参数收集指定的信息,但通常下面的命令应该足够 #explorer -w default,smfextended,locazones 在之前的介绍中我们也提到,在supercluster中,我们也使用了ZFS存储,对于ZFS存储,我们有bundle patch,它会收集所有跟zfs存储相关的信息。 MOS文档1902651.1和1957298.1提供了具体步骤如何收集ZFS的Support Bundle 现在让我们来看下数据库层面 对于数据库的日志,在supercluster中, 大部分情况我们都会配置RAC,TFA绝对是一个好的工具收集数据库和RAC日志文件,在很多情况下,如果我们随着诊断的深入,需要检查更多的信息,这有可能一些重要的日志文件会被复写,导致分析问题不能继续下去。 TFA会一次性收集所有的信息。下面的几个使用方式是常用的,需要更改tfactl命令的路径: /u01/app/11.2.0/grid/bin/tfactl diagcollect没有时间指定,收集过去4小时内的所有信息,包括OSwatch/Exawatcher信息。/u01/app/11.2.0/grid/bin/tfactl diagcollect -all -since 8h收集过去8小时到现在的所有信息,包括OSwatch/Exawatcher信息 /u01/app/11.2.0/grid/bin/tfactl diagcollect -asm -node node1 -from Mar/4/2013 -to "Mar/5/2013 21:00:00"收集指定时间段的ASM日志文件 MOS文档1513912.2介绍了如何使用TFA Pstack和truss, 把这两个工具,放在这儿,从工具本身来讲,似乎并不合适,但是通常,我们会用这两个工具来诊断数据库的问题,因为从这两个工具,我们能够看到底层调用模块,这在某些情况非常有用。例如,oracle RAC,一个节点,加入cluster时候,始终报没有网络,但实际上,我们能够ping通对方,广播和多播也是好的,因为在加入cluster 集群时,oracle RAC会使用私网进行通信。在这种情况,pstack 就会打出调用的函数,truss就会列出操作系统的函数,我们就能看到是否在这过程中,相应的集群组件是否在某些指定的函数间无限循环。对分析问题提供帮助。 例如,对CSSD进程执行pstack和truss #pstack <CSSPID> >/tmp/cssd_pstack.out # truss -DeadElfo /tmp/gipc_truss_02.out -p <CSSPID> 对于数据库,您可能会列出一堆的诊断手段或者方法,例如system state dump,10046 trace等,这些都是针对一些特定场合,不可能把这些都列全,并且相信大部分从事DBA工作的都了解这些方法,在这里不做介绍 在这里提下,如果您能够访问MOS,文档1543258.2 列出了在每种情况下,应该检查哪些信息。这会非常有帮助。

Supercluster 使用了许多的分区技术,例如LDOM,zone。由于使用了这些技术,提供了设备的使用效率,但同时,对问题诊断也引入了更多的环节, 因此在supercluster上诊断问题变的更复杂。 作为分析问题的一个思路,我们可以简单的分成两类,一类是操作系统相关的,这类也包括硬件部分。另外一类是数据库相关的,这类也包括cell存储节点的使用。在下面的讨论中, 我们会从这两方面出发来看我们都有哪些...

Exadata

ASM 元数据(metadata)

一、介绍        ASM 元数据是用来描述磁盘组和文件信息的数据,是由ASM实例管理,目的在于为其它数据库实例提供有效的文件服务。其中包括路径(directories),间接扩展(Indirect Extents),以及分配表(allocation tables)和记录了ASM磁盘以及partner的状态信息(PST)等。这些元数据存储在磁盘组AU的数据块中,每个块大小为4K,每一个块都有一个32byte的block header。元数据分为两种,一种是存放在ASM磁盘上的固定位置,叫做物理元数据。一般储存在磁盘组的前几个AU中。这些数据的物理地址只和每个磁盘相关,当ASM初始化的时候要用到这些信息。另一种是以文件目录的形式存放在磁盘组里,通常被叫做虚拟元数据,这些数据的虚拟地址被存放在文件当中,可以像普通的ASM文件那样均匀分布在ASM的磁盘上。二、 元数据block的类型随着版本的升级,加入了更多的类型:Version 10   Disk header   Free space table   Allocation table   Partnership and status table   File directory (ASM file 1)   Disk directory (ASM file 2)   Active change directory (ASM file 3)   Continuing operations directory (ASM file 4)   Template directory (ASM file 5)   Alias directory (ASM file 6)Version 11   AVDM volume file directory (ASM file 7)   Disk used space directory (ASM file 8)   Attributes directory (ASM file 9)   User directory (ASM file 10)   User group directory (ASM file 11)   Staleness directory (ASM file 12)Version 12   Password directory (ASM file 13)   Virtual Allocation Locator directory (ASM file 14)   Virtual Allocation Metadata directory (ASM file 15)ASM 也管理了一些固定遍号的文件,他们不是ASM的元数据文件。Version 11   The SPFILE for ASM instance (ASM file 253)   Stale bitmap space registry (ASM file 254)   Oracle Cluster Repository (ASM file 255)Version 12   The password file for ASM instance (ASM file 256)三、元数据存储如下表格描述了AU大小是1M,ASM元数据块大小为4k时具体的存储情况。 我们可以看到,每个磁盘组的前两个AU是存放物理元数据,它们会包括ASM的磁盘头(DH),空闲空间分配表(FST),空间分配表(AT)以及PST的信息。从第3个AU上存储ASM文件路径等信息。四,查看元数据在oracle 10的时候,oracle就提供了一个工具kfed来查看ASM的元数据。从ASM磁盘上查看物理元数据:普通数据库上的:[grid@rac111 ~]$ kfed read ORCL:DATA_DISK1 aun=0kfbh.endian:                          1 ; 0x000: 0x01kfbh.hard:                          130 ; 0x001: 0x82kfbh.type:                            1 ; 0x002: KFBTYP_DISKHEAD   <<<<<<<  这个block是一个disk header blockkfbh.datfmt:                          1 ; 0x003: 0x01kfbh.block.blk:                       0 ; 0x004: blk=0kfbh.block.obj:              2147483648 ; 0x008: disk=0kfbh.check:                  2267487252 ; 0x00c: 0x87271c14kfbh.fcn.base:                     5577 ; 0x010: 0x000015c9kfbh.fcn.wrap:                        0 ; 0x014: 0x00000000kfbh.spare1:                          0 ; 0x018: 0x00000000kfbh.spare2:                          0 ; 0x01c: 0x00000000    <<<<<<< 以上是这个block 的header 部分kfdhdb.driver.provstr:ORCLDISKDATA_DISK1 ; 0x000: length=18   <<<<<<< 这是一个ASM lib 管理的disk    kfdhdb.driver.reserved[0]:   1096040772 ; 0x008: 0x41544144kfdhdb.driver.reserved[1]:   1397310559 ; 0x00c: 0x5349445fkfdhdb.driver.reserved[2]:        12619 ; 0x010: 0x0000314bkfdhdb.driver.reserved[3]:            0 ; 0x014: 0x00000000kfdhdb.driver.reserved[4]:            0 ; 0x018: 0x00000000kfdhdb.driver.reserved[5]:            0 ; 0x01c: 0x00000000kfdhdb.compat:                186646528 ; 0x020: 0x0b200000kfdhdb.dsknum:                        0 ; 0x024: 0x0000kfdhdb.grptyp:                        2 ; 0x026: KFDGTP_NORMALkfdhdb.hdrsts:                        3 ; 0x027: KFDHDR_MEMBERkfdhdb.dskname:              DATA_DISK1 ; 0x028: length=10kfdhdb.grpname:                    DATA ; 0x048: length=4kfdhdb.fgname:               DATA_DISK1 ; 0x068: length=10kfdhdb.capname:                         ; 0x088: length=0kfdhdb.crestmp.hi:             33025125 ; 0x0a8: HOUR=0x5 DAYS=0x3 MNTH=0xb YEAR=0x7dfkfdhdb.crestmp.lo:           2521066496 ; 0x0ac: USEC=0x0 MSEC=0x11b SECS=0x24 MINS=0x25kfdhdb.mntstmp.hi:             33039926 ; 0x0b0: HOUR=0x16 DAYS=0x11 MNTH=0x9 YEAR=0x7e0kfdhdb.mntstmp.lo:           3372678144 ; 0x0b4: USEC=0x0 MSEC=0x1bf SECS=0x10 MINS=0x32再看看Exadata环境, 除了asm disk 和fail group不同,AU的大小不同,其它都几乎相同。kfed read o/192.168.9.5\;192.168.9.6/DATAC1_CD_00_orlx52celhc01 aun=0kfbh.endian:                          1 ; 0x000: 0x01kfbh.hard:                          130 ; 0x001: 0x82kfbh.type:                            1 ; 0x002: KFBTYP_DISKHEADkfbh.datfmt:                          2 ; 0x003: 0x02kfbh.block.blk:                       0 ; 0x004: blk=0kfbh.block.obj:              2147483648 ; 0x008: disk=0kfbh.check:                   528760581 ; 0x00c: 0x1f843f05kfbh.fcn.base:                 11478162 ; 0x010: 0x00af2492kfbh.fcn.wrap:                        0 ; 0x014: 0x00000000kfbh.spare1:                          0 ; 0x018: 0x00000000kfbh.spare2:                          0 ; 0x01c: 0x00000000kfdhdb.driver.provstr:         ORCLDISK ; 0x000: length=8kfdhdb.driver.reserved[0]:            0 ; 0x008: 0x00000000kfdhdb.driver.reserved[1]:            0 ; 0x00c: 0x00000000kfdhdb.driver.reserved[2]:            0 ; 0x010: 0x00000000kfdhdb.driver.reserved[3]:            0 ; 0x014: 0x00000000kfdhdb.driver.reserved[4]:            0 ; 0x018: 0x00000000kfdhdb.driver.reserved[5]:            0 ; 0x01c: 0x00000000kfdhdb.compat:                202375680 ; 0x020: 0x0c100200kfdhdb.dsknum:                        0 ; 0x024: 0x0000kfdhdb.grptyp:                        3 ; 0x026: KFDGTP_HIGHkfdhdb.hdrsts:                        3 ; 0x027: KFDHDR_MEMBERkfdhdb.dskname:DATAC1_CD_00_ORLX52CELHC01 ; 0x028: length=26     <<<<<< grid disk namekfdhdb.grpname:                  DATAC1 ; 0x048: length=6kfdhdb.fgname:            ORLX52CELHC01 ; 0x068: length=13            <<<<<< Exadata 上的fail group kfdhdb.ausize:                  4194304 ; 0x0bc: 0x00400000      <<<<<< AU size 是4Mkfdhdb.mfact:                    454272 ; 0x0c0: 0x0006ee80我们可以通过kfed来查看这些元数据,也可以通过一些fixed table 来查看。比如X$KFDAT,X$KFFXP,这些fixed table可以帮助你很快找到某一个文件的extent被存储在哪个ASM 磁盘上。四,总结本文通过对ASM的元数据的概要介绍,让读者对其有一个宏观的概念。以后会有文章详细阐述元数据的组成部分。

一、介绍       ...

Exalytics

Exalytics的虚拟化

Exalytics虚拟化的前提条件 Exalytics机器已经被固定并安装在一个数据中心。  Oracle ILOM 被配置为可从网络中使用web 界面。  所有的网络信息,如主机名、 IP 地址、 子网、 网关和 DNS 都是可用的。  空闲、 未分配的 IP 地址可用于服务器池中每个 Exalytics 机器上部署的虚拟机。  有一个Linux 环境可用来安装 Oracle VM Manager。  有一个数据库服务器是可用来安装 Oracle VM Manger。 有一台计算机可以访问互联网(不一定是Exalytics机器),下载所需的软件。 重新配置现有的RAID。以Exalytics X2-4为例,六块硬盘,每块硬600GB,两块硬盘配置成RAID1;四块硬盘配置成RAID5, 同时需要把RAID1分成两个虚拟盘,其中100GB用于boot分区, 另外457GB用于操作系统,日志和临时空间, 其他的RAID5的硬盘空间用于软件的安装和TimesTen的数据文件。虚拟机的安装1. 安装和配置OVM ServerOracle VM Server是托管虚拟化环境,为运行中的虚拟机提供一个安全的、 基于服务器的平台。创建一个虚拟机之前必须首先在 Exalytics 机器上安装 Oracle VM Server。2. 安装和配置OVM ManagerOracle 建议在其它单独的机器上安装 Oracle VM Manager。2.1将 Oracle VM Server添加到Oracle VM Manager环境被称为发现Oracle VM Server。发现服务器是配置虚拟化环境的第一步。2.2创建虚拟的网络接口控制器 (VNIC) 。通过定义一个范围的 MAC 地址用于每个 VNIC,创建虚拟网络接口。每个被虚拟机使用的 MAC 地址对应单一虚拟网络接口控制器 (NIC)3. 创建服务器池。 服务器池由至少一个 Oracle VM Server组成。如果你发现服务器池并没有足够的资源,如 CPU 或内存运行虚拟机,可以通过添加更多的 Oracle VM Server扩展服务器池。4. 创建一个 Exalytics资料库。 资料库存储 Oracle VM 资源,如虚拟机、创建虚拟机的模板、 虚拟机的程序集等等。使用 Oracle VM Manager来创建和配置 Exalytics 资料库。 注︰ Oracle 建议在每个可用的物理磁盘上创建资料库。使用较小的资料库来存储 Oracle VM 模板、 克隆的虚拟机,更大的资料库分配到虚拟机的虚拟磁盘。5. 使用VM模板创建虚拟机。从模板创建虚拟机的过程称为克隆。创建虚拟机之前,请确保以下资源是可用的︰ 服务器池, Oracle VM Server和 VM 模板6. 维护虚拟机• 在Oracle VM Manager中维护虚拟机,比如启动/关闭等• 在Oracle VM Manager中为虚拟机配置网络连接图A显示了Oracle VM包含的各个组件                  图A Oracle VM 组件关系图在虚拟机上安装Exalytics软件1. 安装软件必须满足两个前提条件:已经创建好虚拟机, 如果要安装Essbase,需要创建好两个虚拟机在RAID5上已经创建了虚拟磁盘并且已经挂载在了虚拟机上 2. 在虚拟机上安装和配置Exalytics软件用root用户创建一个/u01分区修改oracle用户分组并对/u01授予相应权限安装OBIEE和TimesTen等如果需要部署Essbase, 则需要在另一个单独的虚拟机上进行安装

Exalytics虚拟化的前提条件 Exalytics机器已经被固定并安装在一个数据中心。  Oracle ILOM 被配置为可从网络中使用web 界面。  所有的网络信息,如主机名、 IP 地址、 子网、 网关和 DNS 都是可用的。  空闲、 未分配的 IP 地址可用于服务器池中每个 Exalytics 机器上部署的虚拟机。 有一个Linux 环境可用来安装 Oracle VM...

Exalogic

EMOC安全证书认证失败的解决方法

众所周知,在Exalogic虚拟化的管理中,Enterprise Manager Ops Center(EMOC)是Exalogic目前提供的最经常使用的工具。无论是虚拟机的创建、修改,还是启动、停止,都离不开EMOC的操作。最近经常有用户遇到无法打开EMOC控制面板(http://emoc-ip:9443/emoc)的情况。在火狐浏览器下打开,会提示“安全连接失败”(如下图)。 而使用谷歌的Chrome浏览器,也会有类似的提示(如下图)。 IE或者第三方厂商开发的IE内核浏览器也会出现类似的错误(如下图)。 这些错误严重影响了用户对Exalogic的管理操作,而且很难说问题出在Exalogic Control控制台还是用户的浏览器。到底是什么导致了这样的问题呢?这是因为EMOC使用的SSL算法(例如TLS1.0, TLS1.1)已经不再被新版本的浏览器认为是安全的了。浏览器在访问EMOC站点时对https使用的SSL算法进行了校验,并发现了不安全的因素,所以浏览器出于保护用户的目的拒绝访问。那么如何解决这个问题呢?终极的解决方案当然是升级Exalogic软件至最新版。最新版本的EECS 2.0.6.2.160419(2016年4月版PSU)已经包含了对应的EMOC升级,可以让所有的新版浏览器访问了。关于EECS 2.0.6.2.160419的更多内容,请参阅Exalogic Infrastructure April 2016 PSU – Fixed Bugs List (Doc ID 2122959.1)。 如果近期不方便升级,仍然可以通过一个简单的设置让火狐浏览器无压力的访问EMOC。首先我们可以确认的是EMOC作为Exalogic的管理工具是安全可靠的,而且对于用户来说,EMOC也都是运行于Exalogic管理网仅供内部访问的。所以作为一个临时的解决方案,可以在不升级EMOC的情况下,让火狐浏览器允许访问EMOC管理界面。首先,在火狐浏览器的地址栏输入about:config,这时会出现一个警告: 点击“我保证会小心”就进入火狐的配置页面了。这时在搜索栏里输入security.tls.insecure_fallback_hosts,会显示出对应的配置项。 这时,双击这个配置项,把EMOC控制台对应的地址填进去就可以了,例如: 设置之后,再次打开EMOC的地址,如果出现以下警告,那就说明EMOC已经可以正常访问了! 点击添加例外并确认就可以正常打开EMOC的控制台了。当然,这个只是个临时的解决方案。Oracle推荐的解决方法仍然是升级Exalogic至最新的PSU以彻底解决这个问题。 

众所周知,在Exalogic虚拟化的管理中,Enterprise Manager Ops Center(EMOC)是Exalogic目前提供的最经常使用的工具。无论是虚拟机的创建、修改,还是启动、停止,都离不开EMOC的操作。 最近经常有用户遇到无法打开EMOC控制面板(http://emoc-ip:9443/emoc)的情况。在火狐浏览器下打开,会提示“安全连接失败”(如下图)。 而使用谷歌的Chr...

BDA

Oracle大数据机(BDA)介绍

Oracle BDA是一款灵活的, 高性能的, 安全的平台, 在Hadoop和NoSQL系统运行不同的工作负载。Oracle Big Data SQL, Oracle BDA扩展了甲骨文行业领先的SQL在Hadoop和NoSQL系统的实现。将Hadoop生态系统的最新技术和强大的Oracle SQL 功能结合在一起, 安装在一个预先装配的平台上, Oracle BDA是唯一能够支持新的大数据产品的快速开发并且与现有的关系型数据紧密集成的设备。 Oracle提供的一个集成的大数据解决方案 Oracle Big Dat Appliance X6-2 本文以BDA X6-2为例, Oracle BDA是一个开放的 , 多用途的集成系统, 用于Hadoop和NoSQL的处理Oracle BDA被设计成用于运行不同的工作负载 – 从单一的Hadoop工作负载(YARN, Spark, Hiveetc.)到交互式的, 全范围的使用Oracle Big Data SQL的SQL交互查询。这些功能既可以在本地部署也可以部署在Oracle大数据云上。 Oracle BDA提供了一个开放的环境, 用于革新的同时保持紧密的集成以及企业级的技术支持。组织可以部署外部软件来支持新功能 – 像图形分析, 自然语言处理以及欺诈监测。非Oracle组件的支持由各自的支持渠道提供, 而不是由Oracle提供。 BDA软件高阶概览 BDA X6-2包括软件: 操作系统: Oracle Linux 5 或者Oracle Linux 6 集成软件: Cloudera Enterprise 5 – 数据中心版支持: Cloudera’s Distribution including Apache Hadoop (CDH) Cloudera Impala Cloudera Search Apache HBase and Apache Accumulo Apache Spark Apache Kafka Cloudera Manager with support for: Cloudera Navigator and Cloudera Back - up and Disaster Recovery (BDR) Oracle Perfect Balance Oracle Table Access for Hadoop 其他: Oracle Java JDK 8 MySQL Database EnterpriseServer - Advanced Edition* Oracle Big Data Appliance Enterprise Manager Plug-In Oracle R Distribution Oracle NoSQL DatabaseCommunity Edition (CE)** * 受限的使用许可 ** Oracle NoSQL数据库CE版本的支持不包含在BDA中。一个单独的Oracle NoSQL 数据库CE版本的支持订阅是必须的。 BDA X6-2 – 可选软件 Oracle Big Data SQL Oracle Big Data Connectors: Oracle SQL Connector for Hadoop Oracle Loader for Hadoop Oracle XQuery for Hadoop Oracle R Advanced Analytics for Hadoop Oracle Data Integrator Oracle Audit Vault andDatabase Firewall for Hadoop Auditing Oracle Data Integrator Oracle GoldenGate Oracle NoSQL Database Enterprise Edition Oracle Big Data Spatial and Graph Oracle Big Data Discovery 硬件细节及规格: 满配:18个计算/存储节点font face="arial,helvetica,sans-serif" size="2"> 标配: 6个计算/存储节点 *每个节点配有: 2 x 22核(2.2GHz) Intel Xeon E5-2699 v4 CPU 8 x 32GB DDR4-2400内存(每个节点最大可扩展至768GB) 12x 8TB 7200转高容量SAS硬盘 2 x QDR 40 Gb/s InfiniBand端口 4 x 10 Gb以太网端口 1 x ILOM以太网端口 每台机器配有: 2 x 32端口QDR InfiniBand Leaf交换机 32 x InfiniBand端口 8 x 10Gb以太网端口 1 x 36端口QDR InfiniBand Spine交换机 36 x InfiniBand端口 额外的硬件组件包括: 以太网管理交换机 2 x 冗余电源适配器 42U机柜包装 备件包括: 1 x 8TB高容量SAS硬盘 InfiniBand网线 完整的安全性 数据安全是企业级大数据解决方案最关键的;BDA自身提供了强大的身份认证, 授权以及hadoop的数据审计。 强大的身份认证由kerberos提供。 这样确保了所有用户和系统的双向身份确认, 并且确保了欺诈服务被添加到系统中。 BDA利用Apache Sentry (一个Oracle开发人员作为创始人的开源项目) 去授权通过工具访问的SQL, 像Hive和Impala。通过交付和开发Sentry, Oracle交付了Hadoop可用的最高数据安全级别的BDA。 网络加密和静态数据加密都被包含在了BDA中并且有Oracle提供支持。BDA支持最新的静态数据创新加密, 并且通过一秘钥管理设施支持原始的HDFS加密。这个实现给HDFS所有数据开启了最牢固的安全保证。网络加密阻止了受保护的数据被嗅探并且可以通过BDA一键开启。 为了确保安全和数据访问合规, BDA集成了Oracle Audit Vault和数据库防火墙。Oracle Audit Vault代理预先安装在BDA里用于跟踪和审计Hadoop System上的数据访问。通过利用Oracle Audit Vault和数据库防火墙, 跨组织的所有审计被合并为一个单一的审计库来确保对所有数据全面的观察。 除了保证Hadoop系统的安全, Oracle Big Data SQL使组织可以在查询Hdaoop和NoSQL数据时利用数据库安全功能。结合了Oracle Big Data SQL的BDA交付了一个在所有大数据系统中最安全的系统。 简化的运维 Oracle EnterpriseManager提供了一个入口点来管理整个系统 – 软件和硬件 – 提供了在组织中跨产品的连续性。为了给Hadoop提供更深入的管理能力, Enterprise Manager使用了上下文感知来与Cloudera Manager来集成。 BDA通过一键式的安装, 更新, 打补丁以及扩展工具 - Mammoth来进行简化的日常维护, 可以通过Mammoth快速部署更新 (通常每季度一次) 而不需要宕机时间。Mammoth同时还在Hadoop版本和自动服务管理进行Oracle测试的, 无缝的升级, 这样可以确保Hadoop主节点和数据节点最大的平衡。 Oracle为BDA提供了相关的支持, 给组织提供了一站式的硬件及软件 (包括所有的Cloudera软件) 以及任何额外的安装Oracle软件的服务。 灵活的配置 BDA设计为可以支持随着数据和增长的扩展。最初的大数据实施可能从BDA的初始版本开始。包含六个服务器的机柜完全的安装了整套的交换机以及电源适配器, 这是和BDA全配完全一致的。初始化版本的BDA以及交换机使得机器可以非常简单高效的进行扩展, 可以从一个单节点通过Oracle BDA的高容量节点加上InfiniBand设施扩展到更多个节点。 模块儿化的硬件构建块 除了在同一个机柜进行扩展以外, 多个机柜可以通过集成的InfiniBand组件构建更大的配置。可以通过连接InfiniBand线无阻碍的扩展到18个机柜, 而且不需要任何外部交换机, 并且更大块儿网络配置也是支持的而且不需要额外的交换机。InfiniBand的使用通过���少机柜转换构造需要从而极大的降低了大配置的花费成本。 BDA是多组织的, 它可以配置成一个单集群或者多集群。这样可以更好的根据客户的需要来部署开发, 测试和生产环境。 连通性和性能增强 Hadoop的表访问特性也是Oracle BDA的特性, 它可以将Oracle的数据库表转化到Hadoop中并且Spark数据源使用了从Oracle数据库到BDA的查询检查。 Hadoop的数据访问使用了Hive SQL, Spark SQL还有Hadoop以及Spark APIs在Oracle数据库进行直接的以及一致性的数据访问, 他们支持HCatalog, InputFormat, SerDes以及Storage Handler (外部表)。Oracle数据库中的数据通过安全连接被平行访问 (Kerberos, SSL, Oracle Wallet) 。 完善的平衡也是BDA的一个特性,它使得BDA的MapReduce jobs更好的处理偏离的数据。虽然默认的Hadoop分布式方法可以适当的减少大工作量的负载,但是它不能均匀的分配数据偏离的jobs的负载。完美的平衡是针对这个问题来进行发现和优化数据偏离。

Oracle BDA是一款灵活的, 高性能的, 安全的平台, 在Hadoop和NoSQL系统运行不同的工作负载。Oracle Big Data SQL, Oracle BDA扩展了甲骨文行业领先的SQL在Hadoop和NoSQL系统的实现。将Hadoop生态系统的最新技术和强大的Oracle SQL 功能结合在一起, 安装在一个预先装配的平台上,...

Exadata

有新的一体机中文文档添加到 My Oracle Support 中了! (2016年8月)

最新翻译的文档列表: ODAVP: 如何备份/还原ODA虚拟机(Doc ID 2172975.1)ODA : 安装GI补丁问题诊断(Doc ID 2173042.1)Oracle 数据库一体机X5-2 (Oracle Database Appliance) X5-2 裸机恢复过程 (Doc ID 2165409.1)Oracle Database Appliance (ODA) 最终用户部署指南 2.1.0.0 to 2.10.0.0 (Doc ID 2172097.1)Oracle 集群软件 (GI or CRS) 相关的缩写, 缩略词和过程 (Doc ID 2165485.1)Oracle Database Appliance – 通过MOS生成一个Key去更改ODA的内核数 (Doc ID 2172131.1)Oracle Database Appliance磁盘故障的诊断信息收集 (Doc ID 2173045.1)ODA 磁盘问题:常见的磁盘诊断命令或脚本与技巧,最佳实践和示例 (Doc ID 2173436.1)ODA SR的创建:强制初始数据的收集的示例 (Doc ID 2176872.1)在Oracle Database Appliance安装虚拟平台指导说明 (Doc ID 2173504.1)Exadata补丁概要及补丁测试指导 (Doc ID 2151764.1) Exadata 智能扫描(Smart Scan)常见问题 (Doc ID 2151907.1)Exadata & RDBMS 服务的关闭/启动步骤以及存储/计算节点的 Exadata 配置 (Doc ID 2153335.1)在Oracle Exalytics服务器上使用远程诊断代理 (Doc ID 2153308.1)Exalytics检测和诊断工具主手册 - 用于在Exalytics诊断和排除故障 (Doc ID 2173896.1)在Exalytics上使用TimesTen时,如何配置OBIEE opmn.xml去优化聚合创建 (Doc ID 2173944.1) 完整的列表请点击这里或登录 My Oracle Support  并查找:中文文档列表 - Oracle 集成系统 (DocID 2133788.2) 

最新翻译的文档列表: ODAVP: 如何备份/还原ODA虚拟机(Doc ID 2172975.1)ODA : 安装GI补丁问题诊断(Doc ID 2173042.1)Oracle 数据库一体机X5-2 (Oracle Database Appliance) X5-2 裸机恢复过程 (Doc ID 2165409.1)Oracle Database Appliance (ODA) 最终用户部署指南...

Exalogic

zfs snapshot - Exalogic备份基础

快照是重要的存储数据的技术,可以在不停止应用程序的情况下对数据进行备份。 l 冷备份:停止系统运行进行备份。 l 热备份:在系统运行期间来进行备份,比如Snapshot。 首先说一下为什么需要snapshot,设想下面的场景: 在某一状态下做备份的时候,可能有应用正在访问某个文件(比如Weblogic正在记录重要的应用日志)或者数据库,这就使得备份的时候文件处于一个状态,而备份完成之后,文件却处于另外一个一个状态,从而导致备份的非一致性。 在这种情况下,成功解决状态不一致性的方法就是将其分区挂载为只读,然后通过数据库的表级别锁定(table-levelwrite locks)甚至停止数据库来备份数据。但是,这样做会严重应用业务的可用性。使用snapshot既可以获得一致性备份,又不会影响服务器的可用性。 什么是snapshot? 1). Snapshot是在某一时刻获得文件系统映像的技术 2). Snapshot并不是对所有数据块进行拷贝,只是对文件系统当前点的信息记录。 3). Snapshot是只读的,快照是不能被直接访问,而是对快照执行克隆、备份、回滚等操作,通过这些操作来保护数据。 4). 当snapshot创建之后,可以通过snapshot来了解文件系统的状态。 Snapshot实现方式分为两种:写时复制(CoW,Copy-on-Write)或者Split-Mirror。 ZFS通常使用是CoW,因此这篇blog中,如无特殊说明,我们说的都是基于CoW的。 我们先看一下CoW的原理, 当一个snapshot创建的时候,仅拷贝原始卷里数据的元数据(meta-data)。创建的时候,并不会有数据的物理拷贝,因此snapshot的创建几乎是实时的,当原始卷上有写操作执行时,snapshot跟踪原始卷块的改变,这个时候原始卷上将要改变的数据在改变之前被拷贝到snapshot预留的空间里,因此这个原理的实现叫做写时复制(Copy-on-Write)。 在写操作写入块之前,CoW将原始数据移动到snapshot空间里,这样就保证了所有的数据在snapshot创建时保持一致。而对于snapshot的读操作,如果是读取数据块是没有修改过的,那么会将读操作直接重定向到原始卷上,如果是要读取已经修改过的块,那么就读取拷贝到snapshot中的块。 图一可以使我们加深对CoW原理的理解 图一:CoW流程 Z文件系统(ZFS)是Sun微系统公司(2009被甲骨文公司收购)创建的,开源的LVM文件系统,被应用于Solaris系统中。Linux操作系统也已经推出开源的ZFS,即ZFS On Linux,当前最新的版本是v0.6.5.7。 Exalogic中,ZFSstorage appliance使用操作是简化版的Solaris,并且相关的备份工具如Exabr都是基于ZFS snapshot的。下面我们来在Solaris系统中来尝试创建Snapshot 1. 创建一个test文件系统 2. 在test文件系统中创建两个文件分别是a和b: 3. 针对文件系统'rpool/test'来创建snapshot 无论文件系统的大小,创建它的一个snapshot几乎可以在瞬间完成。 4. 下面面我们看一下文件结构 通过上面的文件结构,我们可以看到: a     . 'rpool/test'文件系统占有了32K的硬盘空间 b     . 名字为'rpool/test@1'的snapshot不占有硬盘空间。因为snapshot只是文件系统'rpool/test@1'的引用。当我们修改或者删除文件时,它将发生变化。 c'     . MOUNTPOINT项为空,这是因为snapshot是不可以被挂载的。  到这里我们来重新概括一下: 文件系统'rpool/test@1'中包含了两个文件,a和b。我们称a和b为原始文件。 创建的快照'rpool/test@1'指向了文件a和b,并且不占用磁盘空间。 5. 在文件系统 'rpool /test'中删除文件a 现在我们可以看到第一个创建的snapshot 'rpool/test@1' 已经开始消耗磁盘空间,其大小是19.5K。这是因为snapshot 'rpool/test@1 line-height: 115%; font-family: Verdana, sans-serif; color: black; background: none 0% 0% repeat scroll white;">' 指向的文件'a'已经从文件系统中删除了。 注意:在snapshot不被破坏或者删除的情况下,它将永远指向相同的文件。当指向的文件发生变化时,snapshot占有的空间也会发生变化。 6. 恢复文件系统 如果我们需要恢复原始的文件系统应该怎么做呢? 在恢复之前,我们首先看一下当前文件系统 'rpool/test'的状态: 当前文件系统’ rpool/test’中只有一个文件a。 通过rollback功能来恢复文件系统'rpool/test'到创建snapshot 'rpool/test@1'的时刻。 同样,我们可以结合zfs的clone和promote来完成类似的功能,在这个blog就不做过多介绍,如果想要详细了解的话,可以参考ZFS管理手册。 这篇blog主要讲述了跟存储相关的ZFSsnapshot的基础内容,关于Exalogic中备份,我们会在下篇blog中阐述。

快照是重要的存储数据的技术,可以在不停止应用程序的情况下对数据进行备份。 l 冷备份:停止系统运行进行备份。 l 热备份:在系统运行期间来进行备份,比如Snapshot。 首先说一下为什么需要snapshot,设想下面的场景: 在某一状态下做备份的时候,可能有应用正在访问某个文件(比如Weblogic正在记录重要的应用日志)或者数据库,这就使得备份的时候文件处于一个状态,而备份完成之后,文件却处于另外一个一...

Exadata

Exadata Smart Flash Cache 简介

Exadata 作为能够提供高性能和高可用性的数据库一体机,既可以满足OLAP类型的应用,可也以满足OLTP类型的应用。对于后一种类型的应用,Smart Flash Cache(以下简称智能闪存)无疑为提高OLTP应用的性能提供了重要的保证。 首先,从硬件层面的角度,Exadata一体机的每一台存储服务器都包含了4块基于PCI的闪存卡用于保存数据。而从软件层面,Exadata 特有的存储服务器软件(cellsrv)会管理被cache在闪存卡上的数据。从信息的种类上来讲,智能闪存可以通过以下的三种方式被使用: 1. 用于保存经常被访问(或者修改)的数据库对象的数据,也就是我们经常提到的Write Back Flash Cache(以下简称WBFC)特性。 2. 用于保存数据库的redo log I/O,这部分被称为Flash Logging。 3. 在智能闪存上直接创建grid disk 和磁盘组,保存数据库或者其他的数据,这部分被称为flash-based  grid disk。下面就开始逐一介绍这三种flash cache 功能。 对于WBFC,它是智能闪存最常见的使用方式。默认情况下,每一个flash cache card 会选择存储节点中的3块物理磁盘(每个存储节点包含4块闪存卡,12块磁盘)做为自己的partner,之后将对应磁盘中经常被访问的数据缓存到flash cache 中。而这部分被称为WBFC 的主要原因是,当有写操作要在对应的磁盘上执行时,这个操作只需要在flash cache上完成之后就会直接被返回给上层的数据库,而不需要在物理磁盘上也完成。Exadata 存储节点上的管理软件(cellsrv)会异步的将这些I/O同步到对应的磁盘上。下面的这些图形说明了WBFC 处理I/O的过程。 读操作,数据未缓存。 步骤1:数据库发出了读请求。 步骤2:存储节点上的cellsrv 软件从磁盘中找到相应的数据。 步骤3:cellsrv将数据返回给上层的数据库。 步骤4:cellsrv将同样的数据复制到WBFC当中。确保下一次读取操作可以直接从闪存中完成。 读操作,数据已缓存。  步骤1:数据库发出了读请求。 步骤2:存储节点上的cellsrv 软件从闪存中找到相应的数据。 步骤3:cellsrv将数据返回给上层的数据库。 写操作,数据未缓存。 步骤1:数据库发出了写请求。 步骤2:存储节点上的cellsrv 软件从闪存中没有找到需要的数据,之后在磁盘中找到了对应的数据。 步骤3:cellsrv通知上层的数据库写操作完成。 步骤4:cellsrv将同样的数据复制到WBFC当中。确保下一次写操作可以直接从闪存中完成。 写操作,数据已缓存。  步骤1:数据库发出了写请求。 步骤2:存储节点上的cellsrv 软件从闪存中找到相应的数据。 步骤3:cellsrv在闪存上修改数据。 步骤4:cellsrv通知上层的数据库写操作完成。 通过上面的说明可以看到,在数据被缓存到WBFC之后,读写操作对物理磁盘的访问都可以避免,从而提高了数据库的I/O性能。 对于运行OLTP类型应用的数据库,通常会产生大量的数据改变,也就是意味着会有大量的重做日志文件记录产生,对于重做日志所在的存储就有着很高的性能要求,很多时候对于重要的OLTP系统,哪怕是重做日志文件所在磁盘的短暂的性能问题都可能会对数据库性能造成很大的伤害。Flash Logging的功能可以很好地改善重做日志文件的I/O性能问题,它会在闪存卡中分配512M空间(默认配置)保存重做日志信息。当数据库产生一个重做日志记录时,它会同时被写入到磁盘上的重做日志文件和Flash Logging中,而最先返回的写入操作会直接通知数据库写入操作执行完成,而不需要等待两个介质都被写入完成才返回,从而提高了重做日志文件写操作的性能,而且能够避免任何一种介质出现短暂性能问题可能带来的性能下降问题。 智能闪存的最后一种使用方式就是在flash cache上直接创建grid disk,并将它们创建成磁盘组,之后用于保存数据库或者其他文件。这种配置并不是默认情况下就存在的,而且也不是推荐的用法,如果用户需要的话可以手动进行创建。 最后,介绍一些简单的命令来查看智能闪存的信息。 命令1:查看flash cache的详细信息。 CellCLI> list flashcache detail;  name:               dmorlcel05_FLASHCACHE cellDisk:           FD_01_dmorlcel05,FD_07_dmorlcel05,FD_15_dmorlcel05,FD_00_dmorlcel05,FD_11_dmorlcel05,FD_14_dmorlcel05,FD_02_dmorlcel05,FD_04_dmorlcel05,FD_12_dmorlcel05,FD_03_dmorlcel05,FD_09_dmorlcel05,FD_13_dmorlcel05,FD_08_dmorlcel05,FD_06_dmorlcel05,FD_05_dmorlcel05,FD_10_dmorlcel05 creationTime:       2016-04-14T16:57:09-04:00 degradedCelldisks: effectiveCacheSize: 2978.75G id:                 11a7984b-dc9f-4d8c-9cde-ca07d59b61cd size:               2978.75G status:             normal 命令2:查看flash logging的详细信息。 CellCLI> list flashlog detail; name:               dmorlcel07_FLASHLOG cellDisk:           FD_11_dmorlcel07,FD_08_dmorlcel07,FD_12_dmorlcel07,FD_04_dmorlcel07,FD_07_dmorlcel07,FD_10_dmorlcel07,FD_06_dmorlcel07,FD_15_dmorlcel07,FD_02_dmorlcel07,FD_00_dmorlcel07,FD_09_dmorlcel07,FD_03_dmorlcel07,FD_01_dmorlcel07,FD_05_dmorlcel07,FD_13_dmorlcel07,FD_14_dmorlcel07 creationTime:       2013-07-14T03:19:10-04:00 degradedCelldisks: effectiveSize:     512M efficiency:         100.0 id:                 607633ac-3ce0-4d5c-9501-6382f611028f size:               512M status:             normal 命令3:查看磁盘和智能闪存的对应关系。 CellCLI> list griddisk attributes name, cachedby DATA_DMORL_CD_00_dmorlcel07 "FD_02_dmorlcel07, FD_03_dmorlcel07, FD_01_dmorlcel07, FD_00_dmorlcel07" DATA_DMORL_CD_01_dmorlcel07 "FD_11_dmorlcel07, FD_09_dmorlcel07, FD_10_dmorlcel07, FD_08_dmorlcel07" DATA_DMORL_CD_02_dmorlcel07 "FD_11_dmorlcel07, FD_09_dmorlcel07, FD_10_dmorlcel07, FD_08_dmorlcel07" DATA_DMORL_CD_03_dmorlcel07 "FD_11_dmorlcel07, FD_09_dmorlcel07, FD_10_dmorlcel07, FD_08_dmorlcel07" DATA_DMORL_CD_04_dmorlcel07 "FD_14_dmorlcel07, FD_12_dmorlcel07, FD_15_dmorlcel07, FD_13_dmorlcel07" DATA_DMORL_CD_05_dmorlcel07 "FD_14_dmorlcel07, FD_12_dmorlcel07, FD_15_dmorlcel07, FD_13_dmorlcel07" DATA_DMORL_CD_06_dmorlcel07 "FD_02_dmorlcel07, FD_03_dmorlcel07, FD_01_dmorlcel07, FD_00_dmorlcel07" DATA_DMORL_CD_07_dmorlcel07 "FD_02_dmorlcel07, FD_03_dmorlcel07, FD_01_dmorlcel07, FD_00_dmorlcel07" DATA_DMORL_CD_08_dmorlcel07 "FD_05_dmorlcel07, FD_06_dmorlcel07, FD_07_dmorlcel07, FD_04_dmorlcel07" DATA_DMORL_CD_09_dmorlcel07 "FD_05_dmorlcel07, FD_06_dmorlcel07, FD_07_dmorlcel07, FD_04_dmorlcel07" DATA_DMORL_CD_10_dmorlcel07 "FD_05_dmorlcel07, FD_06_dmorlcel07, FD_07_dmorlcel07, FD_04_dmorlcel07" DATA_DMORL_CD_11_dmorlcel07 "FD_14_dmorlcel07, FD_12_dmorlcel07, FD_15_dmorlcel07, FD_13_dmorlcel07" 可以看到每块闪存卡对应三块物理硬盘。 命令4:查看闪存卡的模式 CellCLI> list cell attributes flashcachemode WriteBack

Exadata 作为能够提供高性能和高可用性的数据库一体机,既可以满足OLAP类型的应用,可也以满足OLTP类型的应用。对于后一种类型的应用,Smart Flash Cache(以下简称智能闪存)无疑为提高OLTP应用的性能提供了重要的保证。 首先,从硬件层面的角度,Exadata一体机的每一台存储服务器都包含了4块基于PCI的闪存卡用于保存数据。而从软件层面,Exadata 特有的存储服务器软件(c...

Exalogic

Exalogic工具包的实际应用

Exalogic工具包Exalogic Kinetic Infrastructure Tools(EKIT)是专为Oracle Exalogic虚拟化版本提供的一套自动化管理工具。 EKIT通过shell脚本调用Python程序以实现对Exalogic虚拟化的管理。这些工具在实际的IaaS命令行管理或API接口调用中实现了一个简化管理的作用,在实际应用中是非常有用的。 EKIT工具包的最新版本是2.0.6.2.5,可以从以下MOS文档下载到: Exalogic Kinetic Infrastructure Tools (EKIT): Set of scripts that provide common reusable command line infrastructure actions for Exalogic virtual platforms (Doc ID 1933252.1) 那么,这个工具包都提供了哪些实用的工具呢?通过下表可以对各个工具有一个简要的了解: MountSystemImg为虚拟机挂载系统镜像文件。 RenameRunningVServerLVM修改虚拟机的Volume Group(VolGroup00)和Logical Volume (LogVol00)。 ModifyJeosLVM修改LVM Volume Group和 Logical Volume,重命名Volume Group和Logical Volume并且对一个特定虚拟机的系统盘的RPM包进行编辑。 CompareAssemblies比较ListAssemblies的结果。 CaptureAccount使用某一账户下的全部虚拟机生成模板。 CaptureVServer 使用某一虚拟机生成模板。 CreateAssembly 通过JSON文件创建Exalogic的系统,包含ZFS、模板、私网vNet、卷、Distribution Groups以及虚拟机等。 CreateDistributionGroup 创建Distribution Group。 CreateNetwork 创建私网vNet。 CreateVolume 创建一个卷。 CreateVServer 创建一台虚拟机。 DeleteDistributionGroup删除Distribution Group。 DeleteNetwork删除私网vNet。 DeleteTemplate删除一个虚拟机模板。 DeleteVolume删除一个卷。 DeleteVServer删除虚拟机。 ListAccounts 列出账户。 ListDistributionGroups 列出某一账户下的distribution groups。 ListNetworks 列出某一账户下的网络。 ListTemplates 列出某一账户下的虚拟机模板。 ListVolumes 列出某一账户下的卷。 ListVServers 列出某一账户下的虚拟机。 RollbackAssembly 回滚CreateAssembly的操作。 UploadTemplate 上传虚拟机模板至EMOC。 ListVServerTypes列出虚拟机的类型。 ResizeVServers重置虚拟机的CPU和内存大小。 StartAssembly启动某一assembly下的全部虚拟机。 StartVServers启动虚拟机。 StopAssembly停止某一assembly下的全部虚拟机。 StopVServers停止虚拟机。 下面我们就以创建一台虚拟机为例看一看这个工具在虚拟机管理中的简单应用。 众所周知,通常创建一台虚拟机需要通过Ops Center的vDC管理中的创建虚拟机向导来实现的。下面的步骤创建了一台名为test0523的虚拟机: 【步骤1】输入虚拟机名字test0523; 【步骤2】选择虚拟机模板el_base_linux_guest_vm_template_20600;  【步骤3】选择虚拟机类型SMALL;  【步骤4】选择vNet名称pNet0610,并且指定IP分配方式为自动分配; 创建后,可以在Ops Center中看到这台正���运行的虚拟机test0523。 现在我们使用同样的配置再创建一台虚拟机。不过这次是使用EKIT工具包中的CreateVServer工具来完成的。 根据刚才的配置,仅需要在安装了EKIT的虚拟机里执行CreateVServer命令就可以了。那么,使用下面的命令,我们来创建一台与之前配置相同的名为test0524的虚拟机: # CreateVServer --user clouduser --passwordFile pwd.file --url https://ec1:9443 --account test_acct --name test0524 --type SMALL --template el_base_linux_guest_vm_template_20600 --networks pNet0610:auto: 在命令执行之后,可以使用ListVServer工具来列出这个新创建的虚拟机。 # ListVServers --user clouduser --passwordFile pwd.file --url https://ec1:9443 --account test_acct 运行结果如下: Validating Connection Valid Connection Connecting to accounte test_acct vServers in Account: test_acct     test0523     test0524 Disconnecting from account 由此看出,有了这些工具,Exalogic用户可以很容易的对Exalogic进行IaaS的平台化操作,也可以在作为API与用户的工具或者系统进行整合,以实现对Exalogic管理的目的。 更多信息,请参考MOS文档1933252.1中的EKIT用户手册。

Exalogic工具包Exalogic Kinetic Infrastructure Tools(EKIT)是专为Oracle Exalogic虚拟化版本提供的一套自动化管理工具。 EKIT通过shell脚本调用Python程序以实现对Exalogic虚拟化的管理。这些工具在实际的IaaS命令行管理或API接口调用中实现了一个简化管理的作用,在实际应用中是非常有用的。EKIT工具包的最新版本是2.0...

Exalogic

Exalogic日常维护最佳实践

我们经常会收到一些SR,是关于一些由于客户在日常维护exalogic系统时,没有按照正确的操作规范导致的问题。这里简要说一些exalogic系统日常维护的注意事项和最佳实践,避免引起一些额外的问题,甚至是整个系统宕机的严重事故。1.在EMOC console, OVMM console还有命令行都可以启动,停止,创建,删除vServer,那种方式是正确的(supported)的?通常只有在EMOC console的vDC management里启动、停止vServer、创建、删除vServer是正确的,其他方式可能会引起不被支持的配置(unsupported configuration)。关于详细的exalogic虚拟机(vServer)生命周期的管理,请参考文档:http://docs.oracle.com/cd/E18476_01/doc.220/e25258/proc.htm除非有专门的oracle文档说明且在oracle工程师的监督下,有时会用到OVMM console或者命令行启动、停止vServer。创建、删除vServer只能通过EMOC console进行。2.在EMOC console中,在Assets和vDC management 下边都可以启动、停止、删除vServer,那种方式是正确的(supported)?只有在vDC management中的操作才是正确的,从vDC management中删除vServer会导致严重的数据不一致性。3. 在EMOC console中,那些操作是允许的,那些是不被允许的?推荐在EMOC console中,所有的操作都局限于vDC management。这并不是说其他地方的操作不可以,比如Network 抽屉,创建网络也可以。但是建议除了vDC management中操作,其他地方的操作如果是您第一次操作,建议在oracle support工程师监督下操作,以免引起额外问题。 4. 是否可以对el control stack vServer做修改,比如    修改主机名    停止服务    更改IP地址    内核升级    为修复安全漏洞而坐的配置更改,等等除了打patch或者PSU(Patch set update,补丁集),不可以手工修改配置。曾经见过客户由于手工修改了EC vServer的主机名并重启了el control stack导致整个vDC management下边的信息都丢失。EL control stack vServer上边既不安装客户的应用,也没有终端用户可以访问的网络,客户应该聚焦于guest vServer的安全漏洞问题。注意:在EC vServer上安装EM Agent,是支持的。详见文档:http://docs.oracle.com/cd/E24628_01/doc.121/e35776/discovery_virtual.htm#EMEXL1075. 在Exalogic 虚拟化环境中,是否可以对计算节点(dom0)做配置更改,安装应用,比如:    设置 profile名字    禁用服务    卸载RPMs包    安装额外的RPM包或者服务    内核更新    为修复安全漏洞而坐的配置更改,等等 除了oracle 补丁和PSU或者特别说明,不可以对计算节点dom0做任何的配置更改或安装任何应用,包括上边列出的所有项目。计算节点(dom0)上不可以运行任何客户的应用,也不能通过终端客户的网络直接访问(通常是internet),所以客户应该聚焦于guest vServer(domU)上的安全漏洞问题。在dom0上安装额外的应用包需要oracle exalogic开发的评估和审核。如果一定要安装,请提交SR,并在SR中提供充分的说明,解释为何需要安装该软件包(应用)。6. 关于Exalogic的系统备份不管什么系统,定期的做备份都是有备无患的。我们确实见到一些case,由于客户没有做备份,同时删除了一些重要数据导致系统无法复原。请参考如下文档定期备份exalogic系统。其中ExaBR工具使用起来简单方便,结合外部存储设备,可以很好的完成备份恢复的工作。Backup and Recovery Using ExaBRBackup and Recovery GuideExalogic Backup and Recovery Best Practices - Oracle White Paper7. 关于升级PSU发现国内的用户很少定期打Exalogic PSU,Exalogic几乎每个季度都会发布一个PSU,里边包含了对操作系统,Infiniband 交换机以及ZFS Storage Appliance一些BUG的修复或者升级,以及一些安全漏洞的修复。 为了系统安全稳定的运行,建议我们定期打Exalogic/weblogic PSU, 最迟不要超过一年。最近我们遇到几个宕机的问题,都是由于系统长期运行两三年,从来没有重启系统,也没有打PSU导致触发一些已知BUG导致的。如果打上PSU,这些BUG机会呗修复,就不会导致后来的系统宕机。8. 建议安装使用EM Cloud ControlEM Cloud Control(EMCC) 不同于EMOC, 他独立于exalogic,可以监控基本所有的oracle软件,硬件产品。建议客户安装使用EMCC 来监控exalogic,不仅可以对系统的硬件健康状态做监控,比如计节点,交换机,ZFSSA存储,也可以对软件比如操作系统的CPU/内存/磁盘空间等以及weblogic中间件服务器等等其他oracle软件产品做健康监控。这样有助于第一时间了解系统健康状态,修复问题,避免时间耽搁引起更严重的问题。详细的安装使用EMCC,请参考文档: Managing Exalogic with Oracle Enterprise Manager

我们经常会收到一些SR,是关于一些由于客户在日常维护exalogic系统时,没有按照正确的操作规范导致的问题。 这里简要说一些exalogic系统日常维护的注意事项和最佳实践,避免引起一些额外的问题,甚至是整个系统宕机的严重事故。 1.在EMOC console, OVMM console还有命令行都可以启动,停止,创建,删除vServer,那种方式是正确的(supported)的?通常只有在EMO...

ODA

ODA组件更换策略

      ODA上的可更换的组件中,有一类是需要oracle工程师去现场进行操作的,这类组件的更换策略我们称其为field-replaceable units (FRUs)。       另外一类组件是需要客户自己来做替换操作。客户不要有特殊的技能,知识或工具,只需要按照oracle提供的官方文档的操作步骤,就可以快速的,安全的简单更换。这类组件的更换策略我们称其为Customer Replaceable Unit (CRU)。       一些组件可以在系统运行的情况下更换,我们称这种更换方式为Hot-swappable:另一些组件需要停掉需要更换的组件所在节点,这种更换方式叫Cold service, server node;还有一些组件需要把所有节点都停掉才能更换,这种更换方式叫Cold service, system chassis。       一旦组件需要更换确认后,Oracle会根据上面列表来派不同的FS task。       对于CRU的组件,我们会把备件尽快发到客户现场,客户根据已有官方文档来进行更换。更换完成后,需要把有问题的备件寄回给oracle。       对于FRU的组件,我们会派工程师及备件到客户现场进行更换。       随着ODA版本的不断更新,有些老客户发现以前FRU的组件在新版本中也变成了CRU。这是因为ODA在设计上不断进行改进,使其在维护上更为方便,安全,简单,快捷。客户可以独立完成对问题组件的更换。相信在未来版本中,CRU的组件会越来越多。 更多信息请参考下面ODA手册: http://download-adc.oracle.com/archive/cd_ns/E22693_01/doc.12/e23342.pdf

      ODA上的可更换的组件中,有一类是需要oracle工程师去现场进行操作的,这类组件的更换策略我们称其为field-replaceable units (FRUs)。     ...

ODA

Oracle Database Appliance介绍

Oracle Database Appliance介绍 如果说Exadata数据库云平台是专为性能而设计的,那么Oracle Database Appliance(以下简称ODA)就是专为简单而设计的。ODA具有以下特点,这使它成为中等规模的企业最佳解决方案。 易于部署,管理和维护 同级别最好的可用性 同级别最好的性能 内置的可扩展性 按需扩容的license模式 在一个盒子里的解决方案 可选的存储扩展  从上图外观来看,与Exadata数据库云平台庞大的体积不同,ODA显得小巧多了(具体大小因不同型号而不同)。 存储架构  以X4-2为例,在每个服务器节点拥有2块HBA卡。当一块HBA卡发生故障时,可通过另外一块HBA卡继续访问磁盘(Multipath软件将透明地为数据库管理两条路径)。 2个IO模块 (Controllers)。每个IO模块都连到所有24块磁盘上,来防止单点故障。ASM提供Normal或High redundancy来保护数据。  在ODA 12.1.2.0.0上的数据库默认都将创建在ACFS上;所有11.2.0.4.x版本的数据库都将创建在ACFS上。所以,你可以看到,ODA的存储架构是:磁盘-〉ASM磁盘组-〉ACFS-〉各种文件系统 (用于datafile,redo,archive,etc)        为了满足不同客户的需求,ODA提供了两种部署选项:        1. Bare Metal        这是早期版本默认的部署方式。ODA在出厂时默认以这种方式安装。说的通俗一点,就是一台小型的数据库一体机。基于Oracle最佳实践进行配置,以达到最佳性能。上面安装了Oracle Enterprise Linux以及最新版本的Grid Infrastructure和数据库软件。        用户部署起来也特别简单,只需要下载最新版本的软件EndUserBandle(这里面包含了当前PSU和critical one off patch的Grid Infrastructure 和 Database file),通过一个wizard来进行配置:        为了方便部署,ODA还为性能定制了不同资源需求的数据库模板。        2. Virtualization        因为业务量的原因,一些客户感觉在ODA只运行数据库有点浪费,希望能充分利用资源,在上面也可以部署一些应用。为了满足客户的需求,增加这种部署方式。通过虚拟化方式把每个服务器进行分区,即可以使数据库和应用的负载隔离,又可以使多个应用有效的共享平台。大部分客户在购买ODA时也都是看中了虚拟化这一特性。所以,下面就来聊一聊ODA的虚拟化。       ODA的虚拟化平台为用户提供了以下解决方案: 多个应用有效的共享平台 隔离数据库与应用的负载 为每个分区增加或减少虚拟CPU的数量 为数据库和应用提供按需求增长付费的价格(Pay As You Grow)       ODA虚拟化平台的部署方式也是非常简单的,用户只需要非常少的步骤就能完成。        在ODA虚拟化平台部署完成后,在每个节点就会出现两个域Dom0和ODA_BASE (也叫Dom1)。 ODA虚拟化平台是通过在ODA上安装Oracle VM实现的。使用Oracle VM把每个服务器进行分区,承载多个负载。        上图中可以看到,共享存储直接连接到ODA_BASE上(因为只有ODA_BASE能访问及管理共享存储)。在ODA_BASE上包含着三个名字叫fs1, fs2, fs3的repository。每个共享repository是一个在ODA_BASE中基于ASM disk group (DATA or RECO)创建出来的Oracle Automatic Storage Management Cluster File System (Oracle ACFS)。然后通过私有网络使用NFS export方式挂载到Dom0上。为了高可用性,Oracle推荐在ODA虚拟化平台上使用shared repositories,把这些repository挂载到不同的节点上(比例fs2和fs3),也可以挂载到两个节点上(比例fs1)。然后在这个repository上面创建虚拟机。        接下来具体介绍一下这些域。        Dom 0        通过Virtualization方式部署后的默认域。用来引导其它分区。使用初始的CPU Core许可来创建ODA Base分区。上面运行着Oracle VM Server, 负责管理ODA Base的Oracle Appliance Manager Daemon (OAKD),以及OracleHardware Management Pack。        ODA Base        名字看上去就很有特点,这个分区上面运行着Oracle Appliance Manager Daemon (OAKD) , Grid Infrastructure,以及database软件。这也是一个特权域,只有ODA Base可以访问共享存储。为了使数据库获得本机IO吞吐量,所有共享磁盘都通过PCI透传技术直接连到ODA Base上,这样共享磁盘只能由ODA Base管理,从而保证了数据库的性能。        Dom U        用于放置Guest VM的域。在这些域上可以部署应用。在ODA Base上通过ASM创建ACFS文件系统,并通过NFS export及NFS mount挂载到Dom 0上供给Dom U来使用,并创建出新的Guest VM。        ODA管理        Oracle Appliance Manager Daemon (OAKD)为ODA提供了非常方便的命令行管理工具oakcli。比如ODA Base及guest VM的部署,数据库的升级,网络的配置等等。以后的blog中会进行具体的介绍。        ODA网络        在ODA上,物理网卡之间两两进行绑定。比如:eth0和eth1绑定成icbond0,eth2和eth3绑定成bond0,eth4和eth5绑定成icbond1(见下图)。ODA Base的网卡与物理网卡的对应关系是: ODA_BASE的NetFront Devices<--> Dom0的NetBack Devices。        通过以下命令可以查看网卡与bridge的对应关系。        [root@oda1-d01 etc]# brctl show        bridge name bridge id STP enabled interfaces        net1 8000.0010e03b2f58 no bond0        net2 8000.0010e03b2f5a no bond1        priv1 8000.90e2ba4fdaac no icbond0        [root@oda1-d0 etc]# oakcli show vlan        NAME ID INTERFACE NODENUM        net2 1 bond1 0        net1 1 bond0 0        net2 1 bond1 1        net1 1 bond0 1        以下IP地址在ODA中是固定的,所以在ODA所在的网络环境中,尽量不要使用192.168.16网段。不要占用这些IP地址。        两个节点的Dom0的private ip分别是:192.168.16.24/192.168.16.25        两个节点的ODA_BASE的private ip分别是:192.168.16.27/192.168.16.28        VLAN 支持        因为ODA服务器的网络数量是有限的(比如:ODA X4-2 有两个绑定的网络接口供用户使用),如果用户需要更多网络,就必须把一个或多个网络接口拿出来共享。ODA使用VLAN为多个负载共享网络提供安全隔离。        至此,我们对ODA的架构进行了一个简单的介绍,在以后的blog中还会对ODA的管理,日志的收集等进行进一步的介绍。

Oracle Database Appliance介绍 如果说Exadata数据库云平台是专为性能而设计的,那么Oracle Database Appliance(以下简称ODA)就是专为简单而设计的。ODA具有以下特点,这使它成为中等规模的企业最佳解决方案。 易于部署,管理和维护 同级别最好的可用性 同级别最好的性能 内置的可扩展性 按需扩容的license模式 在一个盒子里的解决方案 可选的存储扩展  从上图外观...

Exalogic

部署在Exalogic中的Java应用如何使用SDP

在Exalogic中部署的Oracle中间件产品,比如Weblogic,SOA,OSB等,使用SDP取代传统的TCP-IP,通过Infiniband网络,可以显著的减少延迟和提高吞吐量。SDP的实现起初是限制在Jrocket JVM (1.6)的内部API当中,并且只能适用于Oracle的产品,比如Weblogic。然而, SDP作为通用的性能已经被加入到Java 7(Hotspot JVM)和以后版本当中。因此,任何使用Java开发的应用都可以使用SDP并利用SDP的优点来取代传统的TCP-IP。关于SDP的特点,可以参考下面文档去理解 - Understanding the Sockets Direct Protocol。下面的代码是在Exalogic X2-2编写和测试过的,同样的代码也适用的X3到X5的Exalogic虚拟化和物理化环境。如果想在你的应用中使用SDP,你仍然可以按照通常的办法使用相同的Java socket API,我们只需要在一个配置文件里面指定SDP而非TCP-IP。下面的例子是服务器端和客户端的Java程序,首先已经在Linux X86上面通过以太网进行了测试。如果你想要在你的环境中运行这个程序的话,点击此处下载。下面是Server端主程序的核心代码,从socket接受从客户端发来的字符串,在console中打印并且回复确认信息。    try (ServerSocket serverSocket = new ServerSocket(port)) {        info("Running server on port " + port);    while (true) {        try (Socket socket = serverSocket.accept();        BufferedReader in = new BufferedReader(            new InputStreamReader(socket.getInputStream()));            PrintWriter out = new PrintWriter(            new BufferedWriter(new OutputStreamWriter(                        socket.getOutputStream())))) {            String msg = in.readLine();            info("Server received message: " + msg);            out.println("ACKNOWLEDGED (" + msg + ")");            out.flush();            }        }    }下面是客户端的核心代码。通过socket发送一条文本信息到服务器端,并且打印出服务器端的返回信息。    info("Running client connecting to " + host + ":" + port);    try (Socket socket = new Socket(host, port);        PrintWriter out = new PrintWriter(new BufferedWriter(            new OutputStreamWriter(socket.getOutputStream())));        BufferedReader in = new BufferedReader(            new InputStreamReader(socket.getInputStream()))) {        info("Client sent message: " + SEND_MESSAGE_TEXT);        out.println(SEND_MESSAGE_TEXT);        out.flush();        info("Client received message: " + in.readLine());    }通过上面服务器端和客户端的代码我们可以看到,使用的都是标准Java 1.7的java.net.*和java.io.* 的API。没有其它特殊的地方。现在将服务器端和客户端程序分别移植到两台Exalogic的计算节点或者两台虚拟化的vServer中。在这个实例中,我选择了虚拟化Exalogic PSU 2.0.6.2.4两台vServer作为测试环境,同时使用了下面的JVM参数来启动Java服务器端和客户端程序以保证程序可以使用SDP。 -Dcom.sun.sdp.conf=/u01/myshare/sdp.conf -Djava.net.preferIPv4Stack=true -Dcom.sun.sdp.debugcom.sun.sdp.debug 作为额外的参数而被使用,因为这个参数可以让JVM在console中打印更多的信息,同时可以判断应用程序是否正在使用SDP。在配置文件sdp.conf文件中,我们定义了下面的内容: bind * * connect 192.168.0.101 1234上面第一行说明:如果应用程序需要打开socket来监听本地所有网络的IP地址的话,JVM将会使用SDP。第二行说明:如果应用程序打开一个新的socket来连接远程的host:port 即192.168.0.101:1234,JVM将会使用SDP。SDP配置文件一共含有两种类型的规范,bind和connect。如果你想了解更详细的信息,请参考文档:http://docs.oracle.com/javase/tutorial/sdp/sockets/file.html。下面通过封装的bash脚本在两台vServer上面运行服务器端程序和客户端程序,使用的协议是SDP。 [jimmy @jimmy_vserver2]$ ./runserver.shBIND to 0.0.0.0:1234 (socket converted to SDP protocol) INFO - Running server on port 1234 INFO - Server received message: Hello from Java socket client program [jimmy @jimmy_vserver1]$ ./runclient.sh INFO - Running client connecting to 192.168.0.101:1234CONNECT to 192.168.0.101:1234 (socket converted to SDP protocol) INFO - Client sent message: Hello from Java socket client program INFO - Client received message: ACKNOWLEDGED (Hello from Java socket client program)上面的测试表明,客户端成功地发送一条消息到服务器端并收到返回确认消息。粗体字是相关的debug输出并且证明了我们正在使用SDP。为了进一步证明我们程序确实是正在使用SDP,我们运行操作系统的网络命令来进行验证: [jimmy@jimmy_vserver2]$ sdpnetstat -al | grep sdp sdp 0 0 *:search-agent *:* LISTEN 上面的命令表明服务器端程序正在使用SDP来监听所有的本地IP地址。如果我将服务器端进程给Kill掉,然后再次运行命令sdpnetstat ,将不会有任何SDP监听程序。为了进一步进行测试,我们将服务器端程序再次启动来监听SDP。在客户端,我们修改SDP配置文件,将connect的值注释掉,这样客户端将使用TCP-IP来连接服务器端。重新运行客户端程序,我们将看到下面的错误,因为客户端尝试使用TCP去连接远程的SDP监听程序。同时,请注意粗体字,JVM debug输出表明在SDP配置文件中没有SDP匹配。 [jimmy@jimmy_vserver1]$ ./runclient.sh INFO - Running client connecting to 192.168.0.101:1234CONNECT to 192.168.0.101:1234 (no match) java.net.ConnectException: Connection refused     at java.net.PlainSocketImpl.socketConnect(Native Method)     at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)     at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)     at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)     at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:391)     at java.net.Socket.connect(Socket.java:579)     at java.net.Socket.connect(Socket.java:528)     at java.net.Socket.(Socket.java:425)     at java.net.Socket.(Socket.java:208)     at testsocketcomms.Client.sendMessage(Client.java:35)     at testsocketcomms.Client.main(Client.java:21)上面的例子是不是表明在Exalogic中使用SDP非常的简单?!仍然使用标准的Java socket编程,只需要在配置文件里面指定SDP就可以了。注意:1)如果需要进行测试,下载源代码之后请修改相关的配置信息,比如JDK_HOME,SDP_CONF和sdp.conf文件中connect的IP信息。2)为了更好的在Exalogic中利用Infiniband和SDP,请使用IPoIB网络。

在Exalogic中部署的Oracle中间件产品,比如Weblogic,SOA,OSB等,使用SDP取代传统的TCP-IP,通过Infiniband网络,可以显著的减少延迟和提高吞吐量。SDP的实现起初是限制在Jrocket JVM (1.6)的内部API当中,并且只能适用于Oracle的产品,比如Weblogic。然而, SDP作为通用的性能已经被加入到Java...

ZDLRA

零数据丢失恢复一体机(ZDLRA)

适用于:     实施企业级Oracle数据库备份以及管理零数据丢失恢复一体机(英文全称Zero Data Loss Recovery Appliance ,以下简称ZDLRA)的相关人员。 目的:     深入了解ZDLRA的体系架构,以及硬件软件的组成。并深入了解相关的核心组件技术。 内容: 一、简介     ZDLRA是一个云级别的工程系统设备,设计它的目的是为了保护所有跨企业的oracle数据库。几乎所有的oracle数据库的备份和恢复过程都可以在它上面进行,并且对存储的利用、性能监测和备份的管理更加高效。ZDLRA利用了RMAN的“incremental-forever”的策略可以在统一的存储设备上保存和管理多个Oracle数据库备份。利用持续的压缩、去重和数据块级别校验等技术来及时构建虚拟的数据库全备份。这个虚拟的数据库全备份其实就是一个数据库在一个时间点上的唯一镜像,ZDLRA通过被保护的数据库增量备份的索引来维护这个虚拟备份。ZDLRA是Oracle推出又一个优异的一体机产品,在性能,扩展性和可管理性都有着非常好的表现。 二、硬件架构     目前 Oracle 推出的恢复一体机有两种硬件配置,X4-2 和 X5-2。每一种配置中,客户可以根据自身需求去决定购买哪种配置。从如下表格能看到除了本身节点的硬件从X4-2变成了X5-2之外,单个rack的存储服务器的最大扩展数量也从14增大到18,并达到满额的配置。这个硬件配置基本和Exadata的四分之一配相同。其中每一个存储服务器都包含12块高容量的SAS硬盘。 ZDLRA - X4 硬件基础配置 ZDLRA - X5 硬件基础配置 三、ZDLRA 环境     如下是ZDLRA的整体架构图,各个组成部分构成了Oracle对企业级数据库及数据库群的备份恢复解决方案。保护的数据库相当于客户端数据库,它们通过RMAN调用Oracle提供的备份模块把数据库备份从网络上传输到ZDLRA上,这个阶段用到了永远的增量备份和实时的redo传输技术。当备份数据传输到ZDLRA上时,通过Delta Store技术进行压缩、校验、存储并构成虚拟的数据库全备份。恢复目录和ZDLRA的一些Metadata数据都会保存在Metadata数据库中,数据库备份的位置信息也保存在这个数据库中。被保护的数据库就是利用恢复目录将备份数据传输到ZDLRA上。管理员们可以通过Oracle企业管理器对ZDLRA的整个环境进行管理和监控,比如设置数据库的保护策略,查看哪些数据库的哪些备份在磁盘上还是在磁带上。它还可以监控多个ZDLRA设备,和磁带设备。对于存储在ZDLRA上的数据库备份,可以通过OSB(Oracle Secure Backup)备份到特定的磁带库上,对备份数据进行有效的磁带归档,也可以复制数据到另一台ZDLRA上,便于数据的多重保护。 四、关键技术 4.1 保护的数据库     每个被保护的数据库使用ZDLRA作为rman备份和恢复的中心。它们将备份统一发送到ZDLRA上,并且使用matedata数据库上的恢复目录。在正常工作之前,需要进行一些访问配置,这个配置包括:创建适当的用户,分配访问权限,以及设置对数据库的保护策略,还包括ZDLRA与每个数据库之间的连接认证。这个阶段分为如下三部分: 4.1.1  备份模块     这个模块是oracle 提供的SBT(System Backup to Tape)程序库,RMAN通过它将备份的数据通过网络备份到ZDLRA上,它可以在不同的设备上传输数据,比如从一个磁带设备到ZDLRA上进行数据传输。备份模块必须安装在oracle home里,假如一个主机上装了两个oracle home, 一个11g的,另一个是12c的,一个备份模块只支持5个保护的数据库,我们必须在每个home下安装一个备份模块才能保护这个两个home下10个数据库。 4.1.2  保护策略     保护策略其实就是赋予多个受保护的数据的属性的集合,通过它更好的减少管理的时间。通过一个操作可以改变多个保护数据库的属性。为了适应不同数据库的备份和恢复需求,需要定义不同的策略。可以使用DBMS_RA.CREATE_PROTECTION_POLICY过程和企业管理器进行设置。如下表格是默认安装的保护策略: 4.1.3 支持保护的数据库版本     目前支持保护的数据库版本有10.2.0.5,11.2.0.3,11.2.0.4,12.1.0.2及更高版本。其中一些特殊的功能在其中的版本中不支持。更多信息请访问My Oracle Support 文档(Doc ID 1995866.1)。 4.2  delta push       delta push和delta store是ZDLRA上的核心技术,这两个技术解决了保护数据库备份的传输和在ZDLRA上的存储问题。首先我们先介绍一下delta push。它分成两个操作:永远的增量备份策略和实时的redo传输。 4.2.1  永远的增量备份策略     对于保护的数据库,只需要做一个0级的增量备份并传输到ZDLRA上就可以了,对于一个磁带的全备份,这个0级的增量备份不会包括提交的undo块或者当前没有用到的数据块。由于除了开始的时候做了一个0级的全备份,以后不需要全备份。因此永远的增量备份策略极大的减少了备份窗口的设置工作和备份负载。正常情况下,系统会自动执行如下操作:从保护的数据库上接受1级的增量备份的计划安排;验证传输过来的备份用来继续保护物理数据块的损坏;使用特殊的块级别的算法对备份进行压缩;将备份写到ZDLRA存储位置上的delta store里。 4.2.2  实时的redo传输     所有对数据库的改变全部保存在redo里,如果数据损坏时redo可以最大程度减少数据的丢失。用实时的redo传输特性可以最大程度避免当archived log 损坏时的数据丢失。当实时的redo传输启用时,在受保护的数据库端的内存中生成redo的改变,并立即将它们传输到ZDLRA上,验证之后,将其写到存储区域。当保护的数据库进行在线log switch时,ZDLRA将这些redo的改变转换和装配到压缩的归档日志文件的备份里。ZDLRA目录可以自动跟踪归档日志备份它自己的恢复目录。RMAN可以像正常一样还原和应用这些归档日志。这种机制有很多益处,第一,在rodo传输流突然中断时, ZDLRA 可以马上关闭正在到来的redo 流,并生成部分的归档日志备份,从而保护了事务最后对数据的改变。当检测到redo 传输流重新启动时,它会从保护的数据库端自动接收所有丢失的归档日志,这样ZDLRA才能保护预设的恢复窗口目标。另外一个益处是由于只是转换和传输在线redo 日志,不需要传输归档日志,从而减少了开销。 ZDLRA 不会应用传输过来的redo,只是在delta store里构建虚拟的0级备份和相关的1级的备,只有在用0级备份来恢复数据库时用到这些redo进行前滚操作。 4.3  ZDLRA metadata 数据库     这个数据库是ZDLRA上最关键的组件,它管理了所有备份的metadata和rman的恢复目录。下图展示了metadata 数据库的整体结构。     被保护的数据库通过delta push的技术将redo 和增量备份传输到ZDLRA上的Delta Store里,具体的文件存放在相应的Delta pools里,由Delta pools 来维护一个虚拟全备份。Delta Store的保存位置其实就在ZDLRA的Oracle 的ASM 磁盘组里。保护数据库的contorl file的备份metadata也会保存在这个metadata数据库中。这个数据库包括了Dalta store 的metadata,恢复目录和ZDLRA的schema信息。 4.3.1 Delta Store     所有被保护的数据库的备份数据和归档日志的备份数据都会保存在Delta Store。具体的存储位置在ZDLRA的磁盘组里。 4.3.2  Delta Pools      Delta Store相当于Delta Pools的集合。ZDLRA 接受保护数据库的备份数据后,将其放在delta pools 里,并建立相应的索引。ZDLRA构建虚拟的全备份其实就是一套完整的数据库文件块并保存在Delta Pool 里。每一个接受的备份的数据文件都会有一个单独的Delta Pool 。数据文件1是来自数据库A的,那么数据文件1就有一个单独的delta Pool,同理,数据文件100是来自数据库B的,那么数据文件100也有自己单独的Delta Pool。 4.3.3 虚拟全备份     Delta Store中最重要的技术就是构造虚拟全备份的技术。这种技术是依靠每天传输过来的增量备份构造一个虚拟的全备份。如下图所示,第一天(day0)构造出全备份,其它四天中,每天都会构造出增量备份数据的虚拟全备份。通过这种技术data store中可以储存基于每个时间点上完全的数据库镜像。 4.3.4  自动的Delta Pools 空间管理     ZDLRA 提供一些功能对这个Delta Pools空间 进行自动有效的管理,他们包括:定义哪些备份在ASM里或是磁带里已经超出了恢复窗口和磁带的保留策略已经废弃和过期了。如果有恢复操作,标识哪些数据块不再需要。为了改善存储操作的性能,ZDLRA会对Delta Pool进行有效的存储优化。 4.4  ZDLRA存储     Oracle ASM提供了ZDLRA对数据库备份和归档redo log的物理共享存储。 在ZDLRA以外来看,有很多可选的文件系统路径来存放这些备份数据和redo日志。当实时的redo传输启用时,会在ASM里创建临时的存储区域来放置redo 流。并且不断搜集redo数据到归档日志文件,然后压缩这些归档日志文件的备份到ASM的存储区域。ZDLRA的存储位置为占用ASM磁盘组的空间。默认情况下,Delta pool 被存储在normal的磁盘组DELTA里。ZDLRA的medata的数据库放在了high冗余策略的磁盘组CATALOG中。 五、EM 管理     EM里可以对ZDLRA的各个组件进行管理。如下是管理界面,只作为参考。 六,参考资料  ZDLRA 官方文档: https://docs.oracle.com/cd/E55822_01/AMAGD/amagd_concepts.htm#AMAGD573

适用于:     实施企业级Oracle数据库备份以及管理零数据丢失恢复一体机(英文全称Zero Data Loss Recovery Appliance ,以下简称ZDLRA)的相关人员。 目的:     深入了解ZDLRA的体系架构,以及硬件软件的组成。并深入了解相关的核心组件技术。 内容: 一、简介   ...

Exadata

Exadata系统资源监控工具Exawatcher

众所周知,OSWatcher 是一系列 UNIX shell 脚本的集合,主要用于收集操作系统及网络信息,以便诊断因为操作系统资源问题导致的性能问题。但是由于Exadata数据库云平台的特殊性,比例在Exadata上RAC节点之间是通过infiniband交换机进行私网交互,需要在原有OSWatcher的基础上增加对这类系统资源的监控。所以从11.2.3.3版本开始, Oracle在Exadata数据库云平台上重新设计了一款全新系统信息收集及诊断工具ExaWatcher来代替OSWatcher。本文将对ExaWatcher进行一些简单的介绍。 特殊模块 因为Exadata数据库云平台通过infiniband交换机对存储进行访问及RAC节点之间的私网交互,所以在ExaWatcher中加入了infiniband相关信息的监控。以及存储磁盘相关的监控等。以下是这些监控模块的简单介绍。 - Diskinfo.ExaWatcher # 收集模块: DiskinfoExaWatcher # 收集命令: /bin/cat /proc/diskstats 通过这个模块显示磁盘、分区和统计信息,查看出具体的磁盘IO压力。 - IBCardInfo.ExaWatcher # 收集模块: IBCardInfoExaWatcher # 收集命令: /opt/oracle.ExaWatcher/IBCardInfoExaWatcher.sh 2>/dev/null 通过这个模块查看通过HCA卡端口查看节点之间的交互信息。 - IBprocs.ExaWatcher # 收集模块: IBprocsExaWatcher # 收集命令: /bin/cat /sys/class/net/bondib0/bonding/active_slave # 收集命令: /bin/cat/sys/class/net/ib0/carrier # 收集命令: /bin/cat/sys/class/net/ib1/carrier # 收集命令: /usr/sbin/ibstatus # 收集命令: /usr/bin/ibv_devinfo 通过这个模块查看每个服务器上HCA卡相关信息。 - LGWR.ExaWatcher # 收集模块: LGWRExaWatcher # 收集命令: /opt/oracle.ExaWatcher/LGWRExaWatcher.sh 通过这个模块查看收集系统调度器统计信息。 - Lsof.ExaWatcher # 收集模块: LsofExaWatcher # 收集命令: /usr/sbin/lsof +c0 -w +L-b -R -i # 收集命令: /usr/sbin/lsof +c0 -w +L-b -R -U # 收集命令: /usr/sbin/lsof +c0 -w +L1-b –R 通过这个模块查看当前系统打开文件。 - MegaRaidFW.ExaWatcher # 收集模块: MegaRaidFWExaWatcher # 收集命令: /opt/MegaRAID/MegaCli/MegaCli64 fwtermlog dsply -a0 通过这个模块查看raid卡日志信息。 - RDSinfo.ExaWatcher # 收集模块: RDSinfoExaWatcher # 收集命令: /opt/oracle.ExaWatcher/RDSinfoExaWatcher.sh 2>/dev/null 通过这个模块私网交互过程中数据包的传输情况。 维护方便 ExaWatcher日志保留方式与之前的 OSWatcher 不同。ExaWatcher 调用维护模块 ExaWatcherCleanup 确保其磁盘空间使用维持在特定值以下。此模块会检查 ExaWatcher 当前使用的磁盘空间大小,如果超过特定阀值(默认数据库节点3GB/存储节点600MB),那么旧数据会被删掉。 当出现性能问题时,我们需要收集问题时间点的OSWatcher日志进行分析。但是这个收集的过程,因为生成的日志文件是按照文件类型而不是按照生成时间保存在不同的目录下。需要对操作系统命令有一些了解才能快速收集。 但是在ExaWatcher中,加入了具体的命令GetExaWatcherResults来收集日志信息。且更为方便多样化。我们可以指定收集一个时间段的日志;可以指定一个时间间隔来收集日志。可以通过指定 [-d|--archivedir] 参数修改日志生成的目录。比如: 基于开始/结束时间的收集: # ./GetExaWatcherResults.sh –from 01/25/2014_13:00:00 --to01/25/2014_14:00:00 基于时间间隔的收集。收集13:00前后各4小时的数据: # ./GetExaWatcherResults.sh –at 01/25/2014_13:00:00 --range 4 将默认输出文件夹为 /opt/oracle.ExaWatcher/archive/ExtractedResults; 修改为/tmp/ExaWatcherArchive: # ./GetExaWatcherResults.sh –from 01/25/2014_13:00:00 --to01/25/2014_14:00:00 –archivedir /tmp/ExaWatcherArchive 更多关于 ExaWatcher 的信息可以通过以下命令查看: # ExaWatcher.sh --help # ExaWatcherResults.sh –help 以上对Exadata数据库云平台上的操作系统资源监控工具ExaWatcher进行简单的介绍。ExaWatcher还在不断的完善中。比如OSWatcher上有图形化的分析工具OSWatcher Analyzer (oswbba)对产生的oswatcher数据进行分析。但是Exawatcher还没有这部分功能。但是相信在不久的将来也会把这个功能整合进来。

众所周知,OSWatcher 是一系列 UNIX shell 脚本的集合,主要用于收集操作系统及网络信息,以便诊断因为操作系统资源问题导致的性能问题。但是由于Exadata数据库云平台的特殊性,比例在Exadata上RAC节点之间是通过infiniband交换机进行私网交互,需要在原有OSWatcher的基础上增加对这类系统资源的监控。所以从11.2.3.3版本开始, Oracle在Exadata数据库...

Exadata

Exadata上的健康检查工具(exachk)

Exachk 是Exadata上的健康检查工具,它的作用是使Exadata机器发挥出最大的性能。 Oracle在Exadata机器上面有它的最佳实践和一些配置的建议值,我们定期使用exachk这个工具收集机器上的系统信息,并结合这些最佳实践和建议值,可以及时发现有哪些潜在的问题。然后把这些隐患消除,最终保障Exadata系统的稳定运行。 既然Oracle能够提供配置建议和最佳实践,那么这个工具就会定期地不断被更新优化。所以我们每次用到exachk的时候最好下载最新版本的。exachk 工具可以从下面文档中的附件得到,针对HP硬件的健康检查脚本是HealthCheck。 Oracle Exadata Database Machine exachk or HealthCheck (Doc ID 1070954.1) Exachk 工具使用起来非常简单,它会自己读取系统文件的相关信息。检查的组件包括数据库服务器,storage存储服务器,InfiniBand 和 Ethernet网络。exachk 收集出来信息很全,省去大量人工收集的繁琐步骤。对于敏感信息也可以放心, 因为收集的全部信息都是针对Exadata的可用性和稳定性, 还有数据库架构的安全性等方面,并不会涉及数据库内容的任何业务数据。它会很智能的分析当前系统与Oracle最佳实践的差异,并将收集的信息进行排序,优先显示出目前最大的风险。而且在执行的过程中几乎对系统没有任何影响。 收集完成后,可以在整体上对系统的健康状况做一个评估,该报告包含软件、硬件、固件版本、配置等方面信息。 我们建议更改系统配置的前后去执行exachk, 或者升级打补丁等等。所以它应该列入到我们日常的数据库维护计划中。 当前最新Exachk的版本是12.1.0.2.5_20151023; 下载后解压可以得到三类文件, 分别是校验文件 (md5sums); 指令文件 (exachk.zip); 文档文件 (Documentation_and_Examples)。 这里简单介绍一下基本的操作和步骤: 1. 把指令文件exachk.zip上传到一个数据库服务器节点上 推荐路径 /opt/oracle.SupportTools/exachk 2. Unzip 解压exachk.zip 3. 推荐使用root用户去执行exachk (可以考虑使用VNC避免网络中断) <从12.1.0.2.2版本起, Oracle推荐使用root去执行exachk> 执行exachk的时候,会有一些提示信息需要输入Yes or No,确认您是否从系统收集数据,并给你一些选项,同时需要输入密码 (exachk 是不会保存密码文件到操作系统),然后脚本开始工作,收集原始数据并在最后进行分析。原数据和分析结果会被存放在以日期为结构的目录中。详情请参考文档文件里的Exachk的使用手册。 Exachk 有个watchdog进程,负责监控exachk的执行状态,它会设定一个默认的“超时”值, 以防止exachkhung住。在一个繁忙的系统中,如果在默认的时间内没有响应的话,检查将会被终止。通过设置一些环境变量,可以延长默认的“超时”值。(RAT_TIMEOUT 和 RAT_ROOT_TIMEOUT) 接下来我们看下执行exachk 的过程: $ ./exachk CRS stack isrunning and CRS_HOME is not set. Do you want to set CRS_HOME to /u01/app/11.2.0/grid?[y/n][y] Exachk可以自己通过查询系统文件,来判断gridhome,如果路径正确,你可以输入“Y”来设定CRS_HOME,如果不正确,需要输入“N”然后手动设置正确的路径。 Checking ssh userequivalency settings on all nodes in cluster Node randomdb02 isconfigured for ssh user equivalency for oracle user Exachk会验证 ssh等价性是否可用,如果没有配置ssh等价性,它会需要你输入密码,并临时配置等价性。 Searching forrunning databases . . . . . . . List of runningdatabases registered in OCR 1. dbm 2. dss 3. All of above 4. None of above Select databasesfrom list for checking best practices. For multiple databases, select 3 for Allor comma separated number like 1,2 etc [1-4][3].1 Exachk会提取OCR中已经注册的数据库列表,你可以选择一个你需要检查的数据库,如果检查多个多个数据库,可以使用逗号隔开。也可以选择ALL来检查全部的数据库。 Searching outORACLE_HOME for selected databases. . . . Checking Status ofOracle Software Stack - Clusterware, ASM, RDBMS . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . ------------------------------------------------------------------------------------------------ Oracle Stack Status ------------------------------------------------------------------------------------------------ Host Name CRS Installed ASM HOME RDBMS Installed CRS UP ASM UP RDBMS UP DB Instance Name ------------------------------------------------------------------------------------------------ randomdb01 Yes Yes Yes Yes Yes Yes dbm1 randomdb02 Yes Yes Yes Yes Yes Yes dbm2 ------------------------------------------------------------------------------------------------ 根据之前的输入与确认,exachk会将需要检查的数据库信息列出。 root user equivalence is not setup between randomdb01 and STORAGESERVER randomcel01. 1. Enter 1 if you will enter root password for each STORAGE SERVERwhen prompted. 2. Enter 2 to exit and configure root user equivalence manuallyand re-run exachk. 3. Enter 3 to skip checking best practices on STORAGE SERVER. Please indicate your selection from one of the aboveoptions[1-3][1]:- 这一步需要针对cell存储进行检查,根据提示,我们根据需求来选择。大多数情况我们会选择“1”,然后如果所有的cell存储的密码相同就输入“Y”,最后输入root密码。root密码只需要输入一次,就会被记录在内存中,并且被其他的Cell重复使用,直到exachk执行完成,内存才会释放密码。 101 of the included audit checks require root privileged datacollection on DATABASE SERVER. If sudo is not configured or the root passwordis not available, audit checks which require root privileged data collectioncan be skipped. 1. Enter 1 if you will enter root password for each on DATABASESERVER host when prompted 2. Enter 2 if you have sudo configured for oracle user to executeroot_exachk.sh script on DATABASE SERVER 3. Enter 3 to skip the root privileged collections on DATABASESERVER 4. Enter 4 to exit and work with the SA to configure sudo onDATABASE SERVER or to arrange for root access and run the tool later. Please indicate your selection from one of the aboveoptions[1-4][1]:- 这一步需要针对数据库服务器进行检查,根据提示,我们根据需求来选择。 9 of the included audit checks require nm2user privileged datacollection on INFINIBAND SWITCH. 1. Enter 1 if you will enter nm2user password for each INFINIBANDSWITCH when prompted 2. Enter 2 to exit and to arrange for nm2user access and run theexachk later. 3. Enter 3 to skip checking best practices on INFINIBAND SWITCH Please indicate your selection from one of the aboveoptions[1-3][1]:- 这个页面显示的是针对InfiniBand是否检查及密码确认界面,方法同数据库服务器和Cell存储。 ============================================================= Node name - randomdb01 ============================================================= Collecting - ASMDiskgroup Attributes Collecting - ASMinitialization parameters Collecting -Database Parameters for dbm database Collecting -Database Undocumented Parameters for dbm database Collecting -Clusterware and RDBMS software version <output truncated for brevity> 完成以上的操作后,exachk就开始进行数据的收集,分析并产生报告。至此,我们不需要再输入其他的信息。 它会实时的显示当前工作的进度,如目前检查到数据库服务器,存储服务器还是Infiniband交换机等。如果你需要立即终止exachk的执行,只需要按ctrl+c即可,exachk会自动执行它的清理程序并推出。 Detailed report(html) -/home/oracle/exachk_215/20120524/exachk_dbm_053012_102825/exachk_dbm_053012_102825.html UPLOAD(if required) -/home/oracle/exachk_215/20120524/exachk_dbm_053012_102825.zip 执行结束后会输出文件的参考信息。 生成的HTML报告内容: “Cluster Summary”列出了当前环境概要; 这个“目录”列出了这次产生的报告中,包含主要分类的快捷方式。点击您关心的项目,就会直接链接到指定的页面。这个目录能列出多少分类选项,取决于命令行收集时,是否在某部分被限制,和是否有一些被kill掉 / skip 跳过的检查项目。 报告里面的内容在这里就不详细介绍了, 提供两篇参考文档;根据文档757552.1,我们可以查询当前Oracle最佳实践建议。同时也可以参考888828.1文档,来查询Exadata机器当前支持的版本信息。 Oracle Exadata BestPractices (Doc ID 757552.1) Database Machineand Exadata Storage Server 11g Release 2 (11.2) Supported Versions (Doc ID888828.1)

Exachk 是Exadata上的健康检查工具,它的作用是使Exadata机器发挥出最大的性能。 Oracle在Exadata机器上面有它的最佳实践和一些配置的建议值,我们定期使用exachk这个工具收集机器上的系统信息,并结合这些最佳实践和建议值,可以及时发现有哪些潜在的问题。然后把这些隐患消除,最终保障Exadata系统的稳定运行。 既然Oracle能够提供配置建议和最佳实践,那么这个工具就会定期...

Exalogic

使用Oracle Enterprise Manager (OEM) 12c监控Exalogic 2.0.6虚拟化系统

Oracle Enterprise Manager(简称OEM)是一款功能强大的综合性系统管理与监控平台。Oracle Enterprise Manager将一个中心console、多个代理、一些公共服务及工具结合在一起,为管理企业软硬件环境提供了一个集成的、综合系统管理与监控平台。 Oracle Enterprise Manager的核心是一个中心console和相应的Oracle Management Server(简称OMS)服务,以为管理和监控网络环境下各种服务的Oracle Enterprise Manager组件提供框架。在各个受管服务器上部署的代理(agent)则负责与OMS通讯以实现对服务器的管理服务。有了中心console和agent,OEM就可以通过安装对应的插件(plugin)以实现对各种环境的管理与监控了。 同理,使用Exalogic特有的插件,就可以实现对Exalogic虚拟化系统的监控了。这些插件包括以下几项: 1. ZFS存储plugin – 该plugin可用于对ZFS存储进行通讯和监控; 2. 虚拟化plugin – 该plugin可用于对EM Ops Center(EMOC)和Oracle Virtual Machine Manager(OVMM)系统的通讯和监控; 3. Exalogic Elastic Cloud Infrastructure plugin – 该plugin可通过与Exalogic控制台的连接获取Exalogic物理环境的信息和状态; 4. Engineered Systems Healthchecks – 该plugin与Exachk脚本整合可实现对系统配置的检查与监控。 下图是一个典型的使用OEM监控Exalogic的架构图。 要实现通过OEM监控Exalogic虚拟化,OMS一定要和Exalogic的Exalogic控制虚拟机、存储节点网络互通。否则,OEM是不可能获得到相应的信息的。因此,为了实现网络的互通,在实验与测试环境OMS通常安装到Exalogic的一个独立的虚拟机上与Exalogic的其他组件通过IPoIB连接;在大型企业系统中,OMS通常装在与Exalogic网络互通的外部服务器以达到监控Exalogic的目的。 在EC虚拟机上部署Agent 在Exalogic虚拟化中,Enterprise Manager对Exalogic的监控主要是通过部署在EC虚拟机上的Agent来实现的。在EC虚拟机上部署Agent的方式如下所示: 1. 在EC虚拟机上创建一个oracle用户并获取相应的密码。需要注意的是在EC虚拟机上一般已经存在一个名为oracle的用户了,如果需要获得密码,可以用root登录并使用passwd命令来修改。 2. 创建存放agent的目录,例如: # mkdir -p /opt/oracle/em12c/agent 3. 修改agent所在目录的owner为之前创建的oracle用户,例如:  # chown -R oracle:oracle /opt/oracle 4. 确保OMS服务器与EC虚拟机实现网络互通。如果虚拟机不能用过host名称来访问OMS服务器,则应修改 /etc/hosts文件以实现通过host名称的访问。 5. 修改sudoers配置文件/etc/sudoers以完善权限管理,具体操作如下所示:  修改 Defaults !visiblepw 至Defaults visiblepw;  修改Defaults requiretty 至Defaults !requiretty;  为oracle用户添加sudo权限: oracle ALL=(root) /usr/bin/id, /opt/oracle/em12c/agent/*/agentdeployroot.sh 6. 在Enterprise Manager控制台上部署agent至vServer: Setup --> Add Targets --> Add Target Manually,选择Add Host... 选项并按照向导完成全部操作。 部署Exalogic Infrastructure Plugin 在当前的Exalogic虚拟化中,EM Ops Center(EMOC)是一个用来监控与操作Exalogic的主要部件。EM12c对Exalogic虚拟化的监控也是通过EMOC来完成的。 部署对EMOC的监控主要通过以下两步来完成: 1. 导出/导入EMOC的证书(certificates)到EM12c; 2. 部署Exalogic Infrastructure Plugin。 管理EMOC的证书 若想实现EM12c Agent与EMOC的整合,首先需要确保两者可以通过一个安全的协议进行通讯。那么这里,首先需要将EMOC的证书导出,并导入到EM12c Agent中。 1. 从EMOC的keystore导出证书:  # cd /etc/opt/sun/cacao2/instances/oem-ec/security/jsse  # /opt/oracle/em12c/agent/core/12.1.0.2.0/jdk/bin/keytool -export -alias cacao_agent -file oc.crt -keystore truststore -storepass trustpass # keytool -list keystore truststore Enter key store password: trustpass keytool error: gnu.javax.javax.crypto.keyring.MalformedKeyringException: incorrect magic 【注】EMOC的证书存放在ec1虚拟机的/etc/opt/sun/cacao2/instances/oem-ec/security/jsse文件中。 2. 导入证书到agent的trust store: # cd /opt/oracle/em12c/agent/agent_inst/sysman/config/montrust # /opt/oracle//em12c/agent/core/12.1.0.2.0/jdk/bin/keytool -import -keystore ./AgentTrust.jks -alias wlscertgencab -file /etc/opt/sun/cacao2/instances/oem-ec/security/jsse/oc.crt 部署Exalogic Infrastructure Plugin 在证书导入后,EM12c就可以和EMOC进行通讯了。接下来,只需要按照下面的步骤部署Exalogic Infrastructure Plugin,就可以实现对Exalogic的监控了: 1. 将Exalogic Elastic Cloud Infrastructure Plugin部署到OMS server(首先Setup --> Extensibility --> Plug-ins,然后选定Exalogic Elastic Cloud Infrastructure,并选择Deploy on --> Management Servers); 2. 将Exalogic Elastic Cloud Infrastructure Plugin成功部署到OMS Server后,则需要将这个plugin部署至EMOC虚拟机(与之前类似,首先Setup --> Extensibility --> Plug-ins,然后选定Exalogic Elastic Cloud Infrastructure,并选择Deploy on --> Management Agent...); 3. 在Agent部署好之后,则需要运行Add Target向导以添加对应的监控目标(首先Setup --> Add Target --> Add Targets Manually options,然后选定Add Non-Host Targets Using Guided Process (Also Adds Related Targets),并选定Exalogic Elastic Cloud,单击Add Using Guided Discovery将会出现下图所示的向导页面: 向导结束后,系统将在后台进行初始化和数据同步以完成对全部组件的监控功能。在全部完成后,就可以看到以下的Exalogic监控页面了: 下图是对Infiniband Fabric的监控: 下图是对Infiniband Switch的监控: 部署Oracle Virtualization Plugin 上一小节我们介绍了EM12c与EM Ops Center的部署,以实现对Ops Center的监控。接下来,我们将简要介绍如何使用EM12c来监控Exalogic虚拟化的另一重要部件——OVMM。EM12c提供了Oracle Virtualization plugin以实现对OVMM Server的监控。 在部署EM12c至OVMM Server之前,OVMM应该设置成只读模式以供EM12c Agent使用,执行以下步骤将会设置OVMM为只读模式。首先使用oracle用户登录至OVMM虚拟机,并依次执行以下命令: 1. cd /u01/app/oracle/ovm-manager-3/ovm_shell 2. sh ovm_shell.sh --url=tcp://localhost:54321 --username=admin --password=<ovmm admin user password> 3. ovm = OvmClient.getOvmManager () 4. f = ovm.getFoundryContext () 5. j = ovm.createJob ( 'Setting EXALOGIC_ID' ); 【注】EXALOGIC_ID可从Dom0的/var/exalogic/info/em-context.info文件获取,例如: isExalogicID=Oracle Exalogic X2-2 AK00018758 则EXALOGIC_ID为AK00018758。 6. j.begin (); 7. f.setAsset ( "EXALOGIC_ID", "<Exalogic ID for the Rack>" ) ; 8. j.commit (); 9. Ctrl + d 完成了OVMM的操作后,执行以下步骤以部署OVMM virtualization plugins至OMS server: 1. 部署Oracle Virtualization plugin至OMS server; 2. 部署Oracle Virtualization plugin 至正在OVMM server上运行的agent; 3. 打开添加target向导来添加OVMM以实现对OVMM的监控: 1) 在Setup菜单中选择Add Target --> Add Target Manually; 2) 选定【Add Non-Host Targets by Specifying Target Monitoring Properties】并且选择目标类型为【Oracle VM Manager】以及对应的监控Agent; 3) 如下图所示,在向导页面上输入对应的信息; 4) 输入完毕后提交向导,待job进度完成后则可以看到新添加的target。 监控ZFS存储 在Exalogic中,ZFS设备的监控通常是通过部署在EMOC vServer上的EM12c Agent来完成的。在设置监控之前,需要在存储上运行一个特定的workflow来设置EM12c的用户以及特定的监控权限。 首先登录Active节点的ZFS BUI,进入"Maintenance" --> "Workflows"菜单,并运行"Configuring for Oracle Enterprise Manager monitoring" workflow,如下图: 该workflow将创建EM12c所需要的用户以及对应的worksheet以达到监控的目的。创建后,在standby节点上重复以上步骤以完成worksheet的创建。 在worksheet创建后,则可以直接到EM12c的plugin管理页面来部署对应的ZFS Storage Appliance plugin到OMS server和对应的EMOC agent上。 部署了plugin后,则可以进入Setup菜单来配置对应的ZFS target了。首先,进入Setup菜单中的Add Target --> Add Target Manually,然后选择"Add Non-Host Targets by Specifying Target Monitoring Properties",之后选择Sun ZFS Storage Appliance作为Target Type并选择对应的EMOC agent。之后,在向导中输入target的名字,IB Storage的IP地址,以及对应的用户名和密码就可以了。 配置完成后,在EM12c上就可以监控到存储节点的使用状况了: 整合Exachk健康检查 众所周知,在Exalogic或者Exadata上有一个专门用做健康检查的脚本,叫做Exachk。该脚本可以通过对Exalogic各计算节点、存储以及交换机等的配置的检查,以达到健康监控的目的。在Enterprise Manager中,可以集成Exachk以实现对Exalogic健康状况的监控。 首先,在Enterprise Manager中整合Exachk,需要确保Exachk的输出格式为XML。在Exachk中,可以通过设置以下环境变量来设置Exachk的输出格式为XML: export RAT_COPY_EM_XML_FILES=1 以下命令可以设置Exachk的输出目录: export RAT_OUTPUT=<output directory> 和前面介绍的plugin类似,在整合Enterprise Manager和Exachk时,需要首先确保Oracle Engineered System Healthchecks的plugin已经下载并安装到了OMS server以及对应的EMOC server。接下来,就只需要根据向导制定好exachk的输出路径就可以了。其间,向导会要求设置新版本检查的间隔天数以及Exachk的运行时间。Exachk的运行结果会直接被Enterprise Manager解析并可在EM12c console上直接查看。 以上简要介绍了如何使用EM12c来监控Exalogic虚拟化系统。 更多内容,请参阅EM12c手册中关于Exalogic监控的文档:http://docs.oracle.com/cd/E24628_01/doc.121/e35776/toc.htm

Oracle Enterprise Manager(简称OEM)是一款功能强大的综合性系统管理与监控平台。Oracle Enterprise Manager将一个中心console、多个代理、一些公共服务及工具结合在一起,为管理企业软硬件环境提供了一个集成的、综合系统管理与监控平台。 Oracle Enterprise Manager的核心是一个中心console和相应的Oracle...

Exalogic

Exalogic虚拟化中的vCPU

    在Exalogic虚拟化当中,创建vServer需要使用3个最重要的系统资源,vCPU,内存以及存储空间。其中存储空间也就操作系统使用的硬盘是在Exalogic的ZFS上创建的空间,挂载在每个计算节点的/OVS/目录下,里面包含了每个vServer的配置文件vm.cfg以及对应的img(硬盘)。每个vServer的内存,在vServer启动的时候,EMOC会使用相应的算法来决定这个vServer所在的节点,并且在这个节点上分配需要的内存。而vCPU,相对来说特殊一些,我们会在下面的文章重点讲解vCPU。 开始之前,我们再来复习一下Exalogic虚拟化中的重点概念: Dom0 : 也就是Exalogic计算节点。一个vServer是否可以正常启动的一个关键就是所有的Dom0是否有足够的vCPU和内存来提供这个vServer运行。 DomU:就是Exalogic中的vServer。在Exalogic虚拟化中,DomU的起停等操作必须通过EMOC来进行,而不能通过相应的“xm”命令。同时,DomU所在Dom0也不是固定的,当DomU关闭的时候,系统会收回其vCPU,内存资源;当DomU启动的时候,EMOC再进行资源分配。 EMOC:也就是Oracle Enterprise Manager Ops Center。在Exalogic虚拟化当中,如果没有明确的文档说明,我们所有的关闭工作都需要通过EMOC来进行。 vCPU:virtual  CPU,提供DomU运行的CPU资源,与之对应的是pCPU。 pCPU:physical CPU,就是一台计算节点所拥有的CPU线程数总和。比如,以X3-2的计算节点为例,每个计算节点有两个CPU,也就是有两个Sockets,每个CPU有8个Cores,每个Core上面有两个Thread。因此X3-2一个节点上面的pCPU个数就是: 2 sockets * 8 cores * 2 threads = 32 pCPU 下面是我们通过命令在计算节点上面看到的结果:[root@elorl03cn01 ~]# xm infohost                   :       elorl03cn01.XXX.XXXX.XXXXrelease                :      2.6.39-400.264.1.el5uekversion                :     #1 SMP Wed Aug 26 16:40:04 PDT 2015machine                :    x86_64nr_cpus                :      32nr_nodes               :      2cores_per_socket       : 8threads_per_core       : 2 在Exalogic虚拟化当中,虚拟机(vServer)使用的CPU是vCPU。默认情况下,一个vCPU对应一个pCPU。如下图所示,我们可以根据需要来调整vCPU/pCPU的对应率。  现在我们来讲一下跟图一有关的重要概念:1) vCPU to Physical CPU Ratio简单来说这个概念指的是vCPU和pCPU的对应关系。比如1:1, 2:1, 3:1,一个pCPU对应一个,两个或者三个vCPU。我们举一个简单的例子来说明这个值的使用。还是用X3-2的计算节点为例,每个计算节点一共有32个pCUP,如果使用默认的1:1的比例的话,在不考虑其它资源的情况下,每个节点最多可以允许32个虚拟机;如果将这个值改成2 (2:1) 的话,那么每个节点上面可以允许的虚拟机的个数将会变成64个。 2) Xen Hypervisor和CPU调度虚拟化Exalogic是以Xen Hypervisor为基础的。在Xen Hypervisor中存在了一个调度器来控制对pCPU的访问。Xen中的CPU调度跟Linux scheduler类似,但是其增加了对正在运行的虚拟机或者域 (比如Dom0) 的管理。Xen有很多调度���法,我们默认使用的Credit Scheduler。通过xm dmesg命令可以确认这一点。 # xm dmesg __ __ _ _ _ _____ _____ ____ __ \ \/ /___ _ __ | || | / | |___ / / _ \ \ / / \/ | \ // _\ '_ \ | || |_ | | |_ \| | | \ \ / /| |\/| | / \ __/ | | | |__ _|| |_ ___) | |_| |\ V / | | | | /_/\_\___|_| |_| |_|(_)_(_)____/ \___/ \_/ |_| |_| (XEN) Xen version4.1.3OVM (mockbuild@us.oracle.com) (gcc version 4.1.2 20080704 (Red Hat4.1.2-48)) Wed Dec 5 09:11:29 PST 2012 (XEN) LatestChangeSet: unavailable (XEN) Bootloader: GNUGRUB 0.97 (XEN) Command line:console=com1,vga com1=9600,8n1 dom0_mem=2G ... (XEN) ERST table isinvalid (XEN) Using scheduler:SMP Credit Scheduler (credit) (XEN) Detected3059.044 MHz processor. (XEN) Initing memorysharing. (XEN) Intel VT-dsupported pag 在Exalogic虚拟化中,当我们创建一个虚拟机并为其指定了相应的vCPU以后,每个vCPU将对应一个pCPU (No CPU Oversubscription);当这个新创建的虚拟机启动的时候,Xen将会为这个虚拟机指定具体的pCPU。通过命令xm vcpu-list我们可以看到每个虚拟机究竟使用的哪个core。 # xm vcpu-list Name ID VCPU CPU State Time(s) CPU Affinity 0004fb000006000036b78d88370acd11 5 0 22 -b- 315931.3 12-23 0004fb000006000036b78d88370acd11 5 1 15 -b- 210225.2 12-23 0004fb000006000036b78d88370acd11 5 2 17 -b- 94768.4 12-23 0004fb000006000036b78d88370acd11 5 3 13 -b- 99020.7 12-23 0004fb000006000036b78d88370acd11 5 4 19 -b- 97240.0 12-23 0004fb000006000036b78d88370acd11 5 5 16 -b- 90450.2 12-23 0004fb000006000036b78d88370acd11 5 6 20 -b- 85511.0 12-23 0004fb000006000036b78d88370acd11 5 7 14 -b- 74973.3 12-23 0004fb000006000036b78d88370acd11 5 8 23 -b- 75114.4 12-23 0004fb000006000036b78d88370acd11 5 9 16 -b- 65374.4 12-23 0004fb000006000036b78d88370acd11 5 10 14 -b- 64786.6 12-23 0004fb000006000036b78d88370acd11 5 11 20 -b- 64758.8 12-23 0004fb0000060000ea7b5bf71f3a806c 4 0 9 -b- 139777.8 0-11 0004fb0000060000ea7b5bf71f3a806c 4 1 2 -b- 173475.2 0-11 Domain-0 0 0 4 -b- 69594.9 any cpu Domain-0 0 1 5 -b- 55519.9 any cpu 在上面的例子中,ID为5的虚拟机被分配了12个vCPU,Xen决定了这个vCPU运行在pCPU 12-23上。同样ID为4的虚拟机被分配了2个vCPU,可以运行在pCPU 0-11上。 在默认的vCPU:pCPU为1时,Credit scheduler保证了所有的虚拟机访问pCPU无竞争性。当我们使用了CPU Oversubscription以后,由于一个pCPU会对应多个vCPU,因此,虚拟机的vCPU访问就会存在了竞争性的问题。在Xen中,影响CPU竞争的两个要素是weight和cap。• Weight就是一个具体的数值,表示在发生CPU竞争的时候,一个虚拟机可以获得CPU的信用额度。以Weight值是1000和500为例,拥有Weight值为1000的虚拟机获得pCPU的次数是拥有Weight值为500的虚拟机的两倍。同样,当一个虚拟机获得了CPU之后,scheduler将会减少其Weight的值来保证所有的虚拟机都可以获得CPU资源。在Exalogic当中,所有虚拟机的Weight都是自动指定并且拥有同样的值。下面我们看一下具体的例子: [root@elorl03cn02 ~]# xm sched-credit Name ID Weight Cap 0004fb00000600001ab63a2c58829faf 5 256 0 0004fb00000600003ec16329315bb062 11 27500 0 0004fb00000600004a3eb8c19951a06d 10 27500 0 0004fb000006000076a4e06fc2ac0170 9 27500 0 0004fb0000060000b88b5db1ba9a0113 12 27500 0 0004fb0000060000b9bcd216cc087370 8 27500 0 Domain-0 0 65535 0 其中ID值为5的虚拟机是Exalogic虚拟化中的控制虚拟机 (EC, PC1或PC2),它们的weight值为256;而我们自己创建的虚拟机的weight值为27500。• Cap表示虚拟机获得CPU时间片的百分比。因为Exalogic不建议调整这个值,因此我们不做过多介绍。 注意:当修改了vCPU to Physical CPU Ratio值之后:1) 将会影响之前创建的虚拟机和即将创建的虚拟机2) 虚拟机的性能可能会受到影响,但是可以更充分的使用CPU资源3) 最大值不能超过3:14) 对于生产环境来说,建议使用默认值1:1

    在Exalogic虚拟化当中,创建vServer需要使用3个最重要的系统资源,vCPU,内存以及存储空间。其中存储空间也就操作系统使用的硬盘是在Exalogic的ZFS上创建的空间,挂载在每个计算节点的/OVS/目录下,里面包含了每个vServer的配置文件vm.cfg以及对应的img(硬盘)。每个vServer的内存,在vServer启动的时候,EMOC会使用相应的算法来决定这个vServ...

Exadata

Exadata存储索引

适用于:     从V2到X5所有Exadata存储服务器。 目的:     深入了解Exadata存储索引技术的发展,并了解在新版本中的特性。 内容:一、简介        存储索引功能是在Exadata 11.2.1.2.0 版本(V2 )上引入的新特性,它主配合智能扫描(smart scan)功能,来消除一个查询所不需要的IO请求。它在内存中保存表数据的汇总信息,并通过内部机制来控制和访问这些数据结构。当智能扫描功能启动时,存储索引像一个黑盒子一样提供强大的功能,给Exadata带来显著的性能增强。        随着Oracle虚拟化技术不断发展,存储索引技术也相应有了新的改变。存储索引需要支持更多的虚拟地址空间,这样之前的架构就不能满足日益增长的物理磁盘空间和虚拟化的需求,因此,Oracle在12.1.2.1新版本中完全改变了技术架构,让其满足新的需求。这些技术的变化会在第六部分进行介绍。二、使用条件        在如下情况发生时,系统会使用存储索引:        1. 查询语句使用智能扫描(Smart Scan)。        2. 查询语句中where子句至少有一个谓词。        3. 简单的操作符:<, <=, =, !=, >=, >, is NULL, is NOT NULL,between,in。        4. 支持的数据类型:number, float, date, varchar2。        5.谓词的值支持数值和绑定变量。        如下情况不会使用存储索引:        1. 不支持lob列。        2. 谓词中包括函数。比如用户自定函数或sysdate().        3. 列上有加密。        也有其它一些情况会使用和不使用存储索引,在这里就不详细说明。三、技术架构        技术架构主要是解决存储索引是如果工作的问题。在这里不会将Oracle的代码拿来讲解并说明这个功能是如何实现的。只是通过简单的实例说明它是如何设计的。存储索引是保存在内存中的数据结构,它不同与我们常见表数据的B*tree索引,可以通过索引的条目最终定位到我们需要访问的数据。存储索引的功能是告诉查询语句哪些是我们不需要的IO请求,这样我们就不需要花费多余的成本在我们不需要的东西上面。        每1M大小的磁盘空间上都会对应一个存储索引的条目,这个条目中维护着这个区域中最大不超过8列的最大值(MAX)和最小值(MIN)。如果满足使用存储索引的查询语句第一次被执行的时候,Oracle就会为这个查询中涉及的表构建存储索引。在语句第二次运行的时候就会使用这个索引。        现有表Exadata_SI_test,有A,B,C三列,如下图就是一个表和存储索引的Mapping关系。      在我们运行查询的时候,cellsrv进程就会根据这个查询里的表对象和谓词通过hash算法到内存中寻找存储索引,如果没有找到,则在返回结果集之后,建立存储索引。当第二次运行的时候,cellserv发现了已经建立了索引,则直接使用存储索引来减少IO操作。建立在A列上的存储索引类似如下结构:当使用如下查询的时候,Oracle就不需要对ID为1的1M区域进行IO操作。select count(*) from Exadata_SI_test where A <= 7;对于如下查询 ,Oracle消除了对ID为3的1M区域进行IO操作。select count(*) from Exadata_SI_test where A is not null;Oracle通过如下结构来创建和寻找存储索引的条目。每一个grid disk会在内存中建立一个哈希表,每个哈希表会有一个段数组与之对应,数组里放的是段的信息,根据段就会找到相应的存储索引的具体条目。四、监控目前确实没有很多的手段来监控存储索引,我们只能通过查询统计信息这种简单的方式来监控是否使用了存储索引以及它为我们消除了多少不必要的IO请求.会话和系统级别:查询cell physical IO bytes saved by storage index的值。select name, value from v$mystat where name like '%storage%';select name, value from v$sysstat where name like '%storage%';另外一种方式是查询V$SQL中 的optimized_phy_read_requests的值。这个值不但包括存储索引消除的IO请求数量,还包括了在Exadata flash cache缓存的IO和数据库级别L2 flash cache缓存的IO数量。因此它不能准确表明存储索引消除的IO数量。五、跟踪与控制可以通过设置参数_kcfis_storageidx_disabled 来控制是否使用存储索引,如果SQL在使用smart scan时产生错误的结果集,我们可以通过设置这个参数为true来判断是否由于存储索引的问题引起的。缺省值是false。可以在cell级别来启用和禁用以及删除存储索引:alter cell events = "immediate cellsrv.cellsrv_storidx(‘disable’, ‘ALL’, 0, 0, 0)”;alter cell events = "immediate cellsrv.cellsrv_storidx(‘enable’, ‘ALL’, 0, 0, 0)”;alter cell events = "immediate cellsrv.cellsrv_storidx(‘purge’, ‘ALL’, 0, 0, 0)”;六、新版本中的变化在Exadata 12.1.2.1 版本中的存储索引有了新的特性,它需要支持spase disk 和snapshot 数据库,这两个具体概念请参考12.1.2.1的官方文档。以下是存储索引的改变:1. 固定的内存预算大小    为了支持1M的物理地址和虚拟区域地址,它需要预留之前16倍的内存大小来放置存储索引。它最大使用的内存是cell内存的10%,_cell_max_memory参数决定了cellsrv 最大使用的内存量,_cell_storage_index_max_memory_factor参数设置为10,说明存储索引最大能使用的内存量是cell使用最大内存的10%。2. 全局哈希表   之前版本的结构是每一个grid disk会在内存中建立一个hash表,新版本中是所有grid disk共享一个全局哈希表。3. Sparse区域支持   之前是靠偏移量的算法标记磁盘上的1M物理空间,新特性支持稀疏(Sparse)方式的读取。4. 踢除操作(Eviction)   这是一个新的功能,Cellsrv能够根据存储索引使用负载情况和创建历史,进行踢除操作,从而释放出更多的空间。5. 删除(purge)  新版本中的purge操作可以针对不同的offload 组进行删除。CellCLI> alter cell events = "immediate cellsrv.cellsrv_storidx(purge,<offload group name> or <ALL>,0, 0, 0)"七、参考资料Oracle® Exadata Storage Server Software User's Guide

适用于:     从V2到X5所有Exadata存储服务器。 目的:     深入了解Exadata存储索引技术的发展,并了解在新版本中的特性。 内容:一、简介        存储索引功能是在Exadata 11.2.1.2.0 版本(V2...

Exadata

Exadata 智能扫描

智能扫描(smart scan) 是Exadata所特有的特性,当然也是Exadata非常重要的特性。该特性能通过将大部分的sql语句的操作卸载到cell上完成,极大的减少了存储节点和数据库节点之间的数据流量,从而大幅度的提升了sql语句的性能。而正是由于智能检索的主要功能就是将sql语句的很多工作转移到了cell节点,所以很多时候也可以认为智能扫描和cell offload 是一回事。下面就来对比一下传统的sql 语句执行过程和Exadata上引入了智能扫描的sql语句执行过程。 传统过程: 在整个过程中,提交了sql语句之后,首先通过数据字典中的信息确认需要访问的extent,之后开始执行I/O拿到需要的数据(这里我们暂时不考虑数据库缓冲区的作用),返回extent包含的整个数据行,然后根据sql语句中的谓词过滤掉不满足条件的数据行,最后将需要的列返回给用户。这个过程有很多I/O实际上并不是用户所需要的,也就造成了存储和数据库服务器大量的不必要的数据传输。 智能扫描过程: 在整个过程中,sql语句被提交之后,oracle通过iDB协议将sql语句转换为Cell(存储服务器)能够理解命令,之后将sql语句的执行过程卸载到多个cell上,cell节点找到对应的数据行并应用谓词中的条件,最后只将用户感兴趣的列返回给数据库节点。可以看到,整个sql语句中的大部分I/O都被卸载到了多个cell 当中,而且只会返回用户需要的列,从而极大的降低了数据库节点和cell之间的数据传输量,而且也将I/O和一些CPU工作负载分配到了多个cell当中,从而极大地提高了sql语句的性能。 智能扫描主要包含下面的4个特性: 字段投影:这个特性能够保证只有sql语句中查询的列被返回,表当中其它的列都不会被返回。这样就可以从列的角度减少cell返回的数据量。 谓词过滤:这个特性确保只有满足谓词条件的行被返回,不满足条件的列不会被返回。这样就可以从行的角度减少cell返回的数据量。可以运行下面的查询语句了解哪些谓词是可以被谓词过滤支持的: select * from v$sqlfn_metadata where offloadable = 'YES'; 存储索引:这个特性的主要目的是减少在cell上的I/O负载,存储索引会将表分割成若干个1M大小的区域,并保存每个区域内的一些列的最大值和最小值(也会记录该区域这些列是否包含空值,这样做的目的是为了消除传统索引的缺点),这样在谓词过滤的过程中就可以很好的将不满足条件的数据行事先过滤掉,从而避免了不必要的I/O。 连接过滤:该特性是通过布隆过滤器(bloom filters)的方式将表连接的操作也卸载到cell当中完成,从而降低数据库节点和cell之间的数据通信量和数据库节点的CPU负载。 在介绍了智能扫描的特性之后,再来说一说它的一些限制,毕竟没有任何一种软件是完美的。首先,智能扫描只会在全表(或索引)扫描时才会发生,对表(或索引)的单块访问是不会触发智能扫描的。另外,只有在发生直接路径读取(direct path read)读取时才会发生智能扫描(用户可以通过设置_serial_direct_read=TRUE来强制让直接路径读取发生)。从这些描述大家可以看到,智能扫描返回的数据实际上会占用进程的PGA,而不会对SGA产生影响。最后,智能扫描要求数据对象必须保存在cell上而且磁盘组的兼容性参数('compatible.rdbms'和'compatible.asm')要至少为11.2。 下面我们通过一个简单的例子来演示智能扫描是如何提高查询性能的。本示例并没有包含布隆过滤器部分。 步骤1. 创建一个测试表,并插入一些数据 SQL>create table allen_test as select * from dba_objects; SQL>alter table allen_test move tablespace users; SQL>insert into allen_test select * from allen_test; SQL> select count(*) from allen_test;   COUNT(*) ----------     2316224 可以看到这个表中大概包含231万行左右的数据。 步骤2. 禁用智能查询并启用直接路径读取 SQL>alter session set cell_offload_processing=false; SQL>alter session set "_serial_direct_read"=true; 步骤3.执行下面的sql 语句 SQL>set timing on SQL>set linesize 300 SQL>set autot on SQL> select count(object_id) from allen_test where owner='SYS'; COUNT(OBJECT_ID) ----------------  620864 Elapsed: 00:00:00.64  <<< 可以看到这个查询消耗了大概0.64秒。 Execution Plan ---------------------------------------------------------- Plan hash value: 1988360011 ----------------------------------------------------------------------------------------- | Id  | Operation   | Name | Rows | Bytes | Cost (%CPU)| Time | ----------------------------------------------------------------------------------------- |   0 | SELECT STATEMENT   | |     1 |    30 |  6649   (1)| 00:01:07 | |   1 |  SORT AGGREGATE   | |     1 |    30 |     | | |*  2 |   TABLE ACCESS STORAGE FULL| ALLEN_TEST |   405K|    11M|  6649   (1)| 00:01:07 | ----------------------------------------------------------------------------------------- Predicate Information (identified by operation id): ---------------------------------------------------    2 - filter("OWNER"='SYS') 根据上面的信息,我们的确看到了全表扫描被使用,但是智能扫描并没有发生。 步骤4. 重新启用只能查询,再执行相同的sql语句 SQL>alter session set cell_offload_processing=true; SQL>select count(object_id) from allen_test where owner='SYS'; COUNT(OBJECT_ID) ----------------  620864 Elapsed: 00:00:00.18  <<<< 在启用了智能扫描之后,同样的查询只花费了0.18秒。 Execution Plan ---------------------------------------------------------- Plan hash value: 1988360011 ----------------------------------------------------------------------------------------- | Id  | Operation   | Name | Rows | Bytes | Cost (%CPU)| Time | ----------------------------------------------------------------------------------------- |   0 | SELECT STATEMENT   | |     1 |    30 |  6649   (1)| 00:01:07 | |   1 |  SORT AGGREGATE   | |     1 |    30 |     | | |*  2 |   TABLE ACCESS STORAGE FULL| ALLEN_TEST |   405K|    11M|  6649   (1)| 00:01:07 | ----------------------------------------------------------------------------------------- Predicate Information (identified by operation id): ---------------------------------------------------    2 - storage("OWNER"='SYS')  <<<<<        filter("OWNER"='SYS') 上面的信息说明智能扫描的确发生,因为在执行计划的第2步中出现了storage("OWNER"='SYS'),换句话说,可以通过谓词信息中是否包含“storage(......)”来判断智能扫描是否发生。当然,也可以通过查看sql语句的sql trace(或者叫10046 trace),来查看 智能扫描是否发生。例如:   最后,读者通过以下的sql语句找到常见的和智能扫描相关的等待事件和统计信息。 例如: SQL> select name from v$event_name where name like '%cell%scan%'; NAME ---------------------------------------------------------------- cell smart table scan cell smart index scan 以上的两个等待事件说明进程正在等待智能扫描返回数据。 SQL> select name, value from v$mystat s, v$statname n where n.statistic#=s.statistic# and name like '%cell%scan%'; NAME      VALUE ---------------------------------------------------------------- ---------- cell physical IO interconnect bytes returned by smart scan    7761920 …… cell scans  5 cell index scans  0 希望本文对读者理解Exadata智能扫描特性有所帮助。

智能扫描(smart scan) 是Exadata所特有的特性,当然也是Exadata非常重要的特性。该特性能通过将大部分的sql语句的操作卸载到cell上完成,极大的减少了存储节点和数据库节点之间的数据流量,从而大幅度的提升了sql语句的性能。而正是由于智能检索的主要功能就是将sql语句的很多工作转移到了cell节点,所以很多时候也可以认为智能扫描和cell offload...

SuperCluster

SuperCluster 软件架构简介

     Supercluster 是硬件和软件集成的一个产品,融合了网络,存储实现高性能和高可靠性,依赖虚拟化技术提供不同的应用平台,例如 数据库,中间件和应用平台。从而满足更广泛的应用需求,同时又节省成本。基于这样的一个设计,软件结构就会跟硬件紧密结合充分发挥硬件的性能。   从软件角度,supercluster提供了以下的组件:1. Oracle Solaris 10 和112. Oracle VM Server for SPARC virtualization3. Solaris zone4. ZFS 存储5. Exadata 软件6. Solaris cluster software (可选) 拓扑结构像下面:    由于在supercluster中,使用的基本上都是Solaris 的技术,当然也使用了Exadata存储软件,这能够使Supercluster使用Exadata的所有特点保证数据库性能。因此在本文中不会讨论每个技术的细节,因为你可以搜索每个技术要点,有许多的文章包括solaris的官方文档,都有详细的论述。   在本文中讨论几个Supercluster的使用特性:1. 域的创建首先通常在supercluster 中我们会说数据库域和应用域,这是根据他们运行数据库或者应用而定的,当然这也是Oracle 推荐的。数据库域:    通常要求是一个指定域或者 I/O domain, 并且运行 Solaris 11 和database 版本11.2。 在提供I/O域时,这里需要简单解释下, 在supeercluster 2.0 版本中, 引入了I/O domain概念,原因是在以前的版本使用的都是指定域,意味了硬件直接分给某些域,而不与其他的域共享,在2.0版本中,引入I/O 域,用来统一管理域的资源,这意味着其他的域可以调用I/O 域的资源,从而实现资源共享。应用域:    应用域是用来运行应用程序的,在这个域中,既可以安装soaris 10 也可以安装solaris 11. 当然也支持在应用域中划分Zone 实现应用隔离。也可以配合Solaris cluster 使用实现Zone的可用性。这部分内容可以参考Solaris Cluster配置实现。在Supercluster 中工具创建域可以使用Superclsuter提供的域创建工具实现,这个在2.0中提供。 2. 资源管理由于虚拟化的使用,我们必须考虑到资源的管理问题,例如调整某些域的资源分配,或者重新划分资源的使用。 3. 系统性能优化在Supercluster 中,在初始发布或者后续升级中,都包含一个脚本用来对系统内核或者关键参考进行相应调整。这部分信息能够参考下面的 目录结构或者MOS文档了解。 /opt/oracle.supercluster/ssctuner/README  MOS Document ID 1903388.1 4. ZFS存储和 solaris cluster在Solaris 上,我们通常会使用ZFS文件系统,方便文件系统管理,例如空间的增加。通常从存储角度,这部分空间??ZFS Appliance 提供,这也为创建共享Cluster 资源提供了方便,例如可以使用cluster 管理应用zone 从而实现应用的高可用性。 5. Superclsuter  tools上面提供的都是泛泛的介绍,因为每个要点都有专门的文档进行讨论,而且篇幅都很长和详细,没有在此讨论的必要,可以查看相应的文档了解细节。在supercluster 上提供了几个工具用来简化上述的操作,这些工具都在2.0上可用例如  SuperCluster Domain Create Tool:osc-domcreate  SuperCluster CPU and Memory Assignment Tool:osc-setcoremem  SuperCluster Backup Tool: osc-backup     像在本文开篇时提到的,supercluster 主要是对硬件和软件集成,利用虚拟化满足客户不同需求,所有从技术角度,大部分都是成熟的技术,都有专门的文档详细介绍各部分功能,supercluster 提供了一个集成的接口,面初始配置,日后维护和使用。当然也对各功能进行了部分优化。

     Supercluster 是硬件和软件集成的一个产品,融合了网络,存储实现高性能和高可靠性,依赖虚拟化技术提供不同的应用平台,例如 数据库,中间件和应用平台。从而满足更广泛的应用需求,同时又节省成本。 基于这样的一个设计,软件结构就会跟硬件紧密结合充分发挥硬件的性能。    从软件角度,supercluster提供了以下的组件: 1. Oracle Solaris 10 和112....

ODA

Oracle数据库机ODA概述

今天在这里给大家介绍一款全面、简单、可靠、实惠的一体机--Oracle数据库机。到目前为止,Oracle已经发布了3代数据库机了,分别是V1,X3-2,X4-2,X5-2。其中X5-2是在去年Oracle Openworld大会上发布的最新一代数据库机。本文以X5-2为例介绍Oracle数据库机。首先我们看下面Oracle数据库机的前视图和后视图:           一台Oracle数据库机包括两个型号为X5-2的服务器(上图的①和②)和两个型号为DE2–24C的存储柜(上图的③和④)。其中X5-2服务器和第一个存储柜在一个机箱里,占用6U机架高度。第二个存储柜是单独的机箱,占用4U机架高度,所以一台Oracle数据库机最多占用10U机架高度。用户可以选择是否购买第二个存储柜。注意,最上面的为节点1,接下来是节点0。下面讲每个X5-2服务器的硬件配置情况:带有2个单个18核的英特尔高端服务器至强芯片E5-2699 V3 CPU。     带有256GB的内存,最多可以扩展到768GB。由8片内存组成,单片内存为32GB的DDR4。由于内存槽位已经插满,扩展内存的时候用户需要向Oracle购买额外的内存扩展部件,注意必须两个服务器都得保持相同的内存配置。    带有2个采用PCIe接口的InfiniBand卡提供双端口40G的带宽。用户可以将该卡换成10GbE的光纤卡。    带有4个万兆以太网卡。    带有1个10/100/1000兆自适应的以太网卡做为管理口。    带有1个支持RS-232串口通信的RJ45口,即使未配置网络,用户将普通网线插入该插口就可以使用串口协议连接到服务器进行管理。    带有2个2.5寸的 600G SAS2硬盘,用于安装操作系统和系统引导。     带有2个独立的支持热插拔的电源。    带有2个独立的支持热插拔的冷却风扇。    带有2个内置的SAS3端口,用于连接的服务器自带的硬盘。还有4个外置的SAS3端口,用于连接存储柜。    有VGA接口,USB 2.0接口    主板上集成了一个BMC芯片,支持行业标准的IPMI规范。IPMI规范包括很多功能,比如本地和远程诊断、控制台支持、配制管理、硬件管理和故障排除等。该芯片相当于是一个嵌入式设备,有自己独立的IP地址和操作系统ILOM。用户可以通过HTTP或SSH连接该芯片的IP地址进行监控管理服务器,而且不用到机房连接显示器鼠标键盘,就可以远程查看操作机器的控制台。一般故障都不用去机房,远程就可以收集日志诊断故障了。   下面再来说说存储柜的硬件配置,自带的存储柜和可选择购买的存储柜,配置都一样如下:    带有2个独立的支持热插拔的电源。    带有有4个高耐力每个容量为200GB的闪存用于放数据库的重做日志。   带有4个中等耐力每个容量为400G的 闪存用于缓存数据。   带有16个每个容量为4T SAS2硬盘,用于保存Oracle数据库的数据、临时表、归档日志等。   带有6个SAS2端口,用于和X5-2存储柜相连。每个服务器节点通过SAS线连接服务器自己的SAS端口和存储柜的端口,每个节点都可以共享访问存储柜上的盘。   大家可以参考下面连接获取每一代Oracle数据库机型号的具体硬件配置:http://docs.oracle.com/cd/E22693_01/doc.12/e23341/glsay.html#CMINSgnfcx另外,Oracle数据库机的前面板上有各种指示灯指示目前服务器运行情况,存储柜上每一个硬盘还有一组对应的指示灯。比如绿色的 OK灯表示服务器运行正常,如果感叹号灯变琥珀色了,那表示有故障需要向ORACLE支持开服务请求。

今天在这里给大家介绍一款全面、简单、可靠、实惠的一体机--Oracle数据库机。到目前为止,Oracle已经发布了3代数据库机了,分别是V1,X3-2,X4-2,X5-2。其中X5-2是在去年Oracle Openworld大会上发布的最新一代数据库机。本文以X5-2为例介绍Oracle数据库机。 首先我们看下面Oracle数据库机的前视图和后视图:                    一台Oracle数据库机包括...

Exadata

Exadata 上 Infiniband 网络简介

在 Exadata 环境中节点间数据传输是通过 Infiniband 实现的,本文将对其硬软件做一简介。 硬件层面包括: Sun Datacenter InfiniBand Switch 36 - 36口 Infiniband 交换机 不同的版本包含的交换机的个数是不同的: X4 和 X5 每套机柜会包含两个(leaf switch) X3 和 X2 半配和满配的机柜会包含三个(两个 leaf switch,一个 spine switch) 下图(X5-2, 满配)中绿色部分即为交换机,一共有三个单元,中间是48口 Cisco 以太网交换机,上下各是一个36口 Infiniband 交换机 对于X5来说,无论何种配置,交换机在机柜中的位置是固定的,U20和U22存放 IB 交换机,U21存放 Cisco 以太网交换机。 每一个 2-socket 计算和存储节点都包含一块基于 PCIe 的 Mellanox HCA(Host Channel Adapter)卡, 双 infiniband 4X QDR 口,单口单向速率40 Gb/s: 两个口需要分别接到两个交换机上,以避免单点故障。 X2 和 X3 使用的基于 PCIe 2.0 的 HCA 卡。由于总线速度的限制,两个端口使用的是主备(active/passive)模式,并由 Linux 原生网卡绑定功能(配置文件)提供失败切换机制,以下 ifconfig 命令输出显示 bondib0 是绑定后的逻辑网卡,ib0 和 ib1 是两块物理网卡: bondib0   Link encap:InfiniBand  HWaddr 80:00:00:48:FE:80:00:00:00:00:00:00:00:00:00:00:00:00:00:00           inet addr:192.168.10.3  Bcast:192.168.11.255  Mask:255.255.252.0           inet6 addr: fe80::221:2800:1ef:f08d/64 Scope:Link           UP BROADCAST RUNNING MASTER MULTICAST  MTU:31000  Metric:1           RX packets:30051124 errors:0 dropped:14978124 overruns:0 frame:0           TX packets:105715 errors:0 dropped:18 overruns:0 carrier:0           collisions:0 txqueuelen:0            RX bytes:1701216753 (1.5 GiB)  TX bytes:24243537 (23.1 MiB) ib0       Link encap:InfiniBand  HWaddr 80:00:00:48:FE:80:00:00:00:00:00:00:00:00:00:00:00:00:00:00             UP BROADCAST RUNNING SLAVE MULTICAST  MTU:31000  Metric:1           RX packets:15072433 errors:0 dropped:0 overruns:0 frame:0           TX packets:105715 errors:0 dropped:18 overruns:0 carrier:0           collisions:0 txqueuelen:1024            RX bytes:862410057 (822.4 MiB)  TX bytes:24243537 (23.1 MiB) ib1       Link encap:InfiniBand  HWaddr 80:00:00:49:FE:80:00:00:00:00:00:00:00:00:00:00:00:00:00:00             UP BROADCAST RUNNING SLAVE MULTICAST  MTU:31000  Metric:1           RX packets:14977557 errors:0 dropped:14977557 overruns:0 frame:0           TX packets:0 errors:0 dropped:0 overruns:0 carrier:0           collisions:0 txqueuelen:1024            RX bytes:838743192 (799.8 MiB)  TX bytes:0 (0.0 b) X4 开始使用基于 PCIe 3.0 的 HCA 卡。得益于总线速度的提升,默认情况下两个端口会使用双活(active/active)模式,其绑定是在 Linux 内核级别实现的。 ib0       Link encap:InfiniBand  HWaddr 80:00:00:48:FE:80:00:00:00:00:00:00:00:00:00:00:00:00:00:00             inet addr:192.168.8.23  Bcast:192.168.11.255  Mask:255.255.252.0           inet6 addr: fe80::210:e000:174:f741/64 Scope:Link           UP BROADCAST RUNNING MULTICAST  MTU:2044  Metric:1           RX packets:9065689 errors:0 dropped:0 overruns:0 frame:0           TX packets:5404221 errors:0 dropped:0 overruns:0 carrier:0           collisions:0 txqueuelen:1024            RX bytes:1463023797 (1.3 GiB)  TX bytes:982270189 (936.7 MiB) ib1       Link encap:InfiniBand  HWaddr 80:00:00:49:FE:80:00:00:00:00:00:00:00:00:00:00:00:00:00:00             inet addr:192.168.8.24  Bcast:192.168.11.255  Mask:255.255.252.0           inet6 addr: fe80::210:e000:174:f742/64 Scope:Link           UP BROADCAST RUNNING MULTICAST  MTU:2044  Metric:1           RX packets:4185633 errors:0 dropped:0 overruns:0 frame:0           TX packets:3897138 errors:0 dropped:0 overruns:0 carrier:0           collisions:0 txqueuelen:1024            RX bytes:284527349 (271.3 MiB)  TX bytes:601168462 (573.3 MiB) 如此一来理论上单向速率就可以达到80 Gb/s 有些时候也需要将双活模式修改为主备模式,比如新的 X4/X5 同已有 X2/X3 做级联,那么必须将 X4/X5 修改为主备模式,方法见以下文档: How to change InfiniBand bonding on Exadata X4-2 from active/active to active/passive (Doc ID 1642955.1) 需要注意的是,只有计算节点需要修改,存储节点不需要。 软件层面,Exadata 基于 Infiniband 使用以下两种网络协议: IPoIB(Internet Protocol over InfiniBand) IPoIB 协议定义了如何通过 Infiniband 传递 IP 包,其对使用 TCP/IP 的程序来说是透明的。换句话说 IPoIB 可以将 Infiniband 模拟成以太网卡,所有依赖于以太网卡的程序都不需要做修改。 RDS(Reliable Datagram Sockets) Reliable Datagram Sockets (RDS) 是 Oracle 开发的一种低成本,低延迟,高可靠的不基于 socket 的驱动及进程间通信(inter-processor communication, IPC)协议。相对于 IPoIB 或基于以太网的 User Datagram Protocol (UDP)协议,基于 Infiniband 的 RDS 可以减少50%的 CPU 使用以及网络延迟,从而更多的CPU资源可供应用程序使用。 Exadata 以下组件默认使用 RDS 协议:     计算节点和存储节点间数据传输     计算节点之间数据传输(RAC, Cache Fusion) 判断 RAC 是否使用 RDS 可以通过 RDBMS 的 alert log 实例启动日志: cluster interconnect IPC version:Oracle RDS/IP (generic) 判断计算/存储节点间是否使用 RDS 可以通过 CELL 的 alert log: CELL communication is configured to use 1 interface(s):     192.168.10.13 IPC version: Oracle RDS/IP (generic) IPC Vendor 1 Protocol 3   Version 4.1 Exadata 节点间集群软件通信使用的是IPoIB。 除此之外,Infiniband 还可以用来连接外部同样支持 Infiniband 的设备,例如:     Exalogic - 通过 SDP 协议访问 Exadata     ZFS Storage Appliance - 通过 NFS 挂载到 Exadata 计算节点 如果 Data Guard 主备库都是 Exadata 并且物理上级联在一起,则在 Infiniband 上配置好监听程序后日志传输同样可以通过 Infiniband 实现: Setup Listener on Infiniband Network using both SDP and TCP Protocol (Doc ID 1580584.1) 常用问题诊断工具     Exachk - 最佳实践以及报告已知问题     ExaWatcher         IBCardInfo.ExaWatcher - Infiniband HCA 卡及其端口的状态计数器         IBprocs.ExaWatcher - ibstatus/ibv_devinfo/ip 命令的输出         RDSinfo.ExaWatcher - RDS 信息 日志 - /var/log/messages 常用命令: ibswitches - 显示网络中的 Infiniband 交换机 ibhosts - 显示网络中的所有 Infiniband HCA 卡 ibstat/ibstatus - 显示本地 HCA 卡及端口状态 ibdiagnet - 检查网络中设备状态 iblinkinfo - 显示网络中连线 ibnetdiscover - 显示网络中设备配置 ping/rds-ping - 测试 IPoIB/RDS 通信状态 rds-info - RDS 信息及状态计数器 verify-topology - 检查网络拓扑图

在 Exadata 环境中节点间数据传输是通过 Infiniband 实现的,本文将对其硬软件做一简介。 硬件层面包括: Sun Datacenter InfiniBand Switch 36 - 36口 Infiniband 交换机 不同的版本包含的交换机的个数是不同的: X4 和 X5 每套机柜会包含两个(leaf switch) X3 和 X2 半配和满配的机柜会包含三个(两个 leaf...

白金服务

Oracle 白金服务常见问题解答

Oracle 白金服务免费为符合条件的 Oracle 标准支持服务客户提供响应速度更快的远程故障监视和补丁部署服务。 Oracle 白金服务是什么? Oracle 白金服务是为 Oracle 标准支持服务客户提供的一项特殊权益 — 如果客户在使用认证配置且通过 Oracle 高级支持网关与 Oracle 进行双向通信,那他们将享受到超过其 Oracle 标准支持服务合同所规定服务之外的更多服务。Oracle 白金服务免费为使用 Oracle Exadat 数据库云服务器、Oracle Exalogic 中间件云服务器或 Oracle SuperCluster等认证配置的 Oracle 标准支持服务客户提供增强支持,帮助他们实现高可用性和高性能。除享受 Oracle 标准支持服务的全部基本服务外,符合条件的 Oracle 白金服务客户还能享受 Oracle 远程故障监视、更快的响应速度以及补丁部署服务。Oracle 白金服务超越了典型 IT 支持模式,可帮助客户充分发挥技术投资的潜在价值。 Oracle 白金服务与 Oracle 标准支持服务有怎样的关系? 如上所述,Oracle 白金服务是为 Oracle 标准支持服务客户提供的一项特殊权益 — 如果客户在使用认证配置且通过 Oracle 高级支持网关与 Oracle 进行双向通信,那他们将享受到超过其 Oracle 标准支持服务合同所规定服务之外的更多服务。 Oracle 白金服务的费用是多少? Oracle 白金服务是基于 Oracle 标准支持服务的一项免费权益,因此客户无需额外支付任何费用。实际上,Oracle 白金服务通过最大程度降低或消除计划外停机,以及通过提供监视服务和补丁安装服务来减轻客户内部 IT 员工负担,能显著降低客户的运营总成本。 Oracle 白金服务有哪些特性? 除享受 Oracle 标准支持服务的全部基本服务外,符合条件的 Oracle 白金服务客户还能享受下列权益:24/7 Oracle 远程故障监视业界领先的响应速度• 5 分钟内故障通知• 15 分钟内恢复或上报开发部门• 30 分钟内与开发部门联合进行调试Oracle 每年进行多达四次补丁部署 Oracle 白金服务有哪些优势? Oracle 通过高接触服务来帮助客户支持其 Oracle 系统,这无需额外付费,也不会提高复杂性。客户可以通过选择在符合条件的 Oracle 系统上运行白金认证配置来获得 Oracle 白金服务,以便为下列领域带来卓越的价值:性能 — 在整个系统内实现高可用性,发挥 Oracle 硬件/软件解决方案的全部潜力。成本节约 — 降低风险、减少管理任务,同时实现更高的工作效率。客户不必再忙于应对突发事件,因而能将时间投入战略项目。创新 — 让您的业务及时用上 Oracle 产品增强和新增特性。 怎样才能成为 Oracle 白金服务客户? 要获得 Oracle 白金服务资格,客户需要满足三个条件。客户需要:1. 在以下任意一种 Oracle 系统上运行白金认证配置:Oracle Exadata 数据库云服务器、Oracle Exalogic 中间件云服务器、Oracle SuperCluster。2. 安装 Oracle 高级支持网关软件,以便启用远程监视、恢复和补丁安装服务。3. 同意由 Oracle 代表自己为服务范围内的系统部署补丁,每年多达四次。 白金认证配置是什么? 白金认证配置是指用在经 Oracle 测试和认证的 Oracle Exadata 数据库云服务器、Oracle Exalogic 中间件云服务器或Oracle SuperCluster 系统上的认证组件的指定组合。要查看符合条件的白金认证配置,请访问 www.oracle.com/goto/platinumservices。 为什么需要白金认证配置? 白金认证配置打造了统一的基础。借助这个基础,我们可以为标准支持服务涵盖的 Oracle 系统提供更高级别的高可用性支持。Oracle 自己的服务中心也是用这些认证配置来实现故障复制和故障排除。此外,由于 Oracle 自有系统和客户系统均采用这些已知配置,因此我们能够利用集体知识和持续的循环改进更有效地避免故障,以及在故障发生时更迅速地对故障做出响应。这样,所有人都能从捕获的知识和部署的更新中受益。 Oracle 白金服务是如何交付给客户的?Oracle 白金服务是通过 Oracle 高级支持网关软件提供的。客户可以灵活地部署该软件,既可以在自己的系统环境中将它部署到自己的硬件资源上,也可以在支持虚拟化的环境中将它部署到服务范围内的集成系统上。正是Oracle 高级支持网关这项核心技术才让我们能提供远程故障监视、远程响应和恢复以及补丁部署服务。Oracle 高级支持网关与 Oracle Continuous Connection Network (OCCN) 传输层相结合,可确保在客户与 Oracle 之间通过 SSL建立安全连接。 Oracle 如何在交付服务过程中保障 IT 环境和信息的安全? 监视和补丁安装功能是通过一个安全的双向通信系统 — Oracle 高级支持网关 — 实现的。Oracle 在访问客户系统提供监视和补丁安装服务时特别重视安全性问题。因此,Oracle 遵循严格的安全准则来保障 IT 环境和信息的安全。这些准则包括:• 采用纵深防御方法。• 数据收集以“需要知道”为限。• 严格遵循正式的安全策略和安全流程。• 通过第三方审计和认证实现独立验证。远程故障监视是如何运作的?Oracle 连续不断地监视服务范围内的所有组件,为 Oracle 技术体系提供单一责任点,帮助客户获得最���可用性。Oracle 高级支持网关利用 Oracle 与客户之间的单一连接,收集、整合并传输所有受监视组件的遥测数据。位于美国弗吉尼亚州赖斯顿、印度班加罗尔和苏格兰林立斯戈的白金卓越服务中心的 Oracle 工程师每周 7 天、每天24 小时随时待命,迅速响应 Oracle 高级支持网关传递的故障警报。该网关自动筛选警报,以便集中精力处理关键事件。客户将在 5 分钟内通过电子邮件接收到故障通知,并能通过 Oracle 高级支持门户直接查看最新系统遥测数据和服务活动。 Oracle 白金服务会监视哪些方面? Oracle 白金服务为服务范围内的系统监视硬件、数据库、操作系统和网络组件的故障。这种远程故障监视主要用于识别核心系统组件是否能正常工作,以便维持系统的可用性。Oracle 白金服务不包括全面的性能监视,如可选的高级监视和问题解决服务 — 这种服务利用特定于客户的服务级别标准和高级监视工具,对应用、硬件、网络和 Web基础设施的数百项指标进行预测性监视。要了解有关 Oracle 白金服务监视功能的更多信息,请联系您的 Oracle 高级客户支持服务销售代表。 Oracle 是否会监视不属于认证配置的应用或其他组件? 对于 Oracle 白金服务所涵盖范围外的组件和指标的监视和问题解决,客户可选择使用 Oracle 提供的其他收费服务。要了解有关可选服务增强的更多信息,请访问 www.oracle.com/goto/acsplatinumservices。 如果检测到故障,Oracle 的故障响应速度和系统恢复速度有多快? Oracle 将在接收到警报的 5 分钟内通知客户发生故障。Oracle 高级支持工程师参照全球统一知识库和支持工具集,迅速诊断问题并启动恢复工作。在开立“优先级 1”的服务请求之后,支持工程师将在 15 分钟内恢复系统或将问题上报开发部门。如果在开立服务请求的 30 分钟之后,问题仍未得到解决,支持工程师将与开发部门一起执行联合调试,加快问题的解决。为进一步确保将系统迅速恢复至其最高性能,Oracle 白金服务还包含清晰的上报流程、热线电话和专属的上报经理,夜以继日地提供专业支持服务。 这种响应水平是前所未有的,尤其是作为标准支持服务的一项免费权益,更是前无古人。要阅读 Oracle 白金服务技术支持政策的完整报告,请访问http://www.oracle.com/cn/support/library/platinum-services-policies-1652886-zhs.pdf。 补丁部署是如何运作的?Oracle 通过 Oracle 高级支持网关为白金服务范围内的系统应用补丁,每年四次。我们与客户一起评估、分析、计划和部署更新和补丁,以降低风险和复杂性。通过这样的持续改进,客户就能获得更高的系统性能、可用性和安全性。频繁更新也有助于快速采用 Oracle 产品增强,包括可迅速为您业务带来价值的强大的新特性和新功能。认证白金配置、将要安装补丁的程序以及远程补丁部署的范围请参见http://www.oracle.com/cn/support/library/remote-quarterly-patching-scope-1652890-zhs.pdf。 Oracle 为什么要免费提供这项服务?Oracle 深知,IT 系统可用性中断会给业务带来严重影响。因此,当您选择 Oracle Exadata 数据库云服务器、OracleExalogic 中间件云服务器或 Oracle SuperCluster 的极致性能时,就能免费享受增强的支持服务 — Oracle 白金服务。我们之所以能提供这种极致的支持价值,是因为我们的持续创新和发展吸收了我们为全球各地任务关键型业务解决方案(包括 Oracle 自己的数据中心)提供支持时所获得的深入洞察。而在标准配置上维护技术则有利于我们进一步降低支持 IT 系统的复杂性。此外,由于我们均采用已知(认证)的配置,因此我们能够利用集体知识和持续的循环改进更有效地避免故障,以及在故障发生时更迅速地对故障做出响应。这样,所有人都能从捕获的知识和部署的更新中受益。这也是“集成设计、卓越性能”理念的又一实现途径。 从哪里能找到更多相关信息? 如果您已经做好了享受 Oracle 白金服务的准备,我们将帮助您迅速从中受益。要深入了解 Oracle 白金服务和认证配置,请访问 www.oracle.com/goto/platinumservices。 准备好配置和更新现有 Oracle 集成系统了?我们能帮助您将系统更新至 Oracle 白金服务要求的最新认证配置,并安装设置 Oracle 高级支持网关。要了解更多信息,请访问 www.oracle.com/goto/acsplatinumservices。 准备好安装新的 Oracle 集成系统了?我们能帮助您安装新的集成系统,根据 Oracle 白金服务要求对其进行设置并安装设置 Oracle 高级支持网关。要了解更多信息,请访问 www.oracle.com/goto/acsplatinumservices。

Oracle 白金服务免费为符合条件的 Oracle 标准支持服 务客户提供响应速度更快的远程故障监视和补丁部署 服务。 Oracle 白金服务是什么? Oracle 白金服务是为 Oracle 标准支持服务客户提供的一项特殊权益 — 如果客户在使用认证配置且通过 Oracle 高级支持网关与 Oracle 进行双向通信,那他们将享受到超过其 Oracle...

Exalytics

ORACLE EXALYTICS 商务智能云服务器:简介

Oracle Exalytics 概述 Oracle Exalytics 商务智能云服务器是业界首个集成式内存中分析系统,它为业务智能和企业绩效管理应用程序提供了无限的超强性能。Oracle Exalytics 商务智能云服务器是单台服务器,该服务器针对业务智能负载的内存中分析而进行了优化配置,并且具有强大的计算能力、充裕的内存、快速存储和快速网络选件。Oracle Exalytics 商务智能云服务器包括经过优化的 Oracle Business Intelligence Foundation Suite 和 Oracle TimesTen In-Memory Database for Exalytics。Business Intelligence Foundation 充分利用 Oracle Exalytics 硬件提供的大内存、处理器、并发性、存储、网络、操作系统、内核和系统配置。与独立的软件相比,该优化提高了查询响应能力和用户可伸缩性,并显著降低了 TCO。Oracle TimesTen In-Memory Database for Exalytics 是一个经过优化的内存中分析数据库,具有只能在 Oracle Exalytics 平台上提供的特性。 Oracle Exalytics 硬件架构 Oracle Exalytics 硬件以单个 3RU 机架安装式服务器为单位进行交付,该服务器针对业务智能负载的内存中分析而进行了优化配置。用户可以将多台 Oracle Exalytics 服务器聚集为一个集群,以扩展可用内存容量并提供高可用性。Oracle Exalytics 具有强大的计算能力、充裕的内存和快速网络选件,并且支持直接连接存储选件。Oracle Exalytics 配有四个 Intel Xeon© E7-4800 系列处理器,且在处理器与 I/O 之间采用高速互联技术。每个处理器支持 10 个计算内核,从而总共提供 40 个计算内核。与计算能力相匹配的是,采用了 2TB 内存来提供充裕的内存中分析容量,采用了 2.4 TB 的 PCI 闪存作为存储来提高存储容量和性能。高性能的业务智能系统需要快速连接到数据仓库、操作系统和其他数据源。此外,为了创建提供高可用性、负载平衡和灾难恢复的集群,还需要使用高速网络连接。Oracle Exalytics 提供下列网络接口,以支持上述需求: InfiniBand:每台商务智能云服务器配有两个四倍数据速率 (QDR) 40 GB/s InfiniBand 端口,专门用于 Oracle Exadata(仅用于为数据仓库和联机事务处理 (OLTP) 应用程序提供超强性能的数据库云服务器)连接。当连接到 Oracle Exadata 后,Oracle Exalytics 就成为了 Oracle Exadata InfiniBand 专用网络不可或缺的组成部分,并且能够高速、低延迟地访问数据库服务器。当多台 Oracle Exalytics 形成集群时,InfiniBand 结构也起到高速集群互连的作用。 10 GB 以太网:配有两个 10 GB/s 以太网端口,用于连接到企业数据源和供客户端访问使用。 1 GB 以太网:配有四个 1 GB/s 以太网端口,用于客户端访问。 专用的 Integrated Lights Out Management (ILOM):用于全面远程管理的以太网端口。 所有的网络接口都支持故障切换,且可用于建立没有单点故障的集群。Oracle Exalytics 还配有冗余的可热插拔电源和风扇。Oracle Exalytics 配有 2.4TB PCI 闪存、一个高性能的连接存储系统、一个高性能的 RAID HBA 和 5.4TB 原始磁盘容量。另外,Oracle Exalytics 集群还可利用网络连接存储来存储共享的元数据和配置数据。 Oracle Exalytics 配有完善的服务器管理基础架构和 Oracle Integrated Lights Out Management (ILOM)。Oracle ILOM 通过远程(SSL、HTTPS)串行连接提供对服务器硬件的全面管理。 Oracle Exalytics 软件概述 Oracle Exalytics 运行 Oracle Business Intelligence Foundation Suite 和 Oracle TimesTen In-Memory Database for Exalytics,以及 Oracle Essbase 和 Oracle Endeca Information Discovery。Oracle Business Intelligence Foundation Suite 和 Oracle TimesTen In-Memory Database for Exalytics 经过专门增强,可协同工作,且经过优化,能够基于 Oracle Exalytics 硬件提供独特的特性。 Oracle Business Intelligence Foundation Suite Oracle Business Intelligence Foundation Suite 提供当今市场上最全面、开放、集成的业务智能平台。Oracle Business Intelligence Foundation Suite 在一个集成平台上为业务智能提供全面、完整的功能,包括企业报表、信息板、即席分析、多维 OLAP、记分卡和预测分析。 Oracle Business Intelligence Foundation Suite 包含业界用于关系和多维分析的同类最佳的服务器技术,并提供丰富的最终用户体验,包括可视化、协作、警报和通知、搜索和移动访问。 Oracle TimesTen In-Memory Database for Exalytics Oracle TimesTen In-Memory Database (TimesTen) 是一个内存优化、功能齐全的成熟的持久性关系数据库。TimesTen 以内存优化的数据结构存储其所有数据,并支持专为内存中处理设计的查询算法。TimesTen 通过使用熟悉的 SQL 编程接口,提供实时数据管理,从而针对各种负载提供超快的响应速度和极高的吞吐量。基于 Oracle TimesTen In- Memory Database 的 Oracle TimesTen In-Memory Database for Exalytics 经过专门增强,支持内存速度的分析处理。列压缩:Oracle TimesTen In-Memory Database for Exalytics 支持列压缩,能够减少内存中数据的内存占用。5 倍的压缩率非常实用,有助于扩展内存中容量。分析算法在设计上可直接对压缩数据进行操作,从而进一步提高了内存中分析查询的速度。 Oracle Essbase Oracle Essbase 是用于分析应用程序的业���领先的多维 OLAP 服务器。Exalytics 上的 Essbase 针对内存中操作进行了许多优化,包括提高整体存储层性能,增强并行操作,增强 MDX 语法以及提供一个高性能的 MDX 查询引擎。Exalytics 上的 Essbase 将查询执行速度提高了多达 16 倍,并且将回写和计算操作(包括批处理)减少了高达 6 倍。与硬盘驱动器相比,闪存存储的 Essbase 数据加载速度快 25 倍,Essbase 计算速度快 10 倍。这些增强对于高级情景建模、预测和规划、管理报告和盈利能力分析尤为重要。Oracle Hyperion Enterprise Performance Management 管理软件中内置的新功能利用了 Essbase 优化。这些运行在 Exalytics 上的预配置 Oracle EPM 管理软件(例如 Hyperion Planning、Hyperion Profitability 和 Cost Management)使组织能够充满信心地制定盈利增长和报告计划。 Oracle Endeca Information Discovery 通过运行在 Exalytics 上的 Oracle Endeca Information Discovery,可实现对新数据源的快速洞察,这些数据源包括社交媒体、网站、内容管理系统、文档中的原始文本、电子邮件等中的非结构化内容。通过将这些数据与数据仓库和企业应用程序中的结构化数据相关联,用户将能够更准确地管理非结构化数据源中的数据和含义,最终推动更好的业务决策和创新。为了最充分地利用 Oracle Exalytics 提供思维速度的性能,我们构建了具有内存中架构、高度可伸缩性、面向列等特点的多核并行化的原生内存中 Endeca。 集群 Oracle Exalytics 商务智能云服务器还支持集群,以便提供可伸缩性和高可用性。它支持主动-主动和主动-被动配置。此外,还可以对集群进行配置,以共用可用的内存资源,从而在内存中容纳更大的数据集。 内存中分析 Oracle Exalytics 包括两个内存中分析引擎以提供分析功能 — Oracle TimesTen In-Memory Database for Exalytics,以及实现了针对 Exalytics 的内存中优化的 Oracle Essbase。以下四项技术利用这两个数据管理引擎,为工作组、部门和企业级的各种业务智能使用情形提供高性能的内存中分析。这四项技术为: 内存中数据复制 内存中自适应数据集市 内存中智能结果缓存 内存中多维数据集 下面将详细介绍这些机制。 内存中数据复制 许多企业业务智能实现,包括 Oracle 提供的预打包的业务智能管理软件在内,可能能够完全装入内存。在这种情况下,用于 Oracle Exalytics 的 Oracle 业务智能服务器(BI 服务器)可以将整个数据仓库复制到 TimesTen In-Memory 数据库。该机制支持将内存中分析用于所有使用情况,包括即席分析和交互式信息板。 内存中自适应数据集市 大多数业务智能部署都具有专注于企业数据仓库中特定“热”数据集合的负载模式。在这种情况下,提供亚秒级交互性的最有效方式是确定和创建一个相关“热”数据的数据集市。在 TimesTen for Exalytics 中实现内存中数据集市可最有效地提高针对大数据集的查询响应能力。利用客户数据进行的测试表明,查询响应时间减少了 20 倍,吞吐量提高了 5 倍。自动管理:过去,为实现查询加速而创建数据集市通常需要昂贵、易于出错的手动研究,来确定将哪些主题领域或多维数据集装入内存。Oracle Exalytics 通过提供必需的自动化显著降低调优成本并在许多情况下省掉调优成本,这种自动化可为特定的业务智能部署确定、创建和维护最适合的内存中数据集市 — 这样将显著降低实现和维护数据密集型业务智能部署所需的快速查询响应和高吞吐量带来的成本。如果“热”数据无法全部装入单个服务器的内存,可以将数据拆分到多个 Oracle Exalytics 服务器中,以增加可用于内存中分析的内存容量。 内存中智能结果缓存 Oracle Exalytics 结果缓存是一个完全可重用的内存中缓存,其中填充了服务器以前生成的逻辑查询结果。除了为重复查询提供数据之外,结果缓存中的任何结果集均被视为一个逻辑表,并能够满足需要缓存数据子集的任何其他查询的需求。为获得最佳查询加速,Oracle Exalytics 提供了一些工具来分析使用情况,确定和自动执行结果缓存的预先植入。预先植入可确保运行时查询的即时响应。 内存中多维数据集 Oracle Essbase 及其针对 Oracle Exalytics 的内存中优化提供另一种对特定主题领域的查询进行加速的方式。这与其他内存中技术不同的是,多维数据集也可能是可写的。用于 Oracle Exalytics 的 BI 服务器提供了多种方法来从语义层提取的数据创建多维数据集,以提供高级情景建模和假设分析,从而提供了前所未有、无缝的建模和报告框架。 硬件加速 Oracle Exalytics 包含 Oracle Business Intelligence Foundation Suite 的一个优化版本,该版本已专门针对 Oracle Exalytics 的硬件和软件组合进行了调优。由于采用端到端软件优化,Oracle Business Intelligence Foundation Suite 组件配有支持优化的硬件加速选件,以便这些优化可以专门利用 Oracle Exalytics 服务器中从处理器架构到并发和内存的特定配置。这些优化已表现出可以将高负载时的吞吐量提高多达 3 倍,因此与同类商用硬件相比,可以支持 3 倍的用户数量。 Oracle Exalytics 和 Oracle Exadata:更佳组合 Oracle Exadata 数据库云服务器是唯一可同时为数据仓库和联机事务处理 (OLTP) 应用程序提供极限性能的数据库机,这使它成为理想的网格或私有云整合平台。Oracle Exadata 是一个由服务器、存储、网络和软件共同组成的完备系统,该系统极具可伸缩性、安全性和冗余性。采用 Oracle Exadata 数据库云服务器,客户可以通过整合来降低 IT 成本,在多个压缩层上管理更多数据,,提高所有应用程序的性能��以及实时制定更好的业务决策。Oracle Exalytics 与 Oracle Exadata 的高性能查询处理功能相辅相成,为分析负载(包括报表、信息板、即席查询和 OLAP)提供同类最佳的用户体验。Oracle Exalytics 从设计之初就旨在与 Oracle Exadata 相配合。从网络接口、协议、中间件到数据库交互,Oracle Exalytics 为连接到 Oracle Exadata 的情况提供了最好的总拥有成本。Oracle Exalytics 附带预配置和预测试的选件,从而无需就 Oracle Exadata 进行大量调优即可获得最佳性能和最低的总拥有成本 (TCO)。 InfiniBand 互联Oracle Exalytics 配有专用的 2 端口 InfiniBand 接口,以提供与 Oracle Exadata 的 InfiniBand 专用网络的冗余连接。通过此连接,能够实现与 Oracle Exadata 的 40Gb/s 专用连接,而不受外部的干扰。对于包含多个 Oracle Exalytics 节点的集群,无需额外的交换基础架构即可连接到 Oracle Exadata。此外,Oracle Exadata 交换网络可为 Oracle Exalytics 系统之间提供高速、完全冗余的集群互连。复制/填充内存中数据库,以及在 Oracle Exadata 上查询数据仓库和运营数据源时,高速 InfiniBand 网络可提供延迟极低的高容量管道。 Oracle Exalytics 针对 Oracle Exadata 的优化Oracle Exalytics 商务智能云服务器支持适用于 Oracle Exadata 的最佳 SQL 生成。对于数据仓库不能完全装入 Oracle Exalytics 内存中缓存的大型分析部署,Oracle Exalytics 部署可以通过利用 Oracle Exadata 的大规模并行处理和性能超强的功能而获益。此外,Oracle Exalytics 还可以使用 Oracle Exadata 作为对其内存中缓存/数据集市的扩展。这样的配置提高了内存中缓存/数据集市的容量,尤其适合于对大型联合部署提供统一的响应能力。 性能与兼容性 虽然 Oracle 商务智能云服务器在性能和可用性方面有重大突破,但它仍然完全支持广泛的 Oracle BI 和 EPM 应用程序。此外,如果客户现有的应用程序是基于 OBIEE 和 Essbase 构建的,则他们可以无缝迁移其应用程序,以充分利用 Oracle 商务智能云服务器的强大功能,并且无需更改应用程序即可充分利用内存分析技术。

Oracle Exalytics 概述 Oracle Exalytics 商务智能云服务器是业界首个集成式内存中分析系统,它为业务智能和企业绩效管理应用程序提供了无限的超强性能。 Oracle Exalytics 商务智能云服务器是单台服务器,该服务器针对业务智能负载的内存中分析而进行了优化配置,并且具有强大的计算能力、充裕的内存、快速存储和快速网络选件。Oracle Exalytics...

Exalogic

Exalogic虚拟机最新模板发布 – Oracle Linux 6.5

        最近,包含有Oracle Linux 6.5的虚拟机模板已经可以在Exalogic虚拟化平台上使用了。运行有2014年7月PSU(2.0.6.0.2或2.0.6.1.2)及之上的版本的Exalogic虚拟化系统均可支持Oracle Linux 6.5的使用。         Oracle Linux 6.5包含了坚不可摧的企业级内核(Unbreakable Enterprise Kernel,简称:UEK)第三版。此内核版本的一大特性是对DTrace提供了支持,整合了DTrace框架的Linux可以对操作系统提供更好的监控、诊断以及性能分析。并且,Oracle Linux 6.5还包含了很多其他新的特性以及安全方面的加强。         使用Oracle Linux 6.5模板创建的虚拟机亦可通过YUM工具升级直接至最新的Oracle Linux 6.x版本,以获得最新的补丁与更新。         关于此模板以及升级的更详细信息,敬请查阅My Oracle Support平台的以下两篇文档: Exalogic虚拟化平台下的Oracle Linux (OL) v6.5客户虚拟机模板 (Doc ID 2054345.1) Exalogic虚拟化环境 – 升级Oracle Linux 6.5客户虚拟机至最新的Oracle Linux v6.x版本 (Doc ID 2054347.1)

        最近,包含有Oracle Linux 6.5的虚拟机模板已经可以在Exalogic虚拟化平台上使用了。运行有2014年7月PSU(2.0.6.0.2或2.0.6.1.2)及之上的版本的Exalogic虚拟化系统均可支持Oracle Linux 6.5的使用。        Oracle Linux 6.5包含了坚不可摧的企业级内核(Unbreakable...

Exalogic

Exalogic 上启用Kdump

在使用OEL(Oracle Enterprise Linux)或者OVS(Oracle Virtual Server)的Exalogic rack上,我们推荐配置Kdump. Kdump 的概念出现在 2005 左右,是迄今为止最可靠的内核转存机制,已经被主要的 linux 厂商选用。它是一种基于 kexec 的 Linux 内核崩溃捕获机制,将 kernel 崩溃前的内存镜像保存,通过分析该文件找出 kernel 崩溃的原因,从而进行系统改进。什么是 kexec ?kexec 是 Linux 内核的一个补丁,让您可以从当前正在运行的内核直接引导到一个新内核。kexec 跳过了整个引导装载程序阶段并直接跳转到我们希望引导到的内核。不再有硬件的重启,不再有固件操作,不再涉及引导装载程序。这一功能部件带来的最大益处在于,系统现在可以极其快速地重新启动。什么是 kdump ?kdump 是一种先进的基于 kexec 的内核崩溃转储机制, Kexec 是实现 kdump 机制的关键。当系统崩溃时,kdump 使用 kexec 启动到第二个内核。第二个内核通常叫做捕获内核,以很小内存启动以捕获转储镜像。第一个内核保留了内存的一部分给第二内核启动用。由于 kdump 利用 kexec 启动捕获内核,绕过了 BIOS,所以第一个内核的内存得以保留。这是内核崩溃转储的本质。kdump 需要两个不同目的的内核,生产内核和捕获内核。生产内核是捕获内核服务的对像。Exalogic 上如何使用 kdumpOracle推荐在所有物理化和虚拟化版本exalogic上使用Kdump. 比如对于物理化版本exalogic,在运行linux 的计算节点上配置Kdump. 针对虚拟化版本exalogic, 在运行Oracle virtual server的dom0上配置kdump. 具体请参考MOS(my.oracle.support)基础文档: 基础文档: Exalogic 上Kdump配置 (Doc ID 1996649.1)

在使用OEL(Oracle Enterprise Linux)或者OVS(Oracle Virtual Server)的Exalogic rack上,我们推荐配置Kdump. Kdump 的概念出现在 2005 左右,是迄今为止最可靠的内核转存机制,已经被主要的 linux 厂商选用。它是一种基于 kexec 的 Linux 内核崩溃捕获机制,将 kernel...

Exadata

利用EM监控Exadata 数据库云平台

      EM 是Oracle Enterprise Manager的简称。 目前‘Enterprise Manager Cloud Control 12c’ 这个版本也可以叫云管理平台。      云项目通常是指从大量的规划工作开始,然后构建和操作,接下来再进入持续的监控,管理和优化阶段。 EM Cloud Control 12c这个软件就提供了整个管理能力,目前它也是Exadata最好的监控工具。因为它能够做到集中监控和管理,能够持续监控大量的配置,发现变更,测量份额,能够找出配置错误,而这些都是在一个面板中就可以完成。它也和My Oracle Support进行了集成。 这个集成可以做到补丁建议, 服务请求管理,知识库管理等。      EM 自身的主要组件包括: EM Agent, 管理服务器 (也就是我们简称的OMS), 存储数据库, 还有插件 (插件就是管理某种目标类型的专属模块)。我们看下这个部署图片进行详细的介绍:       首先, 从上往下看可以看到 Management Agent;Agent是一个完整的软件部署在每一个被监控的主机上面。OMS是一个基于web应用的控制台可以与Agent协调并通过插件去discovery (发现)目标, 把收集出来的信息放到Management Repository(资料库)中作为未来的参考和分析。管理资料库是一个存储场所,所有被Agent收集出来的信息存放在里面。 它里面的对象包括数据库Job,packages,存储过程,视图还有表空间等。       技术上讲,OMS先从Agent那里得到监控数据,然后传到这个管理资料库里,管理资料库组织数据再返给OMS,从而显示在EM这个控制台上面。       插件是属于一种嵌入式的软件,它是专门为了适合特定目标类型而定制的,来提供特殊管理功能。这个和之前老版本的EM企业管理器(Grid Control)是不同的,在早起的版本中,插件主要是用来监控第三方的软件。 但在这12c这个版本起,插件在系统中用来监控所有类型的目标。它结合OMS和Agent去监控每一个目标。 因此它们不仅被部署在OMS上同时也在Agent上。插件可以在EM控制台里下载和部署,使EM企业管理器实时管理支持最新的Oracle产品,不用再去等下一个版本的EM去提供这些功能。打个比方,当新版本的数据库发布了,我们可以很容易的下载和部署新版本的数据库插件,它将会包括新版本数据库特性的管理支持。       在EM12c基本的安装里就有一些默认的插件,如数据库插件,Exadata插件。我们监控Exadata 数据库云平台就用到Exadata插件。在Exadata 数据库云平台的所有组件,就靠这一个单独插件即可。    介绍完EM的基本架构,我在这里再简单介绍下Exadata 一体机的组件: a.数据库存储服务器(Computer Nodes) – 我们的EM agent就是安装在这个上面。 b.存储服务器单元 (Storage Nodes) c.光纤网络Infiniband交换机为inter-cluster连接和磁盘访问。 d.思科网络交换机用来给以太网网络访问。 e.KVM-键盘,视频和鼠标开关装置,允许本地访问集群的每个组件 f.PDU 两个配电单元        EM 控制台有个发现向导功能Discovery Wizard,会引导我们一步一步去发现Exadata的组件。所有的前续配置步骤建议参考EM12c 针对Exadata的在线文档: http://www.oracle.com/technetwork/oem/exa-mgmt/em12c-exadata-discovery-cookbook-1662643.pdf      总结主要有三个步骤去部署EM 监控在Exadata 数据库云平台上:1.    首先从EM控制台中给计算机节点 computer node部署agent2.    因为默认有exadata的插件,接下来可以去discovery (发现) Exadata的组件3.    配置目标        当配置完成后,我们可以看到一个仿真的Oracle Exadata数据库云平台的示图。面板可直观展示各组件的状态和温度,计算机节点CPU,内存,文件系统使用,网络流量,是否发生过事故等情况。 对于存储节点,可以看到cell性能柱状图,ASM  diskgroup 容量信息,各个数据库I/O占用率,异常警告。对Infiniband 交换机,可以看到当前数据吞吐量,端口使用情况,异常端口告警。还有Cisco以太网交换机上的网络接口的状态。数据库活动会话负载情况,正在运行的job,top sql等等。        既然这个监控工具有这么多优点,我们就开始动手在 Exadata上部署和配置 Oracle Enterprise Manager 12c吧。 参考资料:官方文档http://docs.oracle.com/cd/E24628_01/index.htmMyOracleSupport 文档Oracle Database Machine Monitoring Best Practices (Doc ID 1110675.1)EM论坛http://myforums.oracle.com/jive3/category.jspa?categoryID=353

      EM 是Oracle Enterprise Manager的简称。 目前‘Enterprise Manager Cloud Control 12c’ 这个版本也可以叫云管理平台。      云项目通常是指从大量的规划工作开始,然后构建和操作,接下来再进入持续的监控,管理和优化阶段。 EM Cloud...

Exadata

网上研讨会: 深入了解 Exadata Smart Scan

ADVISOR WEBCAST: 深入了解 Exadata Smart Scan (Exadata Smart Scan Deep Dive)PRODUCT COMMUNITY: Exadata GeneralSchedule:    周三, 2015年11月25日下午3:00 (北京时间)Abstract:本次网上研讨大约1小时, 将会深入了解Exadata 的 Smart Scan技术, 帮助使用Exadata的用户更好的了解Smart Scan的使用范畴和适用场景.Topics Include:    了解什么是 Smart Scan    什么时候会发生Smart Scan    在 SQL 执行计划中找到 Smart Scan    了解 Storage IndexesDuration: 1 hrCurrent Schedule and Archived Downloads can be found in <<Note 740966.1>>WebEx Conference DetailsTopic: 深入了解 Exadata Smart Scan (Exadata Smart Scan Deep Dive)Event Number: 599 739 799Event Passcode: 909090Register for this Advisor Webcast: https://oracleaw.webex.com/oracleaw/onstage/g.php?d=599739799&t=aOnce the host approves your request, you will receive a confirmation email with instructions for joining the meeting.InterCall Audio InstructionsA list of Toll-Free Numbers can be found below.    Participant US/Canada Dial-in #: 1866 230 1938        International Toll-Free Numbers    Alternate International Dial-In #: +44 1452 562 665    Conference ID: 28676270VOICESTREAMING AVAILABLE

ADVISOR WEBCAST: 深入了解 Exadata Smart Scan (Exadata Smart Scan Deep Dive) PRODUCT COMMUNITY: Exadata General Schedule:     周三, 2015年11月25日下午3:00 (北京时间) Abstract:本次网上研讨大约1小时, 将会深入了解Exadata 的 Smart...

Exadata

Exadata存储服务器的紧急修复(rescue)经验分享

        这篇文章主要从何时需要紧急修复、准备过程、实施阶段等几个方面来与大家分享Exadata 存储服务器Rescue方面的维护经验,有的地方提供了My Oracle Support网站的文章号。了解storage server 和rescue方法         什么是Rescue呢?Rescue这个英文对应的中文含义是紧急修复,只在非常必要的情况下才需要进行,否则会造成无谓停机和软件版本的不一致。        首先,我们需要了解Exadata存储服务器(storage server)方面的知识,它主要提供智能的磁盘I/O给计算节点。关于磁盘的管理,可以通过阅读My Oracle Support文章Auto disk management feature in Exadata (Doc ID 1484274.1)来熟悉storage server上的自动磁盘管理特性。        以下关于何时需要紧急修复,准备阶段和实施阶段等方面进行分享。 何时需要Storage server(存储服务器)的rescue过程         当系统盘失效,操作系统有一个文件系统损坏了或者boot区域被破坏了的时候。一台节点机上的两个系统磁盘都同时失效了的话,就必须通过CELLBOOT USB flash盘上的Oracle Exadata Storage Server软件进行rescue了。请仔细阅读产品文档中的 Maintaining Exadata Storage Servers of Oracle Exadata Racks章节:Using the Oracle Exadata Storage Server Software Rescue Procedure准备阶段         平时要查看CELLBOOT USB盘是否可用,如果丢失或者损坏了,通过如下过程来创建:重新生成一个损毁的CELLBOOT USB闪存盘        如果CELLBOOT USB闪存盘丢失或者损毁,您可以使用如下过程来创建一个新的。注意: 针对运行Oracle Exadata Storage Server Software release 12.1.2.1.0或更高版本的机器创建一个USB闪存盘,要求机器操作系统版本是Oracle Linux 6To create a USB flash drive for a machine running Oracle Exadata Storage Server Software release 12.1.2.1.0 or later requires a machine running Oracle Linux 6.        以root用户身份登录到cell接插上新的USB盘,它上面的容量得至少1GB,最大可以到8GB。从系统上移除任何其它的USB闪存盘执行如下命令:    cd /opt/oracle.SupportTools    ./make_cellboot_usb -verbose -force        一般来说,Cell上有大量的业务数据,需要注意保证相应磁盘组里有足够多的空闲空间,这样,ASM根据情况重新分布(该需要rescue的cell上面的)数据到磁盘组的剩余磁盘时,就不至于因为空余空间不足从而无法完成。        如果storage server上打过one-off patch,请记住打过的patch号,以便rescue之后可能需要重新打。实施阶段         真正进行紧急修复时要注意什么呢?用CELLBOOT USB进行rescue时,从GRUB里选择CELL_USB_BOOT_CELLBOOT_usb_in_rescue_mode引导条目。但如果CELL_USB_BOOT_CELLBOOT_usb_in_rescue_mode 这个选项条目显示不出来,请参照文章Unable to rescue the Exadata storage using CELLBOOT USB (Doc ID 1413637.1) 的步骤向下继续进行。        如果rescue过程完不成,这多半表明可能有硬件问题。这时如果您连接到iLOM 上执行:show faulty它会说明出了什么情况。如果机器确实有硬件问题,则必须先修正这个硬件故障,之后再进行后续工作。        如果启动Storage Cell后,根文件系统 "/" 被mount成 read only了,则恢复的过程需要用到USB相关的rescue模式,需要详细步骤请创建一个技术支持服务请求(SR),由Oracle技术支持工程师协助解决。Rescue完成后的注意事项         如果机器是X3-2 Eighth Rack,则需要参考文章Exadata Database Machine Eighth Rack reconfiguration required after restore/rescue (Doc ID 1538561.1)里所说的补充步骤来恢复为正确的配置。        如果Flash cache的mode (Writethrough及Write-Back)被从默认值修改过,在rescue之后,要手动单独重启一次cell server (restart cellsrv)。        检查IORMPLAN, THRESHOLDs, Cell notification settings这些配置是否与原来的一致,不一致的话进行调整。        如果系统改变过host_access_control,需要检查是否一致。但一般来说这一项大多数用户都不涉及。其它参考         有可能的话请尝试熟悉文章:    Exadata Platinum Customer Outage Classifications and Restoration Action Plans (Doc ID 1483344.1) 所提及的与系统停止运行有关的维护要点。 参考链接 OTN:Oracle ExadataOracle Exadata Machine 官方主页Exadata 官方文档 后续的问题欢迎点击链接参与我们在中文社区的讨论

        这篇文章主要从何时需要紧急修复、准备过程、实施阶段等几个方面来与大家分享Exadata 存储服务器Rescue方面的维护经验,有的地方提供了My Oracle Support网站的文章号。了解storage server 和rescue方法       ...

Exadata

Exadata 数据库云平台软件升级介绍

一 、前言          Exadata数据库云平台是oracle推出的硬件、软件集成的数据库服务平台产品。既然是产品,就会有产品的更新和升级。这里重点介绍Exadata由哪些软件构成,以及如何对这些软件进行升级。 二、Exadata 硬件架构     软件是依附于硬件的,下图是Exadata的硬件架构,对于理解软件的构成有很好的帮助。     这是一个X5-2全配的Exadata硬件,它包括8个数据库节点(也叫计算节点),14个存储节点(也叫cell节点),中间两个叶子(leaf)infiniband交换机,和最下面的一个骨干(spine)infiniband交换机。在最新版的X5-2中已经看不到X4-2之前的高性能(HP)存储服务器,取代它的是极速flash存储服务器。这些是Exadata的主要组件,每个组件上都运行了相应的软件,本文只讨论主要组件上的软件更新和升级。其它的外围设备,比如电源适配器(PDU), CISCO 交换机,KVM 的软件的更新不会涉及。 三、Exadata 软件系统构成及补丁概述 1. Exadata的软件系统构成 存储服务器软件 数据库服务器软件 1) Oracle 集群软件(GI) 和数据库软件 2) 操作系统软件和固件(firmware) Infiniband 交换机软件 外围设备软件         Exadata上每一个软件系统都提供了补丁(patch)方案,下面我们将对每部分进行说明。在说明之前,特别推荐一篇Exadata补丁方面最重要的MOS文档:888828.1。所有Exadata上软件补丁的信息都会在这个文档中找到,可以说是Exadata软件升级的葵花宝典。 2.  软件补丁的发布频率 3. QFSDP         QFSDP(Quarter Full Stack Download Patch)是指每季度发布并提供下载的最大最全的补丁集。是Oracle建议客户去定期下载并升级的最新补丁包。这个补丁包括如下内容: 基础架构软件 Exadata 存储服务器软件 InfiniBand 交换机软件 电源分配单元(PDU) 数据库软件 Oracle 集群软件和数据库软件的Bundle补丁 Oracle JavaVM PSU OPatch 工具 OPlan 工具 系统管理软件 EM Agent EM OMS EM Plug-ins 四 、存储服务器软件 1.构成 存储服务器软件补丁是要安装在存储服务器上的,它包括对固件(firmware),操作系统,和存储软件的升级和更新。这个软件也有单独的补丁包,可从MOS上进行下载。 2. 安装 Oracle提供了一个叫做patch manager(patchmgr)的工具进行安装,有两种方法: 1) Rolling , 也叫在线滚动升级,在不停集群和数据库服务的情况下,对cell 服务器进行一个接一个的升级安装,这种安装方式,一次只能升级一个cell服务器。这种方式的优点就是不影响应用系统和业务的正常运行,缺点是升级过程所需要的时间比较长。 示例: 2) Non-rolling,也叫offline的升级,需要停止集群和数据库服务,然后同时升级所有的cell服务器。这种方式的优点是节省了升级过程所需要的时间,缺点是客户要安排一个宕机窗口来实现软件的升级。 示例: 3. 当前主流的软件版本 11g:11.2.3.3.1;11.2.3.3.0;11.2.3.2.2;11.2.3.2.1 12c: 12.1.2.1.1;12.1.2.1.0;12.1.1.1.2;12.1.1.1.0 五、数据库服务器软件 1.构成     数据库服务器软件包括两部分,一部分是数据库软件补丁,这个补丁包括数据库和GI软件的升级补丁包,通常叫它bundle补丁(bundle patch),简称BP。 BP中包含最新版数据库和GI的PSU和SPU, 它也可以从MOS上单独下载,另一部分是操作系统和firmware,包括对数据库服务器上操作系统以及ilom软件和相关部件firmware的更新。 2.安装     数据库软件补丁的安装基本上和普通数据库补丁的安装方法相同,都是利用opatch工具进行安装,而且也有rolling和non rolling两种方式,我们可以参照readme文档中详细的步骤进行安装。操作系统和firmware的安装在数据库服务器上比较特别,通过一个叫做dbnodeupdate.sh的升级脚本进行自动升级。具体方法,请参阅MOS文档1553103.1。 3.主流数据库BP版本     11g:11.2.0.3.26,11.2.0.3.27,11.2.0.4.15,11.2.0.4.16     12c:12.1.0.1.6,12.1.0.1.7,12.1.0.2.7,12.1.0.2.8 4. 临时补丁  使用Exadata 数据库的客户可能会遇到一些新的bug,如果这些bug没有及时被BP所修复,那么我们就需要在特定的数据库BP版本上去申请临时的小补丁来修复问题。客户需要在MOS上建立服务请求,让oracle 技术支持来协助您确认和申请这个补丁。客户拿到补丁后,就可以按照readme里的安装手册进行安装。 六、Inifiniband 交换机软件 最新的inifiniband交换机软件会包含在最新的存储服务器软件补丁包当中,从11.2.3.3.0版本之后,需要用patch manager脚本去升级infiniband交换机的软件。最新的两个版本是2.1.3-4和2.1.5-1。 以上是对数据库云平台软件的升级的一个概述,每个组件详细的升级方法和步骤都在补丁包的readme文档和相关的note中有详细的说明。如果有问题也可以访问Exadata中文社区进行提问,那里会有oracle 技术工程师为您详细解答。 参考文档: Exadata Patching Overview and Patch TestingGuidelines (Doc ID 1262380.1) ExadataDatabase Machine and Exadata Storage Server Supported Versions (Doc ID888828.1) 参考链接 OTN:Oracle ExadataOracle Exadata Machine 官方主页Exadata 官方文档 后续的问题欢迎点击链接参与我们在中文社区的讨论

一 、前言          Exadata数据库云平台是oracle推出的硬件、软件集成的数据库服务平台产品。既然是产品,就会有产品的更新和升级。这里重点介绍Exadata由哪些软件构成,以及如何对这些软件进行升级。 二、Exadata 硬件架构     软件是依附于硬件的,下图是Exadata的硬件架构,对于理解软件的构成有很好的帮助。     这是一个X5-2全配的Exadata硬件,它包括8个数据...

Exadata

Exadata 数据库云平台软件结构

    在“Exadata 硬件构架简介”一文中我们了解到Exadata的组件包括计算节点(Compute node),存储节点(Storage cell),InfiniBand交换机及Cisco交换机等等。在本文我们将对Exadata的软件结构及它们之间是如何在Exadata架构中互连进行简单的介绍。     Exadata的软件分别位于数据库服务器和存储服务器上。在数据库服务器上运行着标准的oracle数据库组件,在存储服务器上运行着oracle磁盘管理软件。在这两层中的组件通过iDB协议通信。    其软件体系结构入下图所示: 数据库服务器软件 操作系统     计算节点上运行着Oracle Enterprise Linux操作系统或者Solaris操作系统,用户可以根据自己需求选择安装。 数据库服务器软件     在操作系统上运行着Oracle GI(Grid Infrustructure)和Oracle database 11gR2及更高版本的软件。这套软件跟运行在其它平台上的软件并无差异,也不是什么特殊的版本。唯一不同的,在Exadata上ASM使用libcell通过infiniband网络来访问存储节点上的数据。libcell是一个跟Oracle Kernel相关联的库,通过iDB协议请求数据,允许Oracle内核直接通过网络与存储层通信。     在Exadata上,存储的管理全部都是通过ASM来实现完成的。做为GI的一部分,它为Exadata存储提供了文件系统和卷管理功能。ASM通过镜像数据块对存储提供冗余性,可以使用普通冗余(两份copy)或者高度冗余(3份copy)。ASM冗余性允许在多个存储节点间镜像数据,因此即使某个存储节点完全损坏,也不会影响数据库的正常运行。     谈到ASM,也就顺便提一下Exadata中存储硬盘的划分。每块存储服务器上磁盘都被自动划分为一个LUN,每块物理硬盘称为一个Cell Disk,每个Cell Disk可以划分为一个或者多个Grid Disk,每个Grid Disk对应一个ASM磁盘。具体划分如下图所示:     此外,在Exadata数据库服务器的每个节点还默认安装了OSWatcher。用于数据数据库节点系统资源的收集,以便因为系统资源的产生的问题的诊断。 存储服务器软件 操作系统     Exadata的存储服务器的每个存储节点上运行着Oracle Enterprise Linux 5.0以上版本的操作系统。 存储节点软件进程     在每个存储节点软件中包括以下软件进程:     Cell Server(CELLSRV)是运行在存储节点上的主要进程。用于处理从计算节点上发送过来的I/O请求。cellsrv 针对简单的块请求和智能扫描(Smart Scan)提供服务。     Management Server(MS)提供单个存储节点的日常管理维护和配置。     Restart Server(RS)是保障、监控存储节点和MS进程,在必要时重启它们。     每个存储服务器中的存储节点都是单独由Cell Control Command-Line Interface (CellCLI)进行管理的。CellCLI提供了命令行接口对存储节点进行管理。比如:存储节点的初始化配置,cell disk和grid disk的创建,以及性能监控等功能。     和传统存储一样,exadata的存储服务器可以供多个数据库使用,但是如何来控制一个数据库使用的I/O呢?在Exadata上可以定制IORM(IO Resource Management)与 数据库节点的DBRM 协同工作来计量各种数据库和客户组在发送 I/O 时所用 I/O 带宽,方便地将存储服务器中的IO资源分配给不同的数据库使用来解决了同一存储不同数据库的IO需求冲突。     另外,在存储服务器的每个节点也默认安装了OSWatcher。用于数据数据库节点系统资源的收集,以便因为系统资源的产生的问题的诊断。    希望通过以上介绍读者能够对Exadata的软件结构的有个初步的认识。

    在“Exadata 硬件构架简介”一文中我们了解到Exadata的组件包括计算节点(Compute node),存储节点(Storage cell),InfiniBand交换机及Cisco交换机等等。在本文我们将对Exadata的软件结构及它们之间是如何在Exadata架构中互连进行简单的介绍。   ...

Exalogic

Exalogic Elastic Cloud Software介绍

1. 介绍Exalogic Elastic Cloud Software包含了预集成在Oracle Linux/Solaris中的Exalogic功能包,设备驱动和固件.Exalogic中的高可用性,Infrastructure-as-a-Service (IaaS) ,服务器和网络虚拟化,存储和云管理等功能都是功过 Exalogic Elastic Cloud Software得以实现 2. Exalogic Elastic Cloud Software (EECS)组成 图1. Key Components of Exalogic Elastic CloudSoftware 通过图1,我们可以看到EECS包含了以下部分:Exabus,Exabus Integration,Exalogic Control,Oracle VM Server for Exalogic和Traffic Director 接下来我们将分别介绍这几个部件以及其在EECS中发挥的作用。  1). Exabus 作为最优化I/O架构的Exabus将Exalogic的所有部件连接在了一起,并且保证了Exalogic的稳定性,伸缩性和高效性。 我们可以将Exabus理解为Exalogic内部的通信结构或者虚拟网络。它由基于Oracle的InfiniBand 技术而构建的固件、设备驱动程序和应用程序 API 组成,InfiniBand 技术是 Exalogic 的卓越性能和资源效率的坚实基础。 Exabus 为应用程序提供完全的以太网模拟,并且通过与 Oracle Cloud Application Foundation 中间件的特殊集成,提供超低延迟的远程直接内存访问。 通过下图,我们可以很清晰的看出Exabus的高效性。 图2. High speed of Exabus compared with StandardHW I/O 下面我们在解释一下什么是Exabus Integration。通过图1,Weblogic,Coherence,Tuxedo都集成了Exabus。其中Weblogic使用了Exabus SDP API, Coherence使用了Exabus Java API,Tuxedo使用了Exabus RDMA API。  2). Exalogic Control Exalogic Control是一个综合性的管理软件堆栈。通过Exalogic Control,用户可以管理和监视系统硬件、执行固件和软件升级、创建用户帐户和管理虚拟资源(虚拟服务器、虚拟网络和虚拟存储)、实时监视所有系统资源的使用情况。Exalogic Control 直接运行于 Exalogic 硬件上,您可以通过 GUI、命令行或 Java API 来访问它。 该软件为系统管理员、云管理员和云用户提供了全面的云管理功能。 Exalogic Control通常指的是虚拟化Exalogic中的EMOC-Enterprise Manager Ops Center。 而Exalogic Control Stack指的是虚拟化Exalogic Echo(2.0.6.0.0)之上EC,PC1和PC2这三个vServer以及运行在EC vServer上面的OVMM,Oracle数据库,OVAB等服务。  3). Oracle VM Server for Exalogic 该软件是经过高度优化的、支持 Exabus 的 I 型hypervisor,通过使用该软件,可以让 Exalogic 托管虚拟服务器(称为 vServer),在这些虚拟服务器上运行针对 Exalogic 而优化的 Oracle Linux 版本。 在所有虚拟化技术中,Oracle VM for Exalogic 提供了最高性能和最低开销,并且它是唯一在生产环境部署中被 Oracle 全部软件组合全面支持的 I 型hypervisor。注:虚拟化Exalogic中所有计算节点上面运行的系统都是Oracle VM Server。  4). Traffic Director 该软件是一种集成式应用调度控制器 (ADC),它能执行从标准的负载平衡到复杂的流量整形、流量计量和安全实施等一切任务。 Traffic Director 提供原生 Exabus 集成以实现最高的性能、可管理性和安全性,它的存在让用户不再需要成本高昂的外部负载平衡设备。 3. Exalogic虚拟化 Exalogic虚拟化如图3来看分为两大类:  第一类是基于Oracle VM,即EECS virtualization with OVM  第二类是基于Oracle Solaris,即在Solaris 10和11中使用Local Zone来实现虚拟化 图3. Virtual Exalogic Environment 虚拟化Exalogic从2012年6月在EECS 2.0.1开始支持。最新的版本是2.0.6.2.1(2015年4月) 。 通过这篇文档 ,希望大家对Exalogic软件有个基本的了解。在以后的文章当中我们将重点关注于虚拟化(Linux OVS)的管理、使用等技巧。

1. 介绍 Exalogic Elastic Cloud Software包含了预集成在Oracle Linux/Solaris中的Exalogic功能包,设备驱动和固件. Exalogic中的高可用性,Infrastructure-as-a-Service (IaaS) ,服务器和网络虚拟化,存储和云管理等功能都是功过 Exalogic Elastic Cloud Software得以实现 2....

Exadata

Exadata 混合列压缩(EHCC)简介

对于传统的数据库, 数据是以行的方式保存在据库块中,这种保存方式对于OLTP应用非常适合,但是对于大数据量的OLAP应用就显得没有那么高效了,而且随着历史数据的积累,历史数据会占用大量的空间,这些数据几乎不可能会被改动,但是却仍然会被一些DSS或者OLAP应用所查询,而这些查询往往并不关心一行数据的所有列,而只是关心特定的一些列,所以,列式存储对于这种应用无疑要优于行式存储。EHCC特性的出现就很好的解决了这种困难,一方面它会以列式保存数据;另一方面它会对数据进行压缩。下面的两张图形就很好的显示了传统的行式存储和EHCC的列式存储的区别。行式: 列式:可以看到, 使用EHCC之后,数据是以列的方式来存放的。下面,对EHCC具体存放数据的方式进行介绍。当一个对象(例如:表或分区)启用了EHCC 选项之后,数据会被保存到称为CU(Compression Unit)的逻辑单位当中, 每个CU由若干个数据块构成,其中CU的前端会包含CU的header(头)信息,之后会包含一个用于记录DML语句是否发生在了某一行的位图, 其他的空间用于保存表当中以列方式存放,而且被压缩的数据。 所以,从数据存放的方式角度来看,EHCC这个新特性看起来很像是磁盘版本的in-memory 选项,是Oracle 为进一步的实现内存级别的列式存储(in-memory选项)在做准备。而从应用的角度来讲,EHCC非常适合DSS系统,因为这些系统的数据在被装载之后很少被修改的数据,而且并发量不高。而从存储的角度来讲,由于EHCC能够对数据进行压缩,可以很大程度上节省存储空间。EHCC 支持以下的压缩方式。Query HIGH :至少节省10倍空间,而且兼顾查询性能。Query LOW :至少节省6倍空间,查询性能更好。Archive HIGH :至少节省15倍空间,最大化节省空间。Archive LOW :至少节省10被空间,查询性能要优于Archive HIGH。另外,Archive HIGH和Archive LOW 压缩方式更适合于只读或者极少被更改的数据。EHCC特性支持普通的数据表和分区,也就是说,用户可以使用下面的语句在表或者分区级别来指定EHCC属性。创建一个使用了EHCC特性的表SQL> create table sales_order_his compress for archive low;SQL> insert /*+APPEND*/ into sales_order_his select * from sales_order;创建一个分区表,但是只有指定的分区使用了EHCCSQL> create table orders (cid, pid, sid, price, discount, odate)partition by range (cid)partition p1 values less than (100000) nocompress,partition p2 values less than (200000) compress for archive low,partition p3 values less than (300000) compress for query high,partition p4 values less than (maxvalue) compress for query low)enable row movementas select * from prev_orders; 用户在决定使用哪一种压缩方式之前还可以通过调用下面的下面的pl/sql 存储过程来了解不同方式能够实现的压缩情况。例如:SQL> declare v_blkcnt_cmp     pls_integer; v_blkcnt_uncmp   pls_integer; v_row_cmp        pls_integer; v_row_uncmp      pls_integer; v_cmp_ratio      number; v_comptype_str   varchar2(60);begin dbms_compression.get_compression_ratio( scratchtbsname   => upper('&ScratchTBS'),       ownname          => user,            tabname          => upper('&TableName'),    partname         => NULL,            comptype         => dbms_compression.comp_for_query_high,     blkcnt_cmp       => v_blkcnt_cmp,     blkcnt_uncmp     => v_blkcnt_uncmp,   row_cmp          => v_row_cmp,     row_uncmp        => v_row_uncmp,   cmp_ratio        => v_cmp_ratio,   comptype_str     => v_comptype_str); dbms_output.put_line('Estimated Compression Ratio: '||to_char(v_cmp_ratio)); dbms_output.put_line('Blocks used by compressed sample: '||to_char(v_blkcnt_cmp)); dbms_output.put_line('Blocks used by uncompressed sample: '||to_char(v_blkcnt_uncmp));end;对于使用了EHCC的表,只有在使用以下的方式向表当中加载数据时才会触发数据压缩。    直接路径insert语句    并行的DML语句    直接路径sqlloader    CTAS(create table as select)注意:对于启用了EHCC的表,原有的数据不会被压缩,只有新增的数据才会被压缩。而对于传统的dml语句,会通过更新CU头当中的位图并添加新行����方式来保证数据的一致性。    对于单行的insert 语句:新添加的行贿通过OLTP方式被压缩。    对于update语句:修改会被转换为delete 和insert。    对于delete 语句:删除只会在CU头当中对应的位上将该行标识成无效表被压缩之后,当使用sql语句查询表当中的数据时,基本的过程如下图所示(下图展示了查询被offload 到cell 的情况)。     过程1:客户端发出了查询语句(select sum(sales) from sales_detail where date=24-Sep-14’)    过程2:这个查询被数据库接受之后发送给Exadata的存储网格(各个cell节点)。    过程3:每个cell节点offload 一部分工作负载,在本地上运行对应的查询语句    过程4:每个cell节点只把sales和date列得数据进行解压,并找到满足条件的数据进行汇总。    过程5:每个cell节点将自己汇总的结果发送给数据库节点,数据库节点再将最后的结果进行汇总并返回给数据。    可以看到:整个过程中只有需要的两个列被访问,而且工作负载被分配到了多个cell上完成。最后,我们通过一个简单的测试来对比使用EHCC 和没有使用EHCC的差别。1. 创建测试用表,并添加一些数据SQL>CREATE TABLE test  ( test_id       NUMBER(10),    time_id       DATE,    contents1     varchar2(1000)  ) tablespace users; SQL>begin    for i in 1..500000 loop            insert into test values (i, sysdate, dbms_random.string('L',1000));    end loop;    commit;end;SQL>create table test_ehcc compress for query high as select * from test;我们对表test_ehcc使用了压缩。2. 看一下这两张表所占用的空间。SQL> select sum(bytes)/1024/1024, segment_name from dba_extents where owner='ALLEN' and segment_name='TEST'group by segment_name;   SUM(BYTES)/1024/1024--------------------SEGMENT_NAME--------------------------------------------------------------------------------                 667TESTselect sum(bytes)/1024/1024, segment_name from dba_extents where owner='ALLEN' and segment_name='TEST_EHCC'group by segment_name;  SUM(BYTES)/1024/1024--------------------SEGMENT_NAME--------------------------------------------------------------------------------                 320TEST_EHCC可以看到经过了EHCC压缩之后的表所占用的空间要小很多。3.刷新buffer cache,并分别对表test 和test_ehcc 执行下面的查询SQL>alter system flush buffer_cache;SQL>set timing onSQL> select count(test_id) from test where time_id < sysdate;COUNT(TEST_ID)--------------        500000Elapsed: 00:00:06.90  <<<<<<<<<<<Execution Plan----------------------------------------------------------Plan hash value: 1950795681-----------------------------------------------------------------------------------| Id  | Operation                  | Name | Rows  | Bytes | Cost (%CPU)| Time  |-----------------------------------------------------------------------------------|   0 | SELECT STATEMENT           |      |     1 |    22 | 23036   (1)| 00:00:01 ||   1 |  SORT AGGREGATE            |      |     1 |    22 |            |||*  2 |   TABLE ACCESS STORAGE FULL| TEST |   509K|    10M| 23036   (1)| 00:00:01 | <<<<<<<<<<SQL> select count(test_id) from test_ehcc where  time_id < sysdate;COUNT(TEST_ID)--------------        500000Elapsed: 00:00:03.17  <<<<<<<Plan hash value: 2868897916----------------------------------------------------------------------------------------| Id  | Operation                  | Name      | Rows  | Bytes | Cost (%CPU)| Time     |----------------------------------------------------------------------------------------|   0 | SELECT STATEMENT           |           |     1 |    22 | 10848   (1)| 00:00:01 ||   1 |  SORT AGGREGATE            |           |     1 |    22 |            |       ||*  2 |   TABLE ACCESS STORAGE FULL| TEST_EHCC |   386K|  8304K| 10848   (1)| 00:00:01 | <<<<<可以看到,在使用了ehcc 之后,同样的sql语句访问的数据更少,而且性能更好。

对于传统的数据库, 数据是以行的方式保存在据库块中,这种保存方式对于OLTP应用非常适合,但是对于大数据量的OLAP应用就显得没有那么高效了,而且随着历史数据的积累,历史数据会占用大量的空间,这些数据几乎不可能会被改动,但是却仍然会被一些DSS或者OLAP应用所查询,而这些查询往往并不关心一行数据的所有列,而只是关心特定的一些列,所以,列式存储对于这种应用无疑要优于行式存储。EHCC特性的出现就很好...

白金服务

白金服务:补丁升级服务

Oracle为符合认证的白金配置提供一年四次免费的远程补丁升级服务,客户需要:(1)与Oracle联系进行远程补丁安装的规划(2)同意所要安装的补丁. 补丁安装所需的时间需在安装前协商好并记录在门户网站上. 可以通过下面的链接查看到认证的白金配置, 被升级的程序以及远程补丁安装的范围: Remote Patching Deployment Scope除了Oracle数据库11.2.0.4,为了确保是认证的白金配置,客户必须在6个月内升级至白金认证配置的最新补丁包版本,并且不能低于最新补丁包版本2个版本,可参看 Certified Platinum Configurations;针对 Oracle 数据库11.2.0.4,客户必须在12个月内升级至白金认证配置的最新补丁包版本,并且不能低于最新补丁包版本4个版本。 除以下部分陈述的安装服务,客户需自行安装补丁将系统升级至认证的白金配置: (1)远程补丁安装不包括Oracle数据库版本升级(如:11.x至12.x)。(2)远程补丁安装服务不适应于运行 SAP 应用的 Oracle 数据库。(3)原则上远程补丁安装不包含 Oracle 数据库补丁集的版本升级(如:11.2.0.2至11.2.0.3)。但是,如果客户要求,并且Oracle也同意提供此项服务,那么Oracle数据库补丁集的版本升级服务(如:11.2.0.2至11.2.0.3)将被视为一次独立的远程补丁安装,会占用Oracle每年为客户提供的免费远程服务的次数。远程补丁安装包括以下服务:(1) 支持行为讨论——每季度一次,Oracle会通过电话与客户的技术联系人之一讨论每季度所有的认证白金补丁安装行为,包括客户技术人员登记的服务请求、状态报告、未完成的行为;并为您的升级方案提供一份评估。  a. Oracle会在客户的认证白金配置处于在线状态时进行远程补丁安装。补丁会被安装在每个应用、服务器、存储服务器或是存储阵列上。补丁将会以滚动方式每次在一个服务器上进行安装。  b. Oracle会在客户的认证白金配置处于在线状态时进行远程补丁安装。为了完成补丁安装,认证白金配置可能需要关闭,硬件系统可能需要重启并且认证白金配置需要进行备份。(2) 远程补丁安装——根据补丁,Oracle将通过以下方式之一或是相结合进行补丁安装    在规划远程补丁安装时,各方需讨论确定Oracle进行远程补丁安装的方式和远程补丁安装的时对认证白金配置的预期影响。文档 Remote Patch Instalation 详细介绍了执行 Oracle 白金服务远程补丁安装期间可能需要完成的一些活动。

Oracle为符合认证的白金配置提供一年四次免费的远程补丁升级服务,客户需要:(1)与Oracle联系进行远程补丁安装的规划 (2)同意所要安装的补丁. 补丁安装所需的时间需在安装前协商好并记录在门户网站上. 可以通过下面的链接查看到认证的白金配置, 被升级的程序以及远程补丁安装的范围: Remote Patching Deployment Scope 除了Oracle数据库11.2.0.4,为了确保...

Exalogic

Exalogic硬件架构介绍

Oracle Exalogic Elastic Cloud是全球首个专门设计的中间件云服务器集成系统。Exalogic旨在为企业提供一个安全、关键任务的私有云基础平台,用以支持几乎无限大的规模、无与伦比的性能和超乎想象的管理简便性。虽然Exalogic 是针对企业Java、Oracle 融合中间件和Oracle融合管理软件的优化产品,但它也是运行当今广泛部署的成千上万第三方和定制Linux 及Solaris 应用的优秀环境。Exalogic 是由硬件和软件组件构成的一个集成系统平台,每个组件都是Oracle 产品组合中的战略技术。那么,Exalogic到底是什么样的呢?今天我们就来看一下Exalogic的硬件架构。 Exalogic硬件是预先装配好的集成系统,并按标准的19英寸42U机架配置交付。每个Exalogic 配置都是一个支持计算密集型工作负载均衡的中间件云服务器容量单元。每个Exalogic 配置都包含多个热插拔计算节点、一个集群式高性能磁盘存储子系统和一个高带宽互连架构,该架构包含了连接配置内各个组件以及外部其他Exalogic 或Exadata 数据库机机架所需的交换机。此外,每个配置还包含多个用于与数据中心服务网络集成的10 Gb 以太网端口和用于与数据中心管理网络集成的千兆位以太网端口。所有Exalogic 配置在各个层次都是完全冗余的,并且其设计消除了单点故障。 Exalogic根据部件配置的多少可分为八分之一配、四分之一配、半配和满配等。下图是一个Exalogic满配(full rack)的全景图。 Exalogic的硬件架构主要由以下几部分组成: X86计算节点 ZFS存储节点 Infiniband交换机 Cisco管理网交换机 电源 下图就以满配为例简单的表示了一下Exalogic的基本组成部分。 有了以上的简要介绍,相信您已经对Exalogic的硬件架构有了一些初步了解了。下面我们较为详细的介绍下Exalogic的几个主要组成部件。 X86计算节点 每个 Exalogic 计算节点都是一个配有多核x86 Xeon 处理器或SPARC-T3 处理器、冗余电源、快速ECC DIMM 内存和冗余InfiniBand 主机通道适配器的完全独立的计算容量单元。因此,每个计算节点都可以理解成一个独立的物理服务器。下图是一组计算节点的近景图。 每个计算节点还包含两个固态硬盘 (SSD),它们托管着用于引导节点的操作系统映像,并作为系统在故障管理过程中所生成诊断数据的高性能本地交换空间和存储。 因为多计算节点的存在,在Exalogic上配置高可用性应用变得非常容易。您可以配置应用群集以横跨两个或多个计算节点,在一个节点上出现问题或者需要进行维护时,其他节点仍可为最终用户提供应用服务。 ZFS存储节点 每个Exalogic主机都包含有ZFS存储节点,以供存储用户的应用程序、数据、应用日志以及其它任何对用户有用的数据。每个计算节点都可以很容易的挂载存储节点中的一个分区以支持节点上应用的运行。下图是存储节点的近景图,用红框标明的部分即为存储节点。 Exalogic的存储节点包含两个物理上完全独立的存储机头。每个存储机头都是使用InfiniBand与Exalogic的其他组件相连,并使用完全冗余的active/standby配置以实现存储的高可用性。 Infiniband交换机 Infiniband交换机是Exalogic的一个重要组成部分。Exalogic的所有部件都是通过Infiniband来连接的。Exalogic使用基于四倍速率的InfiniBand构建起Exabus I/O通讯接口以连接Exalogic系统中的所有硬件和软件。如下图所示,所有的部件都是通过Exabus连接起来并实现通讯的。 InfiniBand对中间件云服务器系统很重要。除了在部署的所有硬件设备之间提供极快的高吞吐量互连外,它还提供极大的规模、极高的应用隔离度和灵活性。 Exalogic系统所用的无损切换的InfiniBand I/O 架构将所有系统连接成了一台大型计算机。可以从八分之一机架(Eighth Rack)开始,然后扩展到四分之一机架(Quarter Rack)或者半机架(Half Rack),再到一个大型全机架(Full Rack),此外,还可以将多达八个全机架的Exalogic 硬件(或Exalogic 和Exadata 配置的任何组合)连接在一起构成组合机架(Multi-Rack),且无需任何外部交换机。如需八个以上的Exalogic 或Exadata 硬件机架,Oracle 允许使用若干个高容量数据中心交换机来创建包含数百个机架和数万个处理器的Exalogic 云。 下图以Exalogic的最新版本X5-2为例,展示了Exalogic的扩展过程以及每一阶段的配置参数。 Exalogic系统的横向扩展意味着增大云规模的同时系统性能不会下降。同样重要的是,Exalogic 云是可以动态细分为安全容量单元的资源池。这种能力植根于InfiniBand 自身的设计中,而这也正是InfiniBand的设计初衷。 Cisco管理网交换机 每个Exalogic主机都包含了一个管理网交换机。有了这个交换机,Exalogic的各个主要部件就可以通过它来连接到客户的管理网了。下图是一个交换机的背面图。 这个管理网交换机可以说是Exalogic对客户数据中心管理网的安全接口。有了这个交换机,客户对Exalogic的管理可以和服务网络完全独立开来,可以在完全不影响应用访问的情况下对设备进行管理。这种设计对于服务器的维护是非常方便的。 小结 讲到这里,相信您已经对Exalogic的硬件架构有一定了解了吧。欢迎访问Exalogic中间件服务器中文网站获得更多关于产品与解决方案的资讯。 后续的问题欢迎点击链接参与我们在中文社区的讨论

Oracle Exalogic Elastic Cloud是全球首个专门设计的中间件云服务器集成系统。Exalogic旨在为企业提供一个安全、关键任务的私有云基础平台,用以支持几乎无限大的规模、无与伦比的性能和超乎想象的管理简便性。虽然Exalogic 是针对企业Java、Oracle 融合中间件和Oracle融合管理软件的优化产品,但它也是运行当今广泛部署的成千上万第三方和定制Linux...

SuperCluster

Supercluster 硬件体系介绍

本文主要介绍Supercluster 硬件的体系和相关组件,对Supercluster 有个直观的了解。后续会继续进一步介绍相关细节,包括硬件软件。 1. 介绍Oracle Supercluster 是一个硬件和软件集成的系统平台,支持广泛的应用类型和工作负载。例如大数据量运算的数据仓库和高并发的业务用。 Oracle Supercluster 提供高可用性,高安全和高性能的应用平台,提供集群负载管理能力。 2. 硬件组件 Supercluster 发展到现在,已经有了三个型号,T4-4,T5-8和M6-32。M6-32 在硬件架构上与T4-4和T5-8有很大的变化。 先来看T4-4和T5-8,以T5-8为例,因为T4-4和T5-8在硬件构成上基本是相同的,不同的是单个组件的配置变化。 主要的组件包括下面这些组件。     装有Solaris操作系统的计算机节点     ZFS 存储     Exadata 存储节点     Infiniband 交换机     电源插排     以太网交换机 由于整个supercluster 分两种配置,半配和满配, 变化的是Exadata 存储Cells的数量和计算机节点CPU的数量。各组件位置请参考下面的图片和链接(以满配为例): http://download-adc.oracle.com/archive/cd_ns/E40166_01/html/E40167/z40006df1169344.html#scrolltoc 对于M6-32, 变化的是计算节点,M6-32使用的是另外的硬件体系。在M6-32上,整个计算节点的硬件由DCU基本单元组成,每个DCU包括下面的组件:    1). IOU。       这部分是I/O相关的,包括,PCIe扩展槽,EMS卡及硬盘。    2). 一个SPP。    3). 2个或者4个CPU内存单元。 M6-32能够最多包括4个DCU,根据DCU的数量和不同的划分,会有不同的配置。这会在以后进行详细讨论。 3. 软件组件通常Supercluster会需要下面的软件,当然根据应用情况可以调整。     数据库软件    Exadata 存储节点软件    Solaris 操作系统    Solairs 集群软件(可选l)    Ops center (可选)  备注: 后续会继续介绍Supercluster 相关的配置及管理等基本知识。 后续的问题欢迎点击链接参与我们在中文社区的讨论 

本文主要介绍Supercluster 硬件的体系和相关组件,对Supercluster 有个直观的了解。后续会继续进一步介绍相关细节,包括硬件软件。 1. 介绍 Oracle Supercluster 是一个硬件和软件集成的系统平台,支持广泛的应用类型和工作负载。例如大数据量运算的数据仓库和高并发的业务用。 Oracle Supercluster...

Exadata

Exadata 硬件构架简介

今年发布的X5已经是Exadata的第六代产品了。 过去的几年中,经历了用户数量的爆发增长,以及客户核心业务的考验,产品在一代一代的更迭中已经愈加成熟,在功能特点上也更加鲜明。 作为Oracle集成系统的售后支持团队,今后,我们将以多种形式,逐步介绍Oracle集成系统的特点和使用方法。 对于集成系统的新用户或潜在用户,您可以借此了解产品的特点和功能。 如果您是集成系统的老用户,我们也希望能为您提供更多的使用经验和产品知识,包括一些重要的更新。 期盼能以此为桥梁,增加支持团队与用户间的沟通,帮助中国客户更好的使用Oracle集成系统的全线产品。  Exadata的版本 V1 - 2008年09月 (HP硬件) V2 - 2009年09月 (此代产品开始使用SUN的硬件) X2 - 2010年09月 X3 - 2012年09月 X4 - 2013年12月 X5 - 2015年01月 Exadata的组件 计算节点/数据库节点 (Compute node/DB node) 运行Oracle GI(Grid Infrustructure)和Oracle数据库。和传统RAC的数据库节点基本类似,所有对数据库的访问都要通过计算节点。 唯一不同的是,在Exadata上,Oracle ASM使用libcell通过infiniband网络来访问存储节点上的数据,而非HCA卡。 X86 构架 内存可扩展 4个以太网口 (eth0用于管理网络,连接自带的CISCO交换机。eth1和eth2作为集群公有网络,分别连接客户网络的交换机。) 2个光纤网口 (如果客户网络为光纤网络,则用这两个接口替代eth1和eth2) 2个Infiniband网口 (分别连接自带的两个infiniband叶交换机- leaf switch,以达到冗余的目的。计算节点间的通信,以及计算节点对存储节点数据的访问皆通过此端口) 1个HBA磁盘控制器 (连接本地磁盘) 4块本地磁盘 (300/600GB,RAID5,用来保存操作系统和Oracle软件,以及备份。) 2个电源模块 (PS) 1个ILOM模块 (ILOM是主板上一个完全独立于操作系统的微型系统,供电即启动。用来监控硬件,控制电源等。详细介绍在这里) 存储节点 (Storage cell) 运行Oracle storage software与计算节点进行交互。 每个存储节点有12块本地磁盘(X5有所变化),通过计算节点上的ASM进行管理。 操作系统存放在0号和1号磁盘的分区中。 X86 构架 1个以太网口 (eth0用于管理网络,连接自带的CISCO交换机) 2个Infiniband口 (分别连接自带的两个infiniband叶交换机。完成与计算节点间的传输数据) 1个HBA磁盘控制器 (连接本地磁盘) 12块本地磁盘 (可选高性能磁盘 (600GB,X5中被EF替代,后文会提到),或高容量磁盘 (2T~4T,根据版本不同) ) 4个PCI flash卡 (每个卡上有4FDOM,所以从操作系统上可以看到16Flash磁盘。 由于PCI接口速度更快,用来缓存数据) 1个USB disk (保存系统镜像,当操作系统遇到问题时,可以通过此USB快速恢复) 2个电源模块 (PSU) 1个ILOM模块 Infiniband 交换机 36口QDR(40Gb/s) infiniband交换机。用来连接infiniband网络。 每个机柜都有两个leaf switch,分别连接各个设备上的一组infiniband网口。 如果要进行机柜间的级联,则需要使用额外的spine switch。  Cisco 以太网交换机一个  机柜中Cisco交换机只用于连接管理网络。机器出厂时,所有设备(计算节点/存储节点/infiniband交换机)的管理网口eth0 都会与CISCO交换机相连。  管理网络只用于对设备的管理, 数据库连接则不通过此交换机。 42U 机柜 (rack)  双路供电单元 (PDU) 蓝色部分: 计算节点红色部分: 存储节点黄色部分: Infiniband 交换机 和 CISCO交换机 Exadata的可选配置 技术上讲,至少需要两个计算节点来组成数据库集群,至少需要三个存储节点构建Normal Redundency的ASM磁盘组(存放Voting file的磁盘组需要至少三个failgroup)。 * 1/8配是从X3开始引入的。 在这个配置中,计算节点和存储节点的数量与1/4配是一样的。但CPU,内存,磁盘和Flash卡的数量减半。 ** 在早期的版本中,我们会为1/2及以上的配置安装一个spine switch。 在后来的版本中,spine switch需要额外购买。*** 客户只能选择标准配置中的一个,无法定制。   X5开始的变化  从X5开始,存储节点的配置发生了一个重大变化。我们不再提供配有高性能磁盘的存储节点,而以更高速度的EF (Extreme Flash)替代之,大小为1U。 在EF的配置中, 每个存储节点配备了8个1.6T的Flash卡作为数据存储(共12.8T),代替了从前14.4TB的SAS硬盘。  另外,为了配合不同的用途,从X5开始,我们引入了弹性配置。这意味着除了标准配置,客户可以自主选择组件的类型和数量。需要注意的是,任何配置至少要包含两个计算节点和3个存储节点, ���且每个机柜中最多可选择22个服务器或将38U填满(留下4U的位置给infiniband交换机和Cisco交换机)。 不同用途的特点如下: In-Memory:需要较多的计算节点,并将内存增加到最大。 存储节点则选择高容量磁盘。  高速Flash OLTP:选择EF极速存储节点,个数依据数据量来定。 数据仓库:选择高容量磁盘,较多的存储节点。 多机柜间的连接(Multi-rack) 当计算能力需要扩展时,Exadata支持将多个机柜进行连接,运行在一个infiniband网络(需要spine switch)。 存储节点的扩展柜 (Storage expansion rack) 如果只需要扩展存储的容量,可以增加只包含存储节点的扩展柜。扩展柜的配置同样分为1/4配,半配,和全配,分别包含4个,9个,和18个存储节点。 在X5的弹性配置中,存储节点的数量为4~19可选的。 支持将不同型号的设备连接在一起。 最多支持18个机柜的连接。 参考链接 OTN:Oracle ExadataOracle Exadata Machine 官方主页Exadata 官方文档 后续的问题欢迎点击链接参与我们在中文社区的讨论

今年发布的X5已经是Exadata的第六代产品了。 过去的几年中,经历了用户数量的爆发增长,以及客户核心业务的考验,产品在一代一代的更迭中已经愈加成熟,在功能特点上也更加鲜明。 作为Oracle集成系统的售后支持团队,今后,我们将以多种形式,逐步介绍Oracle集成系统的特点和使用方法。 对于集成系统的新用户或潜在用户,您可以借此了解产品的特点和功能。 如果您是集成系统的老用户,我们也希望能为您提供更...

Exadata

免费中文网上讲座:2015年5月20日 Exadata 磁盘管理和故障排除技巧

题目: Exadata 的磁盘管理和故障排除技巧摘要: 本次网上研讨大约1小时, 帮助我们了解 Exadata一体机的磁盘布局, 和对于磁盘更换问题的故障排除技巧。主题包括:+ 存储 cell 上的磁盘布局+ ASM/DB 上的磁盘布局+ 处理 Exadata 的磁盘故障+ 对于磁盘更换问题的故障排除技巧时间: 2015年5月20日14:00 PM (北京时间) 时长: 1 小时参考文档:所有webcast的时间安排和过去的演讲pdf文稿和录像,可以在文档 Note 740966.1 中找到。WebEx 会议详细内容:Topic: Exadata 的磁盘管理和故障排除技巧 (Exadata Disk Management and Troubleshooting tips) - Mandarin onlyEvent Number: 596 262 682Event Passcode: 909090注册地址:https://oracleaw.webex.com/oracleaw/onstage/g.php?d=596262682&t=a主持人确认您的请求后,您会收到参加会议具体步骤的确认邮件。InterCall 电话接入的方法:中国地区免费接入号码: 108007441329  中国地区免费接入号码: 108004411182 台湾地区免费接入号码: 00801044259 香港地区免费接入号码: 800966155Conference ID: 6791990WebEx Conference 本身也包含声音流,所以不一定要拨打电话来收听。 

题目: Exadata 的磁盘管理和故障排除技巧 摘要: 本次网上研讨大约1小时, 帮助我们了解 Exadata一体机的磁盘布局, 和对于磁盘更换问题的故障排除技巧。 主题包括:+ 存储 cell 上的磁盘布局 + ASM/DB 上的磁盘布局 + 处理 Exadata 的磁盘故障 + 对于磁盘更换问题的故障排除技巧时间: 2015年5月20日14:00 PM (北京时间) 时长: 1 小时参考文档:所...

Exadata

集成系统售后技术支持介绍 (中文)

集成系统标准服务支持范围 主动修复 Bug 解决 SR 并不断提升客户的产品和服务体验 通过 My Oracle Support(MOS) 提供最新的产品信息和最佳实践,推荐故障预防措施 通过使用 Oracle Configuration Manager(OCM) 获得 Healthchecks 知识分享 根据客户体验和反馈提供补丁和产品优化 硬件自动报修服务的 Auto Service Request (ASR ) 管理层特别关注的 Escalation 服务 集成系统服务请求(SR)的处理方式 集成系统标准服务技术支持的主要形式是服务请求(Service Request, 简称SR)。 硬件问题SR的处理方式:最先接手的工程师会负责和硬件工程师合作给出诊断方向, 客户配合提供诊断资料,如果确定是硬件故障,硬件工程师会到现场换件,并把坏件回收 软件问题SR的处理方式:最先接手的工程师会负责解决,必要时与其他组工程师合作做出诊断方案和解决方案 更详细的介绍信息包含在视频资料 集成系统标准服务内容介绍 集成系统客户服务号(SI) 客户服务号 SI) 标示您购买的技术支持服务的服务期,我们建议您把客户服务号添加http://support.oracle.com 网站的帐号下 客户想要创建,更新和读取某个产品的服务请求,需要获得该产品的客户服务号的用户权限。第一个用该 SI 注册的客户经过 Oracle 验证后会成为这 SI 的管理员(管理员可以更换),管理员可以批准后来注册的用户权限 添加客户服务号: 在 My Oracle Support->更多->设置->账户和权限 关于如何管理和添加客户服务号的视频指导,请参照 创建集成系统服务请求前的准备工作 创建服务请求(SR) 我们推荐客户在 My Oracle Support 网站创建服务请求 https://support.oracle.com ,也可以通过拨打热线电话来创建:      800-810-0366 (大陆座机) /0800-077-677(台湾座机)      4008-980-890(大陆手机免费) 关于如何创建服务请求(SR)的视频演示,请参照 如何在My Oracle Support网站上创建集成系统服务请求 跟踪服务请求(SR) 及时更新能推进问题解决速度 回答每个 action plan 里的所有问题,如果对工程师的 action plan 有疑问,也可以在SR更新中直接提出来 在有需要时,推荐拨打热线电话推动SR进程 根据生产受影响严重程度的变化,通过打热线电话改变SR严重级别(1级最高,4级最低) 使用Escalation服务来推动服务请求(SR)进程 根据SR实际情况,可以考虑通过申请 Escalation 使某个SR获得 Oracle 技术支持经理的关注,下面是一些可能考虑 Escalation 的情况:      是否项目上线计划受到该问题影响?      是否需要向政府部门通报进展?      是否受到最终用户压力?      是否造成了利润损失? Escalation 可以通过拨打热线电话申请。

集成系统标准服务支持范围 主动修复 Bug 解决 SR 并不断提升客户的产品和服务体验 通过 My Oracle Support(MOS) 提供最新的产品信息和最佳实践,推荐故障预防措施 通过使用 Oracle Configuration Manager(OCM) 获得 Healthchecks 知识分享 根据客户体验和反馈提供补丁和产品优化 硬件自动报修服务的 Auto Service Request...

白金服务

ORACLE 白金服务

Oracle 白金服务免费为您提供 24/7 远程故障监视、业界领先的响应速度以及补丁部署服务,帮助您最大限度提升 Oracle 集成系统的可用性和性能。 最大限度提升可用性和性能Oracle 深知,IT 系统可用性中断会给业务带来严重影响。因此,当您选择 Oracle Exadata 数据库云服务器、Oracle Exalogic 中间件云服务器或 Oracle SuperCluster 的极致性能时,就有资格享受 Oracle 白金服务 — 确保可用性和性能的增强支持。 减少对 IT 资源的需求Oracle 白金服务是为在 Oracle 集成系统上运行认证配置的 Oracle 标准支持服务客户提供的一项特殊权益。客户可依照其现有的支持协议在符合条件的系统上免费获得该项增强的支持服务。除 Oracle 标准支持服务的全部基本服务外,符合条件的 Oracle 白金服务客户还能享受下列权益: 24/7 Oracle 远程故障监视 更快地响应和恢复目标 5 分钟内故障通知 15 分钟内恢复或上报开发部门 30 分钟内与开发部门联合进行调试 每年进行多达 4 次远程补丁部署 训练有素、高度专业化的 Oracle 支持专家代我们的客户完成这些服务,从而帮助我们的客户降低持续性维护和支持的成本和复杂性。 更多内容,请参考: 欢迎使用Oracle白金服务 (Doc ID 1663940.1) 产品介绍:Oracle白金服务介绍 (PDF) 产品介绍:Oracle白金服务客户常见问题解答 (PDF) 产品介绍:Oracle白金服务认证配置 (PDF) 产品介绍:Oracle高级支持网关最低要求 (PDF) 产品介绍:Oracle白金服务技术支持政策 (PDF) 关于白金服务的后续问题,欢迎点击链接参与我们在中文社区的讨论。

Oracle 白金服务免费为您提供 24/7 远程故障监视、业界领先的响应速度以及补丁部署服务,帮助您最大限度提升 Oracle 集成系统的可用性和性能。 最大限度提升可用性和性能Oracle 深知,IT 系统可用性中断会给业务带来严重影响。因此,当您选择 Oracle Exadata 数据库云服务器、Oracle Exalogic 中间件云服务器或 Oracle SuperCluster...

Exadata

2014年7月16日 逐步掌握Exadata升级 网上研讨会

Oracle每一个季度都会有Exadata中文讲座,7月16日14:00的讲座--逐步掌握Exadata升级,如果你感兴趣的话,可以通过下面方式加入 逐步掌握Exadata升级 - MANDARIN ONLY (Exadata Patching Overview Including Database and Storage Server Upgrade Demo ) (Doc ID 1675199.1) 本次讲座讨论的技术和功能: 重点讨论学习关于Exadata数据库节点和存储节点的升级。将包括升级的概述,和每一个组件的升级演示。 同时本次主要针对 Exadata Software版本11.2.3.x 之后的升级方法,包括YUM和ISO升级。 我们将讨论以下话题 (We’ll cover topics including:)    * 更好的理解和掌握Exadata Patching(Gain a better understanding of Exadata patching)    * 了解在哪能找到当前的Exadata Patching信息(Know where to find current Exadata patching information)    * 理解如何通过YUM来升级数据库节点(Understand the details of upgrading the database node using the yum process)    * 掌握Patching的最佳实践(Familiarize with patching best practices)    * 了解11.2.3.3版本的增强信息(Be informed of new 11.2.3.3 enhancements)    只要两步,即可完成注册,注册方法如下:     1. 点击链接: https://oracleaw.webex.com/oracleaw/onstage/g.php?d=596304818&t=a     2. 填写如下信息,然后,点击“Join now”,即可立即加入我们。 First name:  Last name:  Email address:  期待你的加入! =============================================================== 非常感谢大家能参加本次讲座,下面是整理出来的一些相关问题,请大家参考,如果还有其他问题,可以继续跟踪这个帖子,谢谢。 Q: 有share的胶片吗?     A:如果你希望收听之前的讲座视频录像,和PDF。或者你关心未来的讲座安排, 你可以通过下面的方法来关注我们。     ---  登陆MOS系统,然后搜索并打开 文档 “Oracle Engineered Systems Advisor Webcast Schedule and Archive recordings (Doc ID 1456202.1)” in My Oracle Support.     ---  选择产品: Oracle Engineered Systems     ---  选择你需要下载的讲座录像和PPT Q: Exadata software version update的例子多么?与新安装算到一起的话,占比是多少?与新安装相比,升级的占比大吗?    A: 具体比例没有统计过,这个根据可以的具体需求,re-image和upgrade都可以达到升级到新版本的目的。Q: 可以在虚拟机上测试升级吗?    A: 可以在虚拟机上进行部分组件的升级测试,但是由于虚拟机和实际Exadata在IB和ILOM上的差异,虚拟机的测试并不能真正作为升级的参考。 Q: 有没有Exadata升级的完整步骤或者完整的升级方案呢?   A: 这个可以参考下面两个文档,有详细的升级描述(888828.1中每一个patch的readme,都会详细介绍升级方法)         Exadata Database Machine and Exadata Storage Server Supported Versions (Doc ID 888828.1)     dbnodeupdate.sh: Exadata Database Server Patching using the DB Node Update Utility (Doc ID 1553103.1)Q: 如果没有EXADATA的测试环境,如何进行升级    A: 可以通过在其中的一个compute节点和cell节点,进行升级测试 Q: 可以重复讲一下,半配,在线升级和离线升级分别需要的时间吗?    A: 首先建议通过ISO方式升级,减少由于网络延迟导致升级时间过长。       另外,cell升级,如果是rolling升级,每个cell都需要2小时左右,如果半配,cell部分的升级需要14个小时左右。       non-rolling的升级半配,cell部分需要2个小时左右       compute node,大概一个节点需要1个小时以内,就可以完成。Q: 最新的exadata版本支持ACFS了吗?    A: 不支持,在Exadata上相应的共享文件系统是--DBFS Q: 遇到下面问题,如何解决[FAIL     ] Copy firmware packages to 10.10.13.44[FAIL     ] Update switch 10.10.13.44 to 2.1.3_4[INFO     ] Aborting the process. Not going to try anymore switches. Retry after resolving the problems.[FAIL     ] Overall status    A: 您好,您这问题,您可以开个SR,我们会为你详细解决,因为这里需要engage IB 的工程师来协助调查这个问题 Q: 如果针对老的exadata V2版本,可以一步升级到最新的补丁吗?还是需要一步一步来,有一个梯度版本要求    A: 这个是可以根据文档888828.1,下载希望升级的patch,然后根据readme,就可以完成升级 Q: 如果我要升级exadata,如何知道升级到的exadata image版本,需要使用哪一个数据库版本?    A: 具体可以参考文档888828.1, 例如11.2.3.3.0,找到这个patch文档,文档最后部分有,版本需求    Exadata Storage Server Software 11.2.3.3.0 supports the following Oracle Database software versions:    Oracle Database 12c Release 1 (12.1.0.1.0)    Oracle Database 11g Release 2 (11.2.0.4.0) Patch Set 3    Oracle Database 11g Release 2 (11.2.0.3.0) Patch Set 2    Oracle Database 11g Release 2 (11.2.0.2.0) Patch Set 1    Oracle Database 11g Release 2 (11.2.0.1.0)    Note: Error Correction Support has ended for 11.2.0.2 and 11.2.0.1. Q: 升级过程中,我们可以只升级其中部分组件吗?如InfiniBand?    A: 这是可以的,我们可以只升级InfiniBand部分。但是,oracle有个 Quarterly Full Stack Download Patch,就是这个季度的整体建议升级patch。这个patch包含exadata,IB switch, DB, GI还有EM       这个patch可以单独下载其中部分patch并安装,但是oracle建议整体升级季度的整体patch,可以更好的解决目前已知的问题Q: 能再帮忙说一下,在exadata升级的过程中,都涉及到哪些工具?    A: 好的,我们可以按组件来说      cell需要使用patchmgr      InfiniBand使用ILOM,但是11.2.3.3.0之后,开始使用patchmgr      db节点使用dbnodeupdate.sh脚本来升级      数据库还是使用传统的方法来升级,没有什么不一样。Q: 你多次提及,要使用exachk来检查升级前后的exadata状态,那这个工具可以用来检查哪些方面?    A: exachk 其实还有另外两种报告收集, 一种是pre-upgrade方式, 另一种是post-upgrade方式; 它们不做全面的健康检查, 只针对升级有关系并需要我们参考注意的,生成在报告里。 (./exachk –u –o pre –o v)  (./exachk –u –o post –o v)Q: 想问一下,re-image与升级有什么不一样吗?     A: 其实,达到的效果是一样的,都升级到了最新的版本,但是re-image可以理解为重新安装操作系统,完成之后还要设置IP等很多步骤,还有要重新添加GI和数据节点到集群。        但是升级就相对简单很多,也不用再次设置任何参数,同时数据库部分也不用重新安装。        还有就是升级是可以回滚的,但是re-image是没有办法回滚到之前的版本,只能再次通过re-image来恢复到之前的版本。

Oracle每一个季度都会有Exadata中文讲座,7月16日14:00的讲座--逐步掌握Exadata升级,如果你感兴趣的话,可以通过下面方式加入逐步掌握Exadata升级 - MANDARIN ONLY (Exadata Patching Overview Including Database and Storage Server Upgrade Demo ) (Doc ID...

Exadata

2014年4月10日 Exadata计算节点的系统还原 网上研讨会

Oracle每一个季度都会有Exadata中文讲座,4月10日14:00的讲座的相关信息如下: Exadata计算节点的系统还原(Bare Metal Restore of Exadata Compute Nodes) (Doc ID 1633061.1) 本次网上研讨大约1小时, 将针对Exadata客户介绍在什么情况下需要计算节点的裸机还原,以及如果进行裸机还原的操作,并通过一个例子展示一下裸机还原的过程。 我们将讨论以下话题 * 定义在哪些情况下需要做裸机还原-Determine when a Bare Metal Procedure (BMR) is necessary * 裸机还原的准备工作-Prerequisites for Bare Metal Procedure * 裸机还原的过程概述-Overview of Bare Metal Procedure * 裸机还原的演示-Recorded Demo  of  Bare Metal Procedure * 备份选项和策略来避免和减少裸机还原-Backup Options that help to prevent the need for a BMR    如果你感兴趣的话,可以通过下面方式加入 只要两步,即可完成注册,注册方法如下:     1. 点击链接: https://oracleaw.webex.com/oracleaw/onstage/g.php?d=597674309&t=a     2. 填写如下信息,然后,点击“Join now”,即可立即加入我们。 First name:  Last name:  Email address:  期待你的加入!

Oracle每一个季度都会有Exadata中文讲座,4月10日14:00的讲座的相关信息如下: Exadata计算节点的系统还原(Bare Metal Restore of Exadata Compute Nodes) (Doc ID 1633061.1) 本次网上研讨大约1小时, 将针对Exadata客户介绍在什么情况下需要计算节点的裸机还原,以及如果进行裸机还原的操作,并通过一个例子展示一下裸机还原...

Exadata

Exadata 删除,添加物理磁盘过程

磁盘是系统中最易损的消耗品,所以更换硬盘,也是每一个存储常见的操作。 针对Exadata如何添加、删除磁盘呢?这里我做了一个实验,详细的记录了测试的全过程,供大家参考。 首先对Exadata磁盘部分,新增加了lun,celldisk,griddisk的概念,这里简单介绍一下,如下图: 一个物理硬盘添加到Cell之后,会自动创建LUN,LUN对应的是创建一个celldisk,一个celldisk对应一个或者多个griddisk,而griddisk就可以提供给ASM实例使用了。 这里我主要记录一下我在将一个正在运行的Exadata机器, 它的一个磁盘正常删除并添加的完整过程。 (这里强调一下“CellCLI>”都是在Cell上执行的命令,“SQL>” 都是在compute node(既数据库节点)上执行的命令)1.首先要确定我需要删除的硬盘的LUN的位置,celldisk名字,通过下面命令可以查询 CellCLI>  LIST CELLDISK WHERE name LIKE 'CD_03.*' detail         name:                   CD_03_dmorlcel08                    <<<<<<<<< celldisk名字         comment:         creationTime:           2012-04-20T04:37:54-04:00         deviceName:             /dev/sdd         devicePartition:        /dev/sdd         diskType:               HardDisk         errorCount:             0         freeSpace:              0         id:                     772cc8b1-ca81-468e-8b65-16e2724ef4da         interleaving:           none         lun:                    0_3                                  <<<<<<<<< 在0_3 这个LUN                                   raidLevel:              0         size:                   557.859375G         status:                 normal 2.查询griddisk的信息,这个可以找到asm中的disk name,以及diskgroup的name。通过这个命令还可以看到这个celldisk对应三个griddisk。 CellCLI> LIST GRIDDISK WHERE cellDisk LIKE 'CD_03.*' detail         name:                   DATA_CD_03_dmorlcel08         asmDiskGroupName:       DATA         asmDiskName:            DATA_CD_03_DMORLCEL08  <<<<<<<<<<<<<<<<<<<<<<<<<ASM disk name         availableTo:         cellDisk:               CD_03_dmorlcel08         comment:         creationTime:           2012-04-20T04:39:48-04:00         diskType:               HardDisk         errorCount:             0         id:                     524f59b3-32af-4926-bc40-bf094d05a71d         offset:                 32M         size:                   423G         status:                 active          name:                   DBFS_DG_CD_03_dmorlcel08         asmDiskGroupName:       DBFS_DG         asmDiskName:            DBFS_DG_CD_03_DMORLCEL08  <<<<<<<<<<<<<<<<<<<<<<<<<ASM disk name         availableTo:         cellDisk:               CD_03_dmorlcel08         comment:         creationTime:           2012-04-20T04:57:22-04:00         diskType:               HardDisk         errorCount:             0         id:                     001ef1df-5d41-4fab-b1ad-5a8983a63b8c         offset:                 528.734375G         size:                   29.125G         status:                 active          name:                   RECO_CD_03_dmorlcel08         asmDiskGroupName:       RECO                       <<<<<<<<<<<<<<<<<<<<<<<<<ASM diskgroup name         asmDiskName:            RECO_CD_03_DMORLCEL08      <<<<<<<<<<<<<<<<<<<<<<<<<ASM disk name         availableTo:         cellDisk:               CD_03_dmorlcel08         comment:         creationTime:           2012-04-20T04:56:28-04:00         diskType:               HardDisk         errorCount:             0         id:                     544c54c0-2969-4ad3-bea0-f3e2b4f1bf31         offset:                 423.046875G         size:                   105.6875G         status:                 active 3.通过ASM实例查询磁盘信息$more  /etc/oratab#Backup file is  /u01/app/oracle/product/11.2.0.3/db_home1/srvm/admin/oratab.bak.dmorldb05 line added by Agent+ASM1:/u01/app/11.2.0.3/grid:N          # line added by Agent $ export ORACLE_SID=+ASM1$ export ORACLE_HOME=/u01/app/11.2.0.3/grid$ sqlplus / as sysasmSQL> set line 400SQL> select GROUP_NUMBER,DISK_NUMBER,LABEL,NAME,MOUNT_STATUS,state,FAILGROUP,MODE_STATUS,PATH from v$asm_disk where name='RECO_CD_03_DMORLCEL08';    <<<<<<<disk name need to correct GROUP_NUMBER DISK_NUMBER LABEL                           NAME                           PATH------------ ----------- ------------------------------- ------------------------------             4          10 RECO_CD_03_DMORLCEL08           RECO_CD_03_DMORLCEL08          o/192.168.10.16/RECO_CD_03_dmorlcel08 查询对应的磁盘组SQL>  select GROUP_NUMBER,NAME from v$asm_diskgroup;      <<<<<determine the diskgroup number GROUP_NUMBER NAME------------ ------------------------------          1 DATA          2 DBFS_DG          4 RECOSQL> select NAME,ALLOCATION_UNIT_SIZE,STATE,TOTAL_MB,OFFLINE_DISKS,TOTAL_MB,FREE_MB,REQUIRED_MIRROR_FREE_MB from v$asm_diskgroup; 4.下面开始我们的删除操作,如果删除celldisk,首先应该从最上层,ASM层面开始删除磁盘SQL> alter diskgroup RECO drop disk RECO_CD_03_DMORLCEL08 REBALANCE power 8;SQL> alter diskgroup DBFS_DG drop disk DBFS_DG_CD_03_DMORLCEL08 REBALANCE power 8;SQL> alter diskgroup DATA drop disk DATA_CD_03_DMORLCEL08 REBALANCE power 8; 5.删除的过程中,通过这个命令查收reblance进度,确保ASM删除磁盘的动作完成,再进行下一步操作。SQL> set line 200SQL> select * from v$asm_operation; GROUP_NUMBER OPERA STAT      POWER     ACTUAL      SOFAR   EST_WORK   EST_RATE  EST_MINUTES ERROR_CODE------------ ----- ---- ---------- ---------- ---------- ---------- ----------           1 REBAL RUN           8          8      58593     207611       7586    19SQL> / GROUP_NUMBER OPERA STAT      POWER     ACTUAL      SOFAR   EST_WORK   EST_RATE   EST_MINUTES ERROR_CODE------------ ----- ---- ---------- ---------- ---------- ---------- ----------            1 REBAL RUN           8          8      58856     207656       7643    19SQL> / no rows selected     <<<<<<<<<<<<表示reblance已经完成 6.ASM中删除掉DBFS_DG_CD_03_DMORLCEL08磁盘后,通过griddisk命令查询,发现对应的asmDiskName,asmDiskGroupName,已经没有值了。CellCLI> list GRIDDISK DBFS_DG_CD_03_DMORLCEL08 detail         name:                   DBFS_DG_CD_03_dmorlcel08         asmDiskGroupName:         asmDiskName:         availableTo:         cellDisk:               CD_03_dmorlcel08         comment:         creationTime:           2012-04-20T04:57:22-04:00         diskType:               HardDisk         errorCount:             0         id:                     001ef1df-5d41-4fab-b1ad-5a8983a63b8c         offset:                 528.734375G         size:                   29.125G         status:                 active7.删除griddisk,并查询,发现已经查询不到griddisk DBFS_DG_CD_03_DMORLCEL08的信息CellCLI> DROP GRIDDISK DBFS_DG_CD_03_DMORLCEL08;GridDisk DBFS_DG_CD_03_dmorlcel08 successfully dropped CellCLI> list GRIDDISK DBFS_DG_CD_03_DMORLCEL08 detail CELL-02007: Grid disk does not exist: DBFS_DG_CD_03_DMORLCEL08 CellCLI>  LIST gridDISK WHERE cellDisk LIKE '.*CD_03.*' detail         name:                   DATA_CD_03_dmorlcel08         asmDiskGroupName:       DATA         asmDiskName:            DATA_CD_03_DMORLCEL08         availableTo:         cellDisk:               CD_03_dmorlcel08         comment:         creationTime:           2012-04-20T04:39:48-04:00         diskType:               HardDisk         errorCount:             0         id:                     524f59b3-32af-4926-bc40-bf094d05a71d         offset:                 32M         size:                   423G         status:                 active          name:                   RECO_CD_03_dmorlcel08         asmDiskGroupName:         asmDiskName:         availableTo:         cellDisk:               CD_03_dmorlcel08         comment:         creationTime:           2012-04-20T04:56:28-04:00         diskType:               HardDisk         errorCount:             0         id:                     544c54c0-2969-4ad3-bea0-f3e2b4f1bf31         offset:                 423.046875G         size:                   105.6875G         status:                 active 8.继续删除RECO_CD_03_dmorlcel08并查询CellCLI> DROP GRIDDISK RECO_CD_03_dmorlcel08;GridDisk RECO_CD_03_dmorlcel08 successfully dropped CellCLI> LIST gridDISK WHERE cellDisk LIKE '.*CD_03.*' detail         name:                   DATA_CD_03_dmorlcel08         asmDiskGroupName:       DATA         asmDiskName:            DATA_CD_03_DMORLCEL08         availableTo:         cellDisk:               CD_03_dmorlcel08         comment:         creationTime:           2012-04-20T04:39:48-04:00         diskType:               HardDisk         errorCount:             0         id:                     524f59b3-32af-4926-bc40-bf094d05a71d         offset:                 32M         size:                   423G         status:                 active 9.继续删除DATA_CD_03_DMORLCEL08,并查询 CellCLI> DROP GRIDDISK DATA_CD_03_DMORLCEL08GridDisk DATA_CD_03_dmorlcel08 successfully dropped CellCLI>  LIST gridDISK WHERE cellDisk LIKE '.*CD_03.*' detail CellCLI>  LIST CELLDISK WHERE name LIKE 'CD_03.*' detail         name:                   CD_03_dmorlcel08         comment:         creationTime:           2012-04-20T04:37:54-04:00         deviceName:             /dev/sdd         devicePartition:        /dev/sdd         diskType:               HardDisk         errorCount:             0         freeSpace:              557.8125G         freeSpaceMap:           offset=32M,size=19.96875G                                 offset=20.015625G,size=537.84375G         id:                     772cc8b1-ca81-468e-8b65-16e2724ef4da         interleaving:           none         lun:                    0_3         raidLevel:              0         size:                   557.859375G         status:                 normal CellCLI>  LIST CELLDISK WHERE name LIKE 'CD_03.*' detail         name:                   CD_03_dmorlcel08         comment:         creationTime:           2012-04-20T04:37:54-04:00         deviceName:             /dev/sdd         devicePartition:        /dev/sdd         diskType:               HardDisk         errorCount:             0         freeSpace:              557.8125G         freeSpaceMap:           offset=32M,size=19.96875G                                 offset=20.015625G,size=537.84375G         id:                     772cc8b1-ca81-468e-8b65-16e2724ef4da         interleaving:           none         lun:                    0_3         raidLevel:              0         size:                   557.859375G         status:                 normal CellCLI> drop celldisk CD_03_dmorlcel08CellDisk CD_03_dmorlcel08 successfully dropped 10.删除celldisk,并查询LUN信息CellCLI>  LIST CELLDISK WHERE name LIKE 'CD_03.*' detail CellCLI> LIST LUN 0_3 DETAIL         name:                   0_3         cellDisk:         deviceName:             /dev/sdd         diskType:               HardDisk         id:                     0_3         isSystemLun:            FALSE         lunAutoCreate:          FALSE         lunSize:                557.861328125G         lunUID:                 0_3         physicalDrives:         28:3         raidLevel:              0         lunWriteCacheMode:      "WriteBack, ReadAheadNone, Direct, No Write Cache if Bad BBU"         status:                 normal比较一个正常的LUN信息CellCLI> LIST LUN 0_4 DETAIL         name:                   0_4         cellDisk:               CD_04_dmorlcel08      <<<<<<<         deviceName:             /dev/sde         diskType:               HardDisk         id:                     0_4         isSystemLun:            FALSE         lunAutoCreate:          FALSE         lunSize:                557.861328125G         lunUID:                 0_4         physicalDrives:         28:4         raidLevel:              0         lunWriteCacheMode:      "WriteBack, ReadAheadNone, Direct, No Write Cache if Bad BBU"         status:                 normal11.在删除完成后,我们要开始添加的过程,实际troubleshooting中,会遇到Exadata在磁盘更换完成后,并没有正常的创建celldisk和griddisk,我们需要手动创建celldisk和griddisk。 手动创建之间,我们需要查询physicaldisk状态,确认physicalSerial和你更换的磁盘是对应的CellCLI> list physicaldisk where luns=0_3 detail         name:                   28:3         deviceId:               24         diskType:               HardDisk         enclosureDeviceId:      28         errMediaCount:          0         errOtherCount:          0         foreignState:           false         luns:                   0_3         makeModel:              "SEAGATE ST360057SSUN600G"         physicalFirmware:       0A25         physicalInsertTime:     2012-01-20T15:57:20-05:00         physicalInterface:      sas         physicalSerial:         E12EQY         physicalSize:           558.9109999993816G         slotNumber:             3         status:                 normal 12.创建celldisk,根据前面的信息,确认需要创建的celldisk与LUN能准确的匹配上,不要写错CellCLI>  create celldisk CD_03_dmorlcel08 lun=0_4(如果没有正确匹配,会遇到如下错误) CELL-04527: Cannot complete the creation of cell disk CD_03_dmorlcel08. Received error: CELL-04522: The LUN 0_4 has a valid celldisk.Cell disks are not created: CD_03_dmorlcel08 成功创建CellCLI>  create celldisk CD_03_dmorlcel08 lun=0_3CellDisk CD_03_dmorlcel08 successfully created14.首先查询一个正常的磁盘,确认后续需要设置的信息,如name,size,offsetCellCLI> list griddisk where celldisk=CD_04_dmorlcel08 attributes name,size,offset         DATA_CD_04_dmorlcel08           423G            32M         DBFS_DG_CD_04_dmorlcel08        29.125G         528.734375G         RECO_CD_04_dmorlcel08           105.6875G       423.046875G 15.创建griddisk磁盘 CellCLI> create griddisk DATA_CD_03_dmorlcel08 celldisk=CD_03_dmorlcel08,size=423GCellCLI> create griddisk DBFS_DG_CD_03_dmorlcel08 celldisk=CD_03_dmorlcel08,size=29.125GCellCLI> create griddisk RECO_CD_03_dmorlcel08 celldisk=CD_03_dmorlcel08,size=105.6875G 下面是执行的记录,以及查询结果CellCLI>  create celldisk CD_03_dmorlcel08 lun=0_3CellDisk CD_03_dmorlcel08 successfully created CellCLI> create griddisk DATA_CD_03_dmorlcel08 celldisk=CD_03_dmorlcel08,size=423GGridDisk DATA_CD_03_dmorlcel08 successfully created CellCLI> create griddisk DBFS_DG_CD_03_dmorlcel08 celldisk=CD_03_dmorlcel08,size=29.125GGridDisk DBFS_DG_CD_03_dmorlcel08 successfully created CellCLI> create griddisk RECO_CD_03_dmorlcel08 celldisk=CD_03_dmorlcel08,size=105.6875GGridDisk RECO_CD_03_dmorlcel08 successfully created 可以查询到celldisk信息CellCLI> LIST CELLDISK WHERE name LIKE 'CD_03.*' detail         name:                   CD_03_dmorlcel08         comment:         creationTime:           2013-02-07T02:13:17-05:00         deviceName:             /dev/sdd         devicePartition:        /dev/sdd         diskType:               HardDisk         errorCount:             0         freeSpace:              0         id:                     2f3e651e-6fb6-47e7-a227-692645519ce4         interleaving:           none         lun:                    0_3         raidLevel:              0         size:                   557.859375G         status:                 normal 可以查询到griddisk信息CellCLI> LIST gridDISK WHERE cellDisk LIKE '.*CD_03.*' detail         name:                   DATA_CD_03_dmorlcel08         availableTo:         cellDisk:               CD_03_dmorlcel08         comment:         creationTime:           2013-02-07T02:14:17-05:00         diskType:               HardDisk         errorCount:             0         id:                     6f9cb08e-fd8f-4063-b902-439387237f5d         offset:                 32M         size:                   423G         status:                 active          name:                   DBFS_DG_CD_03_dmorlcel08         availableTo:         cellDisk:               CD_03_dmorlcel08         comment:         creationTime:           2013-02-07T02:14:26-05:00         diskType:               HardDisk         errorCount:             0         id:                     055710ce-216a-4b10-a215-b38763ea65df         offset:                 423.046875G         size:                   29.125G         status:                 active          name:                   RECO_CD_03_dmorlcel08         availableTo:         cellDisk:               CD_03_dmorlcel08         comment:         creationTime:           2013-02-07T02:14:33-05:00         diskType:               HardDisk         errorCount:             0         id:                     fdf9a255-0a0d-4152-a557-de80b112ddff         offset:                 452.171875G         size:                   105.6875G         status:                 active CellCLI> list griddisk where celldisk=CD_03_dmorlcel08 attributes name,size,offset         DATA_CD_03_dmorlcel08              423G            32M         DBFS_DG_CD_03_dmorlcel08        29.125G         423.046875G         RECO_CD_03_dmorlcel08              105.6875G       452.171875G 16.如果磁盘没有删除的情况下,需要force再次删除一下,但是我们的测试中,前面已经正常删除磁盘 SQL> alter diskgroup data drop disk DATA_CD_07_dm03cel13 force; select GROUP_NUMBER,DISK_NUMBER,LABEL,NAME,MOUNT_STATUS,state,FAILGROUP,MODE_STATUS,PATH from v$asm_disk where name like '%CD_03_DMORLCEL08'; 17.添加磁盘sql> ALTER DISKGROUP DATA ADD DISK 'o/192.168.10.16/DATA_CD_03_dmorlcel08' rebalance power 10;sql> ALTER DISKGROUP DBFS_DG ADD DISK 'o/192.168.10.16/DBFS_DG_CD_03_dmorlcel08' rebalance power 10;sql> ALTER DISKGROUP RECO ADD DISK 'o/192.168.10.16/RECO_CD_03_dmorlcel08' rebalance power 10; 添加完成两个磁盘后,查询ASM的结果GROUP_NUMBER DISK_NUMBER LABEL                           NAME                           MOUNT_S STATE    FAILGROUP                      MODE_ST PATH------------ ----------- ------------------------------- ------------------------------ ------- -------- ------------------------------ ------- ------------------           1           3 DATA_CD_03_DMORLCEL08           DATA_CD_03_DMORLCEL08          CACHED  NORMAL   DMORLCEL08                     ONLINE  o/192.168.10.16/DATA_CD_03_dmorlcel08           2           6 DBFS_DG_CD_03_DMORLCEL08        DBFS_DG_CD_03_DMORLCEL08       CACHED  NORMAL   DMORLCEL08                     ONLINE  o/192.168.10.16/DBFS_DG_CD_03_dmorlcel08 18.添加磁盘的过程,通过这个命令来检查完成状况SQL> select * from v$asm_operation;19.最后,全部完成的状态SQL> select GROUP_NUMBER,DISK_NUMBER,LABEL,NAME,MOUNT_STATUS,state,FAILGROUP,MODE_STATUS,PATH from v$asm_disk where name like '%CD_03_DMORLCEL08'; GROUP_NUMBER DISK_NUMBER LABEL                           NAME                           MOUNT_S STATE    FAILGROUP                      MODE_ST PATH------------ ----------- ------------------------------- ------------------------------ ------- -------- ------------------------------ -------             1           3 DATA_CD_03_DMORLCEL08           DATA_CD_03_DMORLCEL08          CACHED  NORMAL   DMORLCEL08                     ONLINE  o/192.168.10.16/DATA_CD_03_dmorlcel08           4           6 RECO_CD_03_DMORLCEL08           RECO_CD_03_DMORLCEL08          CACHED  NORMAL   DMORLCEL08                     ONLINE  o/192.168.10.16/RECO_CD_03_dmorlcel08           2           6 DBFS_DG_CD_03_DMORLCEL08        DBFS_DG_CD_03_DMORLCEL08       CACHED  NORMAL   DMORLCEL08                     ONLINE  o/192.168.10.16/DBFS_DG_CD_03_dmorlcel08 查询griddisk信息,可以看到asmDiskGroupName,asmDiskName都已经有了。CellCLI>  list griddisk where celldisk=CD_03_dmorlcel08 detail         name:                   DATA_CD_03_dmorlcel08         asmDiskGroupName:       DATA         asmDiskName:            DATA_CD_03_DMORLCEL08         availableTo:         cellDisk:               CD_03_dmorlcel08         comment:         creationTime:           2013-02-07T02:14:17-05:00         diskType:               HardDisk         errorCount:             0         id:                     6f9cb08e-fd8f-4063-b902-439387237f5d         offset:                 32M         size:                   423G         status:                 active          name:                   DBFS_DG_CD_03_dmorlcel08         asmDiskGroupName:       DBFS_DG         asmDiskName:            DBFS_DG_CD_03_DMORLCEL08         availableTo:         cellDisk:               CD_03_dmorlcel08         comment:         creationTime:           2013-02-07T02:14:26-05:00         diskType:               HardDisk         errorCount:             0         id:                     055710ce-216a-4b10-a215-b38763ea65df         offset:                 423.046875G         size:                   29.125G         status:                 active          name:                   RECO_CD_03_dmorlcel08         asmDiskGroupName:       RECO         asmDiskName:            RECO_CD_03_DMORLCEL08         availableTo:         cellDisk:               CD_03_dmorlcel08         comment:         creationTime:           2013-02-07T02:14:33-05:00         diskType:               HardDisk         errorCount:             0         id:                     fdf9a255-0a0d-4152-a557-de80b112ddff         offset:                 452.171875G         size:                   105.6875G         status:                 active至此,全部的实验已经完成,可以参考这个实验,来完成磁盘的添加。

磁盘是系统中最易损的消耗品,所以更换硬盘,也是每一个存储常见的操作。 针对Exadata如何添加、删除磁盘呢?这里我做了一个实验,详细的记录了测试的全过程,供大家参考。 首先对Exadata磁盘部分,新增加了lun,celldisk,griddisk的概念,这里简单介绍一下,如下图: 一个物理硬盘添加到Cell之后,会自动创建LUN,LUN对应的是创建一个celldisk,一个celldisk对应一个或者...