Oracle 11g高可用性


Oracle 11g 高可用性指南 TT 数据库技术专题之“Oracle 11g 高可用性指南” Page 2 of 36 Oracle 11g 高可用性指南 “高可用性”(High Availability)通常来描述一个系统经过专门的设计,从而减少 停工时间,而保持其服务的高度可用性。 在本次技术手册中,我们将为您介绍 Oracle 11g 数据库的高可用性功能,其中包括了真正应用集群(RAC)、自动存储管理(ASM)以 及数据卫士等。通过阅读本次技术手册,相信您对高可用性的定义将有更加深入的了解, 同时在进行高可用环境构建时也会有所帮助。 什么是“高可用性” 高可用性和减少计划内(甚至是计划外)停机时间是数据库系统的目标,在需要 24*7 无障碍运行的环境中尤其如此。让数据库停机进行维护或者甚至是硬件问题导致的停机都 是不能接受的,因为这些故障可以给企业带来重大损失。  定义高可用性 真正应用集群(RAC) Oracle 的真正应用集群(RAC)提供了一个高可用、高可扩展的数据库环境。如果在 集群中的一个服务器崩溃了,数据库实例仍然可以再集群的其他服务器或节点上运行。  理解真正应用集群(RAC)  Oracle 高可用性:安装 RAC  Oracle 高可用性:测试 RAC 自动存储管理(ASM) TT 数据库技术专题之“Oracle 11g 高可用性指南” Page 3 of 36 正如在真正应用集群 RAC 环境中提到的那样,自动存储管理(ASM)对 Oracle 数据库 文件既做文件管理,也做磁盘管理。自动存储管理是高可用数据库环境中的一个重要部分, 而且对处理性能问题和管理 Oracle 文件也非常重要。  什么是自动存储管理(ASM)  创建自动存储管理磁盘组  如何使用 ASMCMD 和 ASMLIB 管理 ASM 实例 数据卫士(Data Guard) 数据卫士管理器提供了一种很实用的方式来管理主服务器和从服务器。它支持你手工 执行故障切换,设置自动故障切换,把从服务器设置为快照模式。快照模式实际上把数据 库设置成了读写模式,以便可以针对当前生产数据集进行测试。  Oracle 高可用性:理解数据卫士  解释数据卫士保护模式 创建 Oracle 物理备用服务器 所有的数据库,不管是物理的还是逻辑的,都必须首先被创建物理备用数据库。用来 创建备用数据库的工具有:RMAN,数据卫士代理,Oracle 网格控制。而 Oracle 11g RMAN 提供了一个简单的命令用来创建备用数据库并同时备份该数据库。  创建 Oracle 物理备用服务器 TT 数据库技术专题之“Oracle 11g 高可用性指南” Page 4 of 36 定义高可用性 高可用性和减少计划内(甚至是计划外)停机时间是数据库系统的目标,在需要 24*7 无障碍运行的环境中尤其如此。让数据库停机进行维护或者甚至是硬件问题导致的停机都 是不能接受的,因为这些故障可以给企业带来重大损失。幸运的是,我们有 Oracle 11g 来扭转局面,它具有高可用性特性,例如:真正应用集群(RAC),自动存储管理(ASM)和数 据卫士(Data Guard)。在设计数据库环境的架构时,真正应用集群和数据卫士的结合会提 供数据库实例的失败转移(failover),甚至是灾难恢复到离线的备用服务器。在规划配置 和组合时,你必须从成本效益方面考虑来提供给企业需要的可用性。审查这些特性并了解 怎样实施这些特性会帮助你提供可靠的,可扩展的,稳定的环境,可以处理硬件设备的损 失或者在发生意外事件时可以恢复。我们还不能忘了 Oracle 11g 数据库的维护需求。通 过给集群中的节点一个一个地打补丁,我们可以保证在打补丁时至少有一台节点是可用的, 甚至计划内的维护窗口现在也变得更小了。 定义高可用性 高可用性对企业来说意味着什么呢?可以承受的风险级别是什么呢?可以接受丢失多少 数据呢?当前存在备份或者报表方面的问题吗?所有这些问题都需要在开始规划需要的组件 功能时提出来。你可能断定绝对不能忍受数据丢失,或者,也可能觉得应用程序停个一两 天也没啥大问题。 同时,这样做还有助于看清会发生什么样的问题,并给这些问题构建容错机制。例如: 常见的意外事件是硬件故障,比如磁盘或者服务器故障;人为错误,比如误删了一个数据 文件或者做了错误的修改;也有网络或站点故障。那么,加上列举的这些情况,还有计划 内的停机需求:打补丁,数据库修改和迁移,应用程序修改(可能包括表和数据库对象的 修改和升级)。应该寻找系统中存在单点故障的区域,然后采取相应的解决方案来开始排 除这些区域。 本文只是涉及了构建高可用环境所必须的几个领域:真正应用集群 RAC,自动存储管 理 ASM 和数据卫士 Data Guard。理解这些组件,并研究 Oracle 的其他功能(比如:闪回查 TT 数据库技术专题之“Oracle 11g 高可用性指南” Page 5 of 36 询,事务和数据库,闪回恢复区,数据恢复助手和安全备份)会帮助使环境实现和企业在 可用性方面的需求得到同步。 因此,在了解应用和企业需求时,如果存在计划内停机维护,可以容忍打补丁产生的 停机时间,那么滚动补丁就不太需要关注。相反,通过闪回技术,或者通过在一台类似生 产服务器测试应用程序变化的能力,测试应用程序修改和补丁的解决方案可能是可行的。 如果企业不允许停机,或者定期维护窗口,而且你知道每停机一分钟就会损失公司大量的 金钱,你可以采用该解决方案组件的组合:滚动补丁,预防硬件故障引起的停机,通过集 群和数据卫士实现故障时切换服务器。 为了设计一个满足预算限制和业务需要的解决方案架构会发生一些讨论和规划,要与 业务团队一起工作,要对可用的不同选择有一定理解。本章的其它部分会让你对这些领域 中的一部分内容以及如何实施它们有所理解。 (作者:Ian Abramson, Michael Abbey, Michael J Corey 译者:冯昀晖 来源:TT 中国) 原文标题:定义高可用性 链接:http://www.searchdatabase.com.cn/showcontent_28756.htm TT 数据库技术专题之“Oracle 11g 高可用性指南” Page 6 of 36 Oracle 高可用性:理解真正应用集群(RAC) 理解真正应用集群(RAC) Oracle 的真正应用集群(RAC)提供了一个高可用、高可扩展的数据库环境。如果在集 群中的一个服务器崩溃了,数据库实例仍然可以再集群的其他服务器或节点上运行。有了 Oracle 11g Clusterware,部署一个新的集群节点是非常容易的。RAC 同单一服务器相比, 提供了更好的应用扩展性能,这意味着初始环境可以满足当前所需,而服务器可以在需要 时添加。真正可用集群是在 Oracle 9i 中引入的,而在随后的各个版本中,RAC 的管理与 部署变得越来越简单,而新的特性提供了一个稳定且具有良好性能的环境。 在 Oracle 11g 中,Oracle 为 RAC 环境提供了滚动补丁。之前,你可以通过故障转移 来实现最小化宕机时间,但是这样的方式仍然需要中断操作。而在 Oracle 11g 中,在安 装补丁程序时,其它的服务器可以继续工作在未打补丁的状态下。这样可以减小计划内与 计划外的中断,实现全天候的不间断运行。同滚动补丁一样,在 Oracle 11g 中的 RAC 实 例部署功能也得到了极大的提升。Oracle Clusterware 可以帮助建立新的服务器,克隆已 经存在的 ORACLE_HOME 和数据库实例。 RAC 环境由一个或多个服务器节点组成;然而一个单一的服务器集群是不提供高可用性 的,因为无法完成故障转移操作。各个服务器和节点是由一个私人网络连接的,也被称为 互连。所有节点共有一个磁盘集,如果一个节点崩溃,另外的节点可以继续工作。 一个典型的 RAC 环境拥有一组磁盘,并由所有的服务器共享;每一个服务器都至少有 两个网络端口:一个连接外网,一个连接内网。共享的硬盘不可以是简单文件系统,因为 它需要与集群相对应,这也是 Oracle Clusterware 存在的原因之一。在 11g 版本中, Clusterware 也得到了改进,现在可以提供几个管理集群的接口,同时也是自动存储管理 (ASM)的必备之一。 Clusterware 的共享磁盘由两个组件组成:记录磁盘成员的表决磁盘和记录集群配置 信息的 Oracle 集群注册表(OCR)。表决磁盘需要被共享并且可以是原始设备、Oracle 集 群文件系统(Oracle Cluster File System)文件、ASM 或 NTFS 分区。Oracle Clusterware 是允许所有服务器一起运作的关键。没有互连,服务器彼此就无法联系在一起;没有集群 TT 数据库技术专题之“Oracle 11g 高可用性指南” Page 7 of 36 磁盘,它们就无法让其他节点访问相同信息,如图 8-1 所示,拥有关键组件的基础设置。 下面我们来讨论如何安装设置 RAC 环境。 (作者:Ian Abramson, Michael Abbey, Michael J Corey 译者:孙瑞 来源:TT 中国) 原文标题:Oracle 高可用性:理解真正应用集群(RAC) 链接:http://www.searchdatabase.com.cn/showcontent_28631.htm TT 数据库技术专题之“Oracle 11g 高可用性指南” Page 8 of 36 Oracle 高可用性:安装 RAC 在运行 runInstaller 或 setup.exe 之前,有一系列预安装需要完成。从网络设置到 磁盘就位等等,在安装数据库到 RAC 节点前还需要先安装 clusterware。而这些预先安装 步骤只需要在安装 RAC 主体环境前完成,不管要安装多少个节点。然后可以使用克隆配置 工具进行新节点的部署。 图 8-1 RAC 组件 每个服务器需要根据相应的内核参数与系统参数进行设置,而网络地址以及共享磁盘 需要在 Clusterware 安装之前设置好。 同独立数据库相比,RAC 的网络地址与连接设置不太一样。你需要三个不同的 IP 地址: 虚拟网络、内网以及公共网。在/etc/hosts 文件上,主机需要为每个节点列出一个非域名 和 IP 地址。也就是说,每一个主机在/etc/hosts 文件上都至少有三个列表,每一个列表 都有它自己的唯一 IP 地址和主机名或别名。 TT 数据库技术专题之“Oracle 11g 高可用性指南” Page 9 of 36 cat /etc/hosts #eth0 – Public Network mmrac1.domain1.com mmrac1 mmrac2.domain1.com mmrac2 #eth1 – Private/Interconnect Network 10.0.0.1 mmrac1priv.domain1.com mmrac1priv 10.0.0.2 mmrac2priv.domain1.com mmrac2priv #VIPs – Virtual Nework 192.168.10.104 mmrac1vip.domain1.com mmrac1vip 192.168.10.05 mmrac2vip.domain1.com mmrac2vip 无论是内网还是外网都需要在同一台适配器上进行设置,因此从示例的主机文件上来 看,集群中的所有节点必须将 eth0 设置为外网 eth1 设置为内网。你可以通过 ping 来测 试这些节点。互连的网络需要仅仅供给节点间的通信使用,有人还建议它应该拥有自己的 独立物理网络。这对缓存的融合性能肯定有帮助,即节点间缓冲区缓存的内存共享。 共享的磁盘需要记录安装集群的设置信息,它将存储 Oracle 集群注册表以及集群成 员。 针对 Oracle 集群,应该有多个表决磁盘可用。如果不在安装的时候添加,磁盘也可 以在有需要的时候添加、备份与恢复。要添加磁盘,必须以 root 身份运行以下语句: 路径须同所添加磁盘的限定名一致: crsctl add votedisk css path –force 通过列出表决磁盘清单进行验证: TT 数据库技术专题之“Oracle 11g 高可用性指南” Page 10 of 36 crsctl query css votedisk 在 Linux/Unix 下备份表决磁盘,需运行以下语句: dd if=voting_disk_name of=backup_file_name 在 Windows 下,使用以下语句: ocopy voting_disk_name backup_file_name 在 Linux/Unix 下还原表决磁盘,运行以下语句: dd if=backup_file_name of=voting_disk_name 在 Windows 下,使用以下语句: ocopy backup_file_name voting_disk_name 在安装 RAC 前所做的这么多准备,验证并检查设置的重要性是非常高的。当安装 clusterware 时,虚拟网和内网的合理设置时至关重要的。而安装的第一步就是验证网络、 磁盘、操作系统以及硬件。以上任何一个没有到位,clusterware 就无法正常安装,相应 的 RAC 安装选项就不可用。 在安装 clusterware 之前,你可以通过集群验证工具(CVU)进行辅助工作。它会帮助 验证硬件以及操作系统是否符合要求,还有网络设置。从软件安装目录下,运行以下语句: ./runcluvfy.sh stage –pre crsinst –n mmrac1, mmrac2 未知输出意味着用户没有运行此工具的权限,或者节点不可用以及资源错误。在安装 clusterware 之后运行 cluvfy,可以验证所有先决条件。在安装数据库之前你必须考虑到 所有可能出现的错误,否则在之后的工作中会造成许多不必要的麻烦。 注意:在安装 Oracle 软件进行用户设置时,最好针对 Clusterware 与 ASM 设置不同 的登录账号,这基本是出于安全考虑。 TT 数据库技术专题之“Oracle 11g 高可用性指南” Page 11 of 36 现在,所有准备都已做好,可以安装 clusterware 了。使用 Oracle installer,安装 clusterware 这一项应该可用了。如果还不可用,就运行集群验证工具直到解决这一问题, 图 8-2 显示了网络等信息。 图 8-2 Clusterware 安装 在安装完 clusterware 后,就该安装 Oracle 数据库了,因为节点上的架构已经完成。 在集群的第一个节点上,运行 Oracle 安装程序(linux/unix:runInstaller;Windows : setup.exe)。安装企业版,其路径选择同单独实例相同,只有集群安装选项不同。建议安 装路径是先安装软件不创建数据库,这样软件安装可以先被验证。然后,你可以使用数据 库设置助理在集群的节点上创建数据库。 TT 数据库技术专题之“Oracle 11g 高可用性指南” Page 12 of 36 (作者:Ian Abramson, Michael Abbey, Michael J Corey 译者:孙瑞 来源:TT 中国) 原文标题:Oracle 高可用性:安装 RAC 链接:http://www.searchdatabase.com.cn/showcontent_28632.htm TT 数据库技术专题之“Oracle 11g 高可用性指南” Page 13 of 36 Oracle 高可用性:测试 RAC RAC 环境的创建首先是为了给不同的应用程序提供故障转移功能测试与概念验证模型。 RAC 测试环境应继续为现有生产系统保持可用,因为不同的工作负载与故障转移功能测试 不能同单节点相同。在安装完 clusterware 和数据库节点之后,你应该对不同场景的故障 转移进行测试,以便验证安装是否成功并确定应用如何进行故障转移。 创建一个测试列表,建立应用程序块都是测试所必须的一部分。测试内容应涉及硬件、 互连网络、磁盘以及操作系统等故障。应在环境中模拟尽可能多的故障情况。 以下就是一个测试列表的样例:  互连网络 将网络光缆从适配器上拔掉。  事务故障转移 连接一个节点,运行事务然后关闭节点;测试使用 select、 insert、update 以及 delete 操作 。  备份与恢复  数据文件丢失或硬盘损坏  测试事务负载平衡 验证服务有效性并允许负载平衡。 工作负载管理器 在后端应用程序中使用 RAC 数据库并不一定就意味着应用程序可以识别 RAC。即便数 据库正在进行事务与连接的故障转移,应用程序作为一个整体可能不会故障转移。然而, 服务器会调用故障转移,这样的情况可以用来触发自动重连或重启应用程序块的操作。这 就是应用程序快速通知(Fast Application Notification),这可以用来进行故障转移和 负载平衡。 在 Oracle 10g 中,不同的程序块连接不同的节点可以在某种程度上可以帮助进行负 载平衡。而如今,幸好有了 Oracle 11g、Oracle Clusterware 与 Load Balancing Advisor 等工具,工作负载可以更高效地分布在 RAC 环境中。应用程序负载可以通过服务 进行连接,有了这些服务就可控制故障转移与负载平衡了。这些服务设计可以同数据库的 TT 数据库技术专题之“Oracle 11g 高可用性指南” Page 14 of 36 一些方面进行整合,不仅仅是与 CPU 资源进行整合了。Load Balancing Advisor 将信息建 立在 SERVICE_TIME 和 THROUGHPUT 上。 (作者:Ian Abramson, Michael Abbey, Michael J Corey 译者:孙瑞 来源:TT 中国) 原文标题:Oracle 高可用性:测试 RAC 链接:http://www.searchdatabase.com.cn/showcontent_28633.htm TT 数据库技术专题之“Oracle 11g 高可用性指南” Page 15 of 36 Oracle 高可用性:自动存储管理(ASM) 正如在真正应用集群 RAC 环境中提到的那样,自动存储管理(ASM)对 Oracle 数据库 文件既做文件管理,也做磁盘管理。现在,你可能认为这看起来像是更高级点的话题,可 能对初学者指导来说太详细了。然而,自动存储管理是高可用数据库环境中的一个重要部 分,而且对处理性能问题和管理 Oracle 文件也非常重要。即使我们使用应用程序和数据 库这么多年了,仍然存在 I/O 争夺的问题,读写磁盘是数据库做的主要工作。所以,数据 库管理员最终必须对磁盘,镜像,硬盘分割方面的知识比他们想象的要理解更多。讨论不 同的 raid 策略和优化 I/O 看起来像是中级话题,但是这些领域的一些工作甚至已经由自 动存储管理代劳了,已经简化了 Oracle 磁盘和文件需要的管理工作。 围绕自动存储管理,有几个更深入的讨论和主题,但是本章将只做一个一般性的介绍, 介绍一些基本配置以及如何开始使用自动存储管理。 在大型数据库中,一个数据库实例的数据文件数量可能会增长到超出控制;甚至在大 型环境中的表空间也可能变得难以管理。那么,任何对表空间做磁盘迁移或者移动的操作 就变成一项非常艰巨的任务,而且由于数据文件的数量太多,也留下了漏洞开放的区域。 自动存储管理使用磁盘组管理这些文件,甚至在数据库处于打开运行状态时,磁盘被添加 到磁盘组,自动存储管理实例可以被访问。 设置自动存储管理实例 在 Oracle 11g 中,自动存储管理实例现在可以被设置为集群,提供滚动补丁,一个 自动存储管理实例管理一个真正应用集群节点或者一个单独 Oracle 服务器的文件。一个 自动存储管理实例可以为每一个集群节点上的所有实例管理以下文件:控制文件,数据文 件,临时文件,参数配置文件,重做日志,归档日志,RMAN 备份,数据泵泵集和闪回日志。 就像真正应用集群实例一样,自动存储管理实例在故障时会自动切换到集群中的其他节点, 继续管理磁盘。 真正应用集群 RAC 不是使用自动存储管理所必须的。实际上,自动存储管理可以被安 装在一台单独的服务器上。然而每一台服务器都需要自动存储管理实例。在图 8-4 中,你 可以看到两台独立的服务器,每台都有他们自己的自动存储管理实例。尽管每一台服务器 TT 数据库技术专题之“Oracle 11g 高可用性指南” Page 16 of 36 都需要它自己的自动存储管理实例,一个自动存储管理实例可以管理那台服务器上一个以 上数据库实例中的文件。该服务器上自动存储管理实例的每一个数据库都可以访问所有磁 盘组,只要这些磁盘是通过创建分组已经分配的可用磁盘。 图 8-4:自动存储管理实例单一模式 你可以在图 8-5 中看到,在真正应用集群环境中自动存储管理实例的不同之处在于: 他们还是故障切换时可以使用的实例;这意味着为了管理故障切换,真正应用集群组件必 须是可用的。一个自动存储管理实例仍然创建在每一个节点上,但是该实例管理跨所有节 点的磁盘组和文件。 TT 数据库技术专题之“Oracle 11g 高可用性指南” Page 17 of 36 图 8-5:自动存储管理实例真正应用集群模式 自动存储管理实例是一个小型的数据库实例,因为它基本上就是那样的内存结构,它 提供了管理磁盘组的框架。磁盘组包含几块物理磁盘,可以支持不同的磁盘格式。该格式 可以是裸设备分区,逻辑单元数 LUNS(硬件磁盘冗余阵列 RAID),逻辑卷管理 LVM(冗余 功能)或者网络文件系统 NFS(可以在网络文件系统上负载均衡,而不依赖于操作系统对 网络文件系统进行支持)。不管怎样,自动存储管理的优点是绕过一切操作系统缓冲,直 接使用裸设备。 自动存储管理实例可以在安装 Oracle 软件时创建,也可以使用数据库配置助手 (DBCA)创建。实例名通常以“+ASM”开头,然后必须配置 Oracle 集群同步服务器 (CSS)。该服务是随着“localconfig”脚本添加的,该脚本将添加自动存储管理功能所 必需的 OCR 资产库。同时,会增加一个新角色“SYSASM”,该角色可以以管理员身份登录。 操作系统的组 OSASM 也随之增加这个角色。 TT 数据库技术专题之“Oracle 11g 高可用性指南” Page 18 of 36 下面是使用数据库配置助手(dbca)创建自动存储管理实例过程的截图。在进行数据 库配置时,你可以选择创建一个常规数据库或者配置自动存储管理。如果你想使用自动存 储管理创建数据库,需要首先创建自动存储管理实例。然而,你还可以迁移现有的数据库 到自动存储管理中,还支持为该迁移创建该实例。不管是哪种方式,数据库配置助手 dbca (见图 8-6)都提供了创建自动存储管理实例的便捷方式。 图 8-6:使用数据库配置助手创建自动存储管理实例 如果 Oracle 集群同步服务器还没有启动,会弹出提示信息告知“要配置自动存储管 理,需要首先运行该服务器”。另一个窗口会打开启动该服务器;该命令被提供在弹出窗 口中,如图 8-7 所示。 现在自动存储实例可以被创建了,点击“确定”按钮,如图 8-8 所示,将会创建自动 存储管理实例。现在你只需要配置参数,找到可用的磁盘和磁盘组。 为使自动存储管理实例可以找到可用磁盘,需要使用一个初始化参数:ASM_ DISKSTRING。其他参数有:ASM_DISKGROUPS 指定了哪个文件受自动存储管理器管 理;ASM_POWER_LIMIT 是磁盘全局平衡的默认值。INSTANCE_TYPE 设置为表示该实例是一个 自动存储管理实例,而不是一个数据库。 参数: ASM_DISKGROUPS = CONTROLFILE, DATAFILE, LOGFILE ASM_DISKSTRING = /dev/rdsk/* TT 数据库技术专题之“Oracle 11g 高可用性指南” Page 19 of 36 ASM_POWER_LIMIT = 0 /* 0 to 11 0 disables and 11 to enable rebalancing more quickly */ INSTANCE_TYPE = ASM 图 8-7:创建自动存储管理实例(集群同步服务器 CSS) 图 8-8:创建自动存储管理实例(完成) 磁盘组可以在实例创建期间生成。在实例创建以后,可以用 SqlPlus 启动自动存储管 理。项目 8-1 安装了 ASMLib。 对于 Linux 系统,可以选择使用裸设备或者 ASMLib 为自动存储管理管理可用磁盘。 ASMLib 是一个工具,需要安装为 Linux 操作系统包。 一步一步跟我学 TT 数据库技术专题之“Oracle 11g 高可用性指南” Page 20 of 36 以 root 用户登录,安装完包、Linux 软件和 Oracle 软件之后,ASMLib 还需要下面的 包: # rpm –Uvh oracleasm-support-2.0.1.-1.i386.rpm # rpm –Uvh oracleasmlib-2.0.1.-1.i386.rpm # rpm –Uvh oracleasm-2.6.9-34.ELsmp-2.0.1-1.i686.rpm 验证包确实被安装: # rpm –q oracleasm* 前面的步骤安装了 ASMLib 软件。现在,可以按照以下步骤进行配置: # /etc/init.d/oracleasm configure ASMLib 软件安装以后,可用分区可以被用来创建自动存储管理磁盘: # /etc/init.d/oracleasm createdisk VOL1 /dev/disk1 # /etc/init.d/oracleasm createdisk VOL2 /dev/disk2 要在操作系统层面浏览刚刚创建的磁盘,使用如下命令:# /etc/init.d/oracleasm listdisks VOL1 VOL2 课题总结 本课题带你学习了安装 ASMLib 工具所需包的步骤,同时演示了使用命令行工具可以 完成的一些任务。拥有了配置好的 ASMLib 对于管理自动存储管理磁盘和文件非常有用。 TT 数据库技术专题之“Oracle 11g 高可用性指南” Page 21 of 36 (作者:Ian Abramson, Michael Abbey, Michael J Corey 译者:冯昀晖 来源:TT 中国) 原文标题:Oracle 高可用性:自动存储管理(ASM) 链接:http://www.searchdatabase.com.cn/showcontent_28812.htm TT 数据库技术专题之“Oracle 11g 高可用性指南” Page 22 of 36 如何使用 ASMCMD 和 ASMLIB 管理 ASM 实例 我们可以通过 Oracle 企业管理器来管理自动存储管理实例,同时我们也可以在 SqlPlus 和 ASMCMD(自动存储管理的命令行管理工具)中使用命令行来管理。Oracle 11g ASMCMD 增加了复制文件,备份和恢复元数据,查看和重新映射文件的新命令。 Oracle 11g 中的 ASMCMD 增加了几个新命令。新命令列举如下: cp 该命令可以在自动存储管理磁盘组之间复制文件,也可以从磁盘组到操作系统复 制文件,例如:  ASMCMD >cp +DISKGRP1/MMDB.CTF1 /backups  Lsdsk 该命令查看并以列表形式显示磁盘信息,这对建立自动存储实例使用的 磁盘列表很有用。  md_backup 该命令给一个或多个磁盘组创建包含元数据的备份文件,使你可以 在将来再次创建磁盘组。  md_restore 该命令使用 md_backup 做好的备份恢复磁盘组恢复磁盘组。  remap 该命令通过移动无故障的拷贝到磁盘上的新位置,来恢复磁盘上的错误 块。 下面是其他命令;这不是一份完整的命令列表,你会看到这些命令与 linux 或者 unix 命令有些类似。  Cd 该命令用来改变目录。  Du 该命令用来显示总的磁盘空间。  Exit 该命令退出 ASMCMD 命令行工作环境。  find 该命令列出指定名称的值或发生的事件。  Ls 该命令列出自动存储管理目录下的内容(在登录自动存储管理以后,它的其 实目录是根目录“/”)。  Mkdir 该命令创建自动存储管理目录。  Pwd 该命令显示当前目录的路径。  Lsct 该命令列出关于当前自动存储管理客户端的信息。 TT 数据库技术专题之“Oracle 11g 高可用性指南” Page 23 of 36 除了管理自动存储管理实例方面的改善,Oracle 11g 自动存储管理还有性能方面的提 高,比如:快速镜像再同步。由于这一改善,使得从故障恢复的时间被缩短了。磁盘组有 一些属性可以做相关设置。“DISK_REPAIR_TIME”的默认值是 3.6 个小时,该参数值决定 了磁盘的回复时间有多快。利用磁盘组的“RESTRICTED”模式,快速全局平衡也是可以实 现的。自动存储管理可以被配置为从首选镜像读拷贝,在真正应用集群环境中,这意味着 节点可以从他们本地存储镜像中读取数据,而不是可能不得不跨网络(延时更长)。 正如前面提到的,如果给自动存储管理实例做了集群,滚动补丁可以被应用到自动存 储管理实例和数据库实例。既然自动存储管理依赖于 Oracle 的集群件,在升级自动存储 管理之前,集群件必须首先升级到所有节点。在打补丁期间,保证正常的数据库功能是可 能的,但是对磁盘组配置的修改受到限制: 要开始打补丁,使用如下命令: SQLPLUS> ALTER SYSTEM START ROLLING MIGRATION TO 11.1.2; /*这样每一个自动存储管理实例可以被卸下进行升级。在所有升级完成以后,迁移只 需要被停止。*/ SQLPLUS> ALTER SYSTEM STOP ROLLING MIGRATION; 把一个实例从正常存储移到自动存储管理其实是一项很简单的工作,但是这里做了一 个假设是自动存储管理已经创建好的。使用 Oracle 企业管理器可能是做到这一点的最直 接的方式。 首先打开 Oracle 企业管理器,选择迁移到自动存储管理的选项。在你选择了迁移到 自动存储管理以后,屏幕会显示如下指令。迁移任务需要你首先选择待迁移的文件,其中 当然包括数据库文件,但是也可以包括还原类型的文件(比如:归档日志,备份和控制文 件的拷贝)。如果没有选择,日志文件和控制文件会留在当前磁盘上。 (作者:Ian Abramson, Michael Abbey, Michael J Corey 译者:冯昀晖 来源:TT 中国) 原文标题:如何使用 ASMCMD 和 ASMLIB 管理 ASM 实例 TT 数据库技术专题之“Oracle 11g 高可用性指南” Page 24 of 36 链接:http://www.searchdatabase.com.cn/showcontent_28860.htm TT 数据库技术专题之“Oracle 11g 高可用性指南” Page 25 of 36 Oracle 高可用性:创建自动存储管理磁盘组 创建自动存储管理磁盘组 启动自动存储管理实例与启动数据库实例非常相似。不过不是使用“SYSDBA”,而是 使用“SYASM”。 ORACLE_SID=+ASM SQLPLUS /NOLOG SQL> connect SYS as SYSASM Enter password: sys_password Connected to an idle instance. SQL> STARTUP ASM instance started 实例的关闭也与数据库实例关闭类似,但是“IMMEDIATE”从句会检查是否仍然存在 连接到自动存储管理实例的数据库,如果有则会返回一个错误。任何在关闭过程中连接到 自动存储管理实例的数据库都会被关闭: SQL> SHUTDOWN NORMALIMMEDIATEABORT “DISKGROUP”的冗余类型是在组创建的时候指定的,创建以后不能修改。然而,新 的组可以使用不同的冗余类型创建,然后迁移。有三种冗余类型:EXTERNAL,NORMAL 和 HIGH。在“EXTERNAL”类型中,自动存储管理不提供任何冗余,它假定外部源就像是一个 提供了容错机制的存储阵列。“NORMAL”类型需要两个组来支持故障切换,可以处理一个 组出现故障的情况。“HIGH”类型冗余提供了三种故障切换方式,需要三个组。“NORMAL” TT 数据库技术专题之“Oracle 11g 高可用性指南” Page 26 of 36 冗余和“HIGH”冗余也消除了自动存储管理磁盘的单点故障。即使是大一点的数据库,较 少数量的磁盘组一般也就能满足了。 创建磁盘组 接下来将给出采用外部冗余或者正常冗余创建磁盘组的命令。一旦创建了组,就可以 用他们来创建表空间。 一步一步跟我学 使用如下命令创建磁盘组: SQL> create diskgroup DGEXT1 external redundancy disk '/dev/rdsk1/disk1'; SQL> create diskgroup DGNORM1 normal redundancy disk FAILGROUP controller1 DISK '/dev/rdsk/disk1' name disk1, '/dev/rdsk/disk2' name disk2 FAILGROUP controller2 DISK '/dev/rdsk/disk3' name disk3, '/dev/rdsk/disk4' name disk4; 现在你已经创建了磁盘组,你可以通过查询视图,查看磁盘和磁盘组信息,来验证它 们是否已经被创建: V$ASM_DISKS 可用磁盘在参数 ASM_DISKSTRING 中反射的值; V$ASM_DISKGROUPS 关于冗余类型的可用磁盘组及其明细; select name, state from v$asm_diskgroups; TT 数据库技术专题之“Oracle 11g 高可用性指南” Page 27 of 36 NAME STATE ---------------------- -------------------DGEXT1 MOUNTED DGNORM1 MOUNTED 给磁盘组添加磁盘可以根据数据库可能增长的空间需要进行: alter DISKGROUP DGNORM1 add DISK '/dev/rdsk/disk5' name disk5, '/dev/rdsk/disk6' name disk6; 自动存储管理已启动并且磁盘组创建以后,创建表空间就非常简单了,一句话的事 “CREATE TABLESPACE ts_data1”,或者磁盘组名称可以用数据文件名称替代,就像在非 自动存储管理数据库中使用的一样: Create tablespace DATATBS1 datafile '+DGNORM1' size 1024M; (作者:Ian Abramson, Michael Abbey, Michael J Corey 译者:冯昀晖 来源:TT 中国) 原文标题:Oracle 高可用性:创建自动存储管理磁盘组 链接:http://www.searchdatabase.com.cn/showcontent_28813.htm TT 数据库技术专题之“Oracle 11g 高可用性指南” Page 28 of 36 Oracle 高可用性:理解数据卫士 提供高可用、可恢复和安全稳定的数据库环境,绝对是一个需要可以处理不同领域问 题的多种部件才能实现的目标。我们已经讨论了真正应用集群 RAC 和自动存储管理 ASM;Oracle 数据卫士环境提供了这一架构的另一部分。集群服务器正常情况下都位于同 一个数据中心,因为集群之间需要交互连接和共享磁盘。正因为如此,这种环境就存在潜 在的故障风险。除此之外,恢复和灾备站点怎么样呢?数据卫士也可以在这方面提供解决 方案,帮助为某些剧烈的资源消耗(比如:热备份,导出和报表功能)减轻负载。有了数 据卫士 11g,备用服务器可以成为一台活动服务器,可以用来减轻报表功能和备份的负载 压力,同时还可以继续履行它的备用职责,在故障切换时作为灾备服务器。利用数据卫士, 一台或者多台备用服务器可以放在不同的地点,支持不同地点的故障切换。因此,对于高 可用性,数据卫士同时提供针对故障切换和恢复两者的解决方案。 数据卫士在 Oracle 8i 版本就以某种形式存在了;然而,通过 11g 中的二级数据库, 可以在它处于以读取方式打开的情况下执行恢复。这就意味着特殊查询(那些没有进行优 化,会占用很多资源的查询),报表,备份和导出功能可以被这个系统分担一些负载。可 以使故障切换的备用硬件发挥有用的业务用途,使得它成为灾备计划中最具成本效益的一 部分。 数据卫士管理器提供了一种很实用的方式来管理主服务器和从服务器。它支持你手工 执行故障切换,设置自动故障切换,把从服务器设置为快照模式。快照模式实际上把数据 库设置成了读写模式,以便可以针对当前生产数据集进行测试。关于这种快照模式的更多 内容在后面会继续阐述,但是首先让我们来浏览一下该架构,了解一下如何设置数据卫士。 (作者:Ian Abramson, Michael Abbey, Michael J Corey 译者:冯昀晖 来源:TT 中国) 原文标题:Oracle 高可用性:理解数据卫士 链接:http://www.searchdatabase.com.cn/showcontent_28915.htm TT 数据库技术专题之“Oracle 11g 高可用性指南” Page 29 of 36 Oracle 高可用性:解释数据卫士保护模式 设置数据卫士为不同的模式,有不同的配置,这需要适合硬件,也取决于可用的硬件,进 程和最终业务需要。 数据卫士可配置的模式有:最大保护模式,最大可用性模式和最大性能模式。数据卫 士还可以配置一台以上的备用数据库。甚至在像最大保护这样的模式中,推荐采用多台备 用数据库,这是为了确保至少有一台备用机是可用的。 最大保护模式是为零数据丢失而设计的,因为重做传输是同步进行的。同步传输意味 着你是在同时给主数据库服务器和从数据库服务器应用数据库事务。主数据库必须等应用 到备用数据库的事务返回响应,才能提交事务。对于在从站点拥有两台备用服务器或者甚 至配置了真正应用集群的情况,推荐使用这种解决方案,因为在这种模式下如果备用服务 器出故障了,主服务器也会停止工作。 最大可用性模式也有零数据丢失的目标(也是重做日志同步)。与最大化保护模式的 差异在于,如果备用服务器出故障了,或者连接出了问题,允许主服务器继续运行,而备 用服务器退到后边。由于存在这种容错机制,所以这种模式并不强烈要求一个以上的备用 服务器。 最大性能模式存在最小化数据丢失的可能性,但是性能是首要关注的内容。这是因为 重做传输是异步进行的,而且它不会强制要求返回主服务器响应之后,主服务器才执行提 交。因此,如果传输是使主数据库性能变慢的关键原因,而且性能风险比数据丢失的风险 更高的话,最大性能模式就再适合不过了。 正如我们之前讨论的,每种模式有不同的服务处理传输和应用程序: 传输服务是处理同步和异步传输的部分。这些服务把日志或者事务移动到可用的备用 服务器上,并验证这些信息是否被应用到了这些服务器上。同步传输会在提交事务之前验 证该事务是否已经被同时应用到了主服务器和备用服务器上。异步传输会验证已经被送出 的事务,但是即便它在备用服务器上没有执行完成,在主服务器上的事务也会提交。 TT 数据库技术专题之“Oracle 11g 高可用性指南” Page 30 of 36 应用服务处理 SQL 应用或者重做应用。应用服务处理 SQL 语句或者重做日志,对应用 它们到备用数据库进行控制。SQL 应用处理重做并把它转换成 SQL 语句。在主数据库和备 用数据库上运行 SQL 语句之后,备用数据库与主数据库基本类似,可以被用作逻辑备用数 据库。重做日志被用于保持物理备用数据库与主数据库保持一致。重做信息通过重做应用 被应用到备用服务器,受应用服务控制。 角色管理服务用来实现备用服务器向主服务器转换。这一功能既可用于计划内切换, 也可用于由于意外停机导致的向另一台服务器切换。 图 8-9 展示了数据卫士环境的配置,以及如何配置主服务器和备用服务器,甚至配置 为不需要在同一地点。服务器可以在同一个数据中心,也可以在一条街上,或者也可以彼 此远在不同的城市,这取决于用途和需求。把服务器放在不同的城市提供的高可用性,甚 至在主服务器所在城市发生灾难性事件时,灾备也可以起到作用。同时,在图 8-9 中,注 意使用备用服务器可用的选项,比如:报表,系统测试,或者甚至运行备份,这些类型的 活动可以从主服务器上移出来,从而减轻主服务器的负载。 图 8-9:数据卫士配置 TT 数据库技术专题之“Oracle 11g 高可用性指南” Page 31 of 36 通过重做应用 Redo Apply,备用数据库可以被以只读查询的方式打开。在备用服务器 上的恢复活动被取消,然后数据库被打开。如果你使用的是活动数据卫士选项,重做应用 可以被再次启动,使备用服务器在让数据库打开时拥有实时数据。这一点可以在备用数据 库的 sqlplus 中进行配置。 SQLPLUS> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL; SQLPLUS> ALTER DATABASE OPEN READ ONLY; 然后开始再次应用重做: SQLPLUS> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT; /* 当日志被应用时,数据库仍然处于打开状态,支持只读查询和报表。*/ 使用备用服务器还有另一种选择,就是用作快照数据库,可以被更新并用于测试。在 这段时间内,不会应用日志。在测试完成之后,快照数据库通过使用闪回数据库的恢复点 被转换回到备用数据库。 创建快照: SQLPLUS> ALTER DATABASE CONVERT TO SNAPSHOT STANDBY; 转换回备用模式: SQLPLUS> ALTER DATABASE CONVERT TO PHYSICAL STANDBY DATABASE; 在使用 SQL 应用利用快照数据库时,停止 SQL 语句的应用不是必须的。这是因为通过 让应用到主服务器的 SQL 也同样应用到备用服务器,备用服务器保持着同步。因此,在备 用服务器仍然在被同步时,它对于查询,运行报表或者备份还是可用的。这里显示的设置 备用服务器为读访问的命令不是必须的,但是在初始化设置的时候,要展示正在使用的 SQL 应用时是必须的。 SQLPLUS> ALTER DATABASE START LOGICAL STANDBY APPLY IMMEDIATE; TT 数据库技术专题之“Oracle 11g 高可用性指南” Page 32 of 36 (作者:Ian Abramson, Michael Abbey, Michael J Corey 译者:冯昀晖 来源:TT 中国) 原文标题:Oracle 高可用性:解释数据卫士保护模式 链接:http://www.searchdatabase.com.cn/showcontent_28916.htm TT 数据库技术专题之“Oracle 11g 高可用性指南” Page 33 of 36 创建 Oracle 物理备用服务器 所有的数据库,不管是物理的还是逻辑的,都必须首先被创建为物理备用数据库。用 来创建备用数据库的工具有:RMAN,数据卫士代理,Oracle 网格控制。必须在主服务器和 备用服务器上都进行操作。然而,无论你打算创建多少个备用服务器,在主数据库上的步 骤只需要执行一次。Oracle 11g RMAN 提供了一个简单的命令用来创建备用数据库并同时 备份该数据库。 创建物理备用服务器 一步一步跟我学  在主服务器上完成以下步骤: select FORCE_LOGGING from v$database; alter database force logging; -- 强制所有修改都会记录日志,即便某些可能设置为不记录日志的对象也会被记录 日志。  配置重做传输认证;使用远程登录口令文件。  添加备用服务器日志文件给主服务器。为使应用到主服务器的重做日志可以应 用到备用服务器,备用服务器上的日志需要与主服务器的日志一样大,或者比 主服务器日志更大。 alter database add standby logfile '/u...' size 50M;  设置主服务器上的初始化参数: DB_NAME = DB_UNIQUE_NAME (即便备用服务器变成了主服务器,该参数也不会改变。) TT 数据库技术专题之“Oracle 11g 高可用性指南” Page 34 of 36 CONTROL_FILES ## 控制文件。 LOG_ARCHIVE_CONFIG='dg_config=(DG01,DG02)' LOG_ARCHIVE_DEST_1='LOCATION=/u01/oraarch/DG01' ## 本地归档目录。 LOG_ARCHIVE_DEST_2='service=DG01 ASYNC VALID_FOR=(ONLINE_LOGFILE,PRIMARY_ROLE) db_unique_name=DG01' ## 设置传输 类型,用于物理备用服务器。 REMOTE_LOGIN_PASSWORDFILE = Exclusive LOG_ARCHIVE_DEST_STATE_n  把主服务器设置为归档日志模式。  备用数据库的网络配置需要在主服务器和备用服务器上都进行配置。在两台服 务器上使用 Oracle 网络管理器有助于完成该配置。(相关内容在第三章论述 了)。在配置服务名时,对备用服务器使用“unique_db”名称。在两台服务器 上都设置完监听和服务以后,验证一下复制过来的口令文件和 adump,bdump, 闪回等等的目录是否已经被创建。 通过网络创建备用数据库,以 NOMOUNT 模式启动备用数据库。 在主服务器上,执行 RMAN 命令并以 sysdba 权限连接: RMAN> connect auxiliary sys/password@DG02 RMAN> run { allocate channel disk1 type disk; allocate auxiliary channel stby type disk; duplicate target database for standby from active database TT 数据库技术专题之“Oracle 11g 高可用性指南” Page 35 of 36 spfile parameter_value_convert 'DG01','DG02' set db_unique_name='DG02' set db_file_name_convert='/dg01/','/dg02/' set log_file_name_convert='/dg01/','/dg02/' set control_files='/u01/app/oradata/controlfiles/dg02.ctl' set log_archive_max_processes='5' set fal_client='dg02' ## FAL(提取归档日志)客户端,如果角色被切换的话会被 使用。 set fal_server='dg01' set standby_file_management='AUTO' set log_archive_config='dg_config=(dg01,dg02)' set log_archive_dest_1='service=dg01 ASYNC valid_for=(ONLINE_LOGFILE,PRIMARY_ROLE) db_unique_name=DG01' ;}  进入主服务器并切换日志文件:  在备用服务器上启动恢复进程: SQLPLUS> alter database recover managed standby database using current logfile disconnect; 主服务器和备用服务器已经创建好了,现在应该进行验证。 TT 数据库技术专题之“Oracle 11g 高可用性指南” Page 36 of 36 课题总结 在本文中,主数据库和备用数据库都被创建了。参数配置和启动实例都需要在主服务 器上启动恢复进程之前完成。按照这些步骤操作会使你清晰地理解成功创建备用服务器的 必要条件。 要管理数据卫士系统,可以使用数据卫士代理(命令行)或者 Oracle 企业管理器网 格控制器。要使用数据卫士代理,需要将参数“DG_BROKER_START”设置为“TRUE”,而 且监听器需要让带有代理服务的数据库添加。“DGMRGL”是激活代理的命令。对于 Oracle 网格控制器,一旦数据库目标被添加到了网格中,数据卫士管理就成为可能。这些工具提 供了为数据库实现故障时自动切换到备用服务器并能返回主服务器的一种方式。他们管理 相应的配置,并允许修改和管理监视数据卫士环境。 所有组件配合使用 高可用性对于努力消除关键业务应用所有单点故障的数据库系统来说是一个重要的主 题。Oracle 11g 中有几个组件提供了高可用性的解决方案,他们既可以单独使用,也可以 结合起来使用。Oracle 真正应用集群(RAC)与数据卫士(Data Guard)提供了一种非常 快速的故障切换系统,同时支持站点外备用数据库用于灾备。自动存储管理(ASM)提供 了管理数据库文件和磁盘的几方面改进,这些改进是为了提供一个稳定的环境,可以最小 化维护窗口和停机时间。根据你的业务进行计划,同时审查这些工具以及其他数据库特性, 会帮助你开发和实施架构良好的,高可用性的数据库系统。 (作者:Ian Abramson, Michael Abbey, Michael J Corey 译者:冯昀晖 来源:TT 中国) 原文标题:创建 Oracle 物理备用服务器 链接:http://www.searchdatabase.com.cn/showcontent_29085.htm
还剩35页未读

继续阅读

下载pdf到电脑,查找使用更方便

pdf的实际排版效果,会与网站的显示效果略有不同!!

需要 15 金币 [ 分享pdf获得金币 ] 3 人已下载

下载pdf

pdf贡献者

ohun

贡献于2011-11-08

下载需要 15 金币 [金币充值 ]
亲,您也可以通过 分享原创pdf 来获得金币奖励!
下载pdf