词条 | 大话OracleRAC集群、高可用性、备份与恢复 |
释义 | 《大话OracleRAC集群、高可用性、备份与恢复》以Oracle10g为基础,对OracleRAC进行了全面的介绍和分析。全书分为两个部分,共14章,该书可以作为数据库开发人员、数据库管理员、数据库初学者及其他数据库从业人员的工作参考手册,也可以作为大中专院校相关专业师生的参考用书和相关培训机构的培训教材。 版权信息书 名: 大话OracleRAC集群、高可用性、备份与恢复 作 者:张晓明 出版社: 人民邮电出版社 出版时间: 2009 ISBN: 9787115204158 开本: 16 定价: 65.00 元 内容简介全书分为两个部分,共14章,第一部分是集群理论篇,这部分从集群基础知识入手,通过分析集群环境和单机环境的不同,介绍了集群环境的各个组件及其作用,以及集群环境的一些专有技术,包括OracleClusterware、OracleDatabase、ASM、CacheFusion等。第二部分是实践篇,每一章都针对RAC的一个知识点展开讲解,包括OracleClusterware的维护、HA与LB、备份、恢复、Flashback家族、RAC和DataGuard的结合使用、RAC和Stream的结合使用,最后对ASM进行深入介绍,并给出性能调整的指导思想。 《大话OracleRAC集群、高可用性、备份与恢复》按照“发现问题→解决问题→实践与理论相结合”的方式进行介绍,首先对现实问题进行分析,然后提供合适的解决方案,最后自然地引出Oracle中的理论知识点,这种讲解方法能够有效地降低阅读难度,帮助读者更好地掌握相关技能。 作者简介张晓明OracleOGP,现用网名“石头狗“,名称来自于《和佛陀赏花去》中的故事:狗会因为人随手去出的一个东西茆而追逐,可能是一个骨头,一块肉,一个眼神。甚至是一个石头。警示一定要看清自己在追逐的东西。 上个世纪90年代末毕业于某著名的医科大学,毕业后分配到某著名医院从事治病救人的神圣工作。不幸的是,在大学最后一年的实习中我接触到了老式486,这让我魂牵梦系,再加上IT热潮对一个热血青年的巨大诱惑,我终于在行医3年后削尖了脑袋挤进了IT业。回想当年,身边有好几位来自知名医学院校的朋友和我一样义无反顾地加入IT工程师队伍,不知道这几位朋友现在安否?我在IT行业中最初是做开发,先后用过C、C++、Java等各种主流和非主流语言,热火朝天的参与过。C++和Java的网土混战,现在回想起来只有一个词评价“幼稚”,不仅是自己幼稚,整个行业也不太成熟。后转从事数据库开发,再转为数据库管理,最终将此定为自己的职业方向。今天,我把这些年来对Oracle数据库的学习和使用心得记录下来,既是对自己的一个阶段总结,也是与所有志同道合的朋友们共同分享。现任某SP公司数据库团队负责人,负责管理全国20余省市的OLTP以及公司TB级OLAP系统的开发、优化和护。精通数据库管理、备份、恢复、窖灾等设计和规划,特别是高可用、高并发、高压力数据库环境的设计和优化。 目录第1部分集群理论篇 第1章RAC初体验 1.1本书使用环境 1.1.1硬件环境 1.1.2软件环境 1.1.3本书使用的环境 1.2如何在PC机上搭建RAC环境 1.2.1需要下载的软件 1.2.2安装过程 1.3任务列表 1.4规划阶段 1.4.1确认主机名和3个IP地址 1.4.2存储方案选型 1.5实施阶段 1.5.1主机配置 1.5.2安装OracleClusterware 1.5.3安装OracleDatabase 1.5.4配置Listener 1.5.5创建ASM 1.5.6创建数据库 1.6客户端测试 1.6.1客户端配置 1.6.2体验Failover 1.6.3体验LoadBalance 1.6.4修改归档模式 第2章什么是RAC集群 2.1集群分类 2.2集群环境的特殊问题 2.2.1并发控制 2.2.2健忘症(Amnesia) 2.2.3脑裂(SplitBrain) 2.2.4IO隔离(IOFencing) 2.3RAC集群 2.3.1存储层 2.3.2网络层 2.3.3集群件层 2.3.4应用层 2.4小结 第3章OracleClusterware 3.1Clusterware和RAC的关系 3.2OracleClusterware组成 3.2.1磁盘文件 3.2.2Clusterware后台进程 3.2.3网络组件 3.3Clusterware的日志体系 3.4小结 第4章RAC原理 4.1数据库基本原理 4.1.1并发访问和数据一致性 4.1.2事务和隔离级别 4.1.3Oracle支持的隔离级别 4.2Oracle单实例的并发控制机制 4.2.1Lock 4.2.2数据记录的行级锁 4.2.3Latch 4.2.4Latch和Lock对比 4.2.5进一步理解 4.3RAC下的并发控制 4.3.1DLM中资源和锁 4.3.2Non-CacheFusion资源 4.3.3CacheFusion资源 4.3.4GRD(GlobalResourceDirectory) 4.3.5PCMLock 4.3.6CacheFusion 4.3.7RAC并发控制总结 4.4RAC架构 4.4.1SGA的变化 4.4.2后台进程的变化 4.4.3文件 4.4.4SCN 4.4.5CacheFusion、GCS、GES 4.5RAC和Clusterware的交互 4.5.1Clusterware层 4.5.2RAC层 4.6小结 第5章存储方案——ASM初步 5.1Shared-Disk和Shared-Nothing架构 5.2Oracle10gRAC的存储方案介绍 5.3ASM架构 5.3.1ASM实例 5.3.2文件 5.4配置ASM 5.4.1安装位置 5.4.2创建ASM磁盘 5.4.3配置ASM实例 5.4.4创建磁盘组 5.4.5在数据库中使用ASM的磁盘组 5.5ASM实例:将数据库迁移到ASM 5.5.1试验说明 5.5.2操作步骤 5.5.3最后验证 5.6小结 第2部分实战篇 第6章RAC维护工具集 6.1OracleClusterware工具集 6.2节点层 6.3网络层 6.4集群层 6.4.1crsctl 6.4.2OCR命令系列 6.5应用层 6.5.1crs_stat 6.5.2onsctl 6.5.3srvctl 6.5.4恢复 6.6小结 第7章HA和LB 7.1什么是高可用性 7.2Failover 7.2.1Client-SideConnectTimeFailover 7.2.2TAF(TransparentApplicationFailover) 7.2.3Client-SideFailover和TAF的对照试验 7.2.4Server-SideTAF 7.3OracleClusterwareHA框架 7.3.1术语介绍 7.3.2配置命令 7.3.3完整实例 7.4LoadBalance 7.4.1ConnectionBalancing 7.4.2利用Service分散负载 7.5测试LoadBalance 7.5.1通过Listener日志区分路由来源 7.5.2测试方法 7.5.3测试过程 7.6小结 第8章备份 8.1概述 8.1.1备份 8.1.2恢复 8.1.3RMAN工具 8.2使用FlashRecoveryArea 8.2.1配置FlashRecoveryArea 8.2.2FlashRecoveryArea的空间监控 8.3使用RMAN 8.3.1RMAN工具的使用方法 8.3.2RMAN配置 8.4完全备份和增量备份 8.4.1完全备份 8.4.2增量备份 8.4.3其他RMAN命令 8.5RAC的备份实例 8.6小结 第9章恢复 9.1为什么Oracle数据库能够恢复 9.2日志 9.2.1日志线程(RedoThread) 9.2.2RAC的联机日志 9.3恢复种类 9.3.1InstanceRecovery 9.3.2MediaRecovery 9.3.3CrashRecovery 9.3.4OnlineBlockRecovery 9.4介质恢复 9.4.1完全恢复 9.4.2不完全恢复 9.4.3恢复到单实例 9.5小结 第10章其他恢复技术 10.1数据块恢复 10.2如何检查数据块一致性 10.2.1使用初始化参数 10.2.2DBV工具 10.2.3Analyze命令 10.2.4RMAN工具 10.2.5dbms_repair包 10.3模拟数据块不一致 10.4数据块不一致处理办法 10.4.1收集信息 10.4.2设计恢复方法 10.4.3恢复操作 10.5数据块恢复实例 10.6Flashback家族介绍 10.7FlashbackDatabase 10.7.1FlashbackDatabase架构 10.7.2启用FlashbackDatabase 10.7.3FlashbackDatabase 10.7.4命令和视图 10.8FlashbackDrop 10.8.1TablespaceRecycleBin 10.8.2FlashbackDrop操作 10.8.3RecyclyBin的维护 10.9FlashbackQuery和FlashbackTable 10.9.1Oracle9i的FlashbackQuery 10.9.2FlashbackVersionQuery 10.9.3FlashbackTransactionQuery 10.9.4FlashbackTable 10.9.5UNDORetntion 10.10小结 第11章RAC和DataGuard 11.1DataGuard介绍 11.1.1DataGuard架构 11.1.2日志发送(RedoSend) 11.1.3日志接收(RedoReceive) 11.1.4日志应用(RedoApply) 11.1.5数据保护模式 11.1.6自动裂隙检测和解决 11.2RAC和Standby配置实例 11.2.1RACPrimary和SingleStandby 11.2.2RACPrimary和RACStandby 11.3小结 第12章RAC和StreamReplication 12.1Stream的工作原理 12.2DataGuard和Stream对比 12.3RACStream配置实例 12.3.1Single(Source)和RAC(Target) 12.3.2RAC对RAC的复制 12.3.3STRMMON工具 12.4小结 第13章深入ASM 13.1非ASM的存储结构 13.2ASM存储结构 13.3ASM文件系统 13.3.1ASMMetadata 13.3.2PhysicalMetadata 13.3.3VirtualMetadata 13.3.4DiskRecovery 13.4条带化(ASMStriping) 13.4.1ASM文件模板(ASMFileTemplate) 13.4.2ASM别名(ASMFileAlias) 13.5RDBMS和ASM之间的交互 13.6ASM的实例恢复 13.7ASM和OSFilesystem之间交互 13.7.1dbms_file_transfer包 13.7.2RMAN的CONVERT方法 13.7.3ASM和TTS 13.8ASM的限制 13.9小结 第14章性能与RAC 14.1RAC的若干特点 14.2AWR 14.2.1启用AWR 14.2.2修改AWR配置 14.2.3产生AWR报告 14.3ASH 14.4SQL调整策略 14.4.1SQL语句的执行过程 14.4.2SQL性能调整的基本方法 14.4.3PL/SQL和SQL 14.5小结 前言从2008年2月开始动笔到定稿出版,这本书的编写几乎花费了我10个月的时间,大大超出了最初3个月的计划。这个过程虽然不能说寝食难安,但其中的酸甜苦辣也是如人饮水,冷暖自知,如果一开始就知道要投入这么大精力,我真怀疑自己是否有勇气开始动笔。 回顾自己学习RAC的经历,我对它又爱又恨。因为对技术本身的痴迷加上高“薪”技术的诱惑,所以爱;因为没有能力掌控,所以恨。时至今日,我仍然不敢说自己已完全掌握了RAC,RAC的学习过程是对我所有学习过的IT技术的大复习,包括OS、Network、Storage、Database等,甚至可能还有很多领域我从未涉足。 相信很多对Oracle有一定经验的DBA和我有同样的感觉,RAC比普通的Oracle更难入门。不仅因为比比皆是的晦涩艰深的术语,也不仅因为它覆盖的技术领域太广,更主要的是可用的参考资料太少。我翻遍了所有能够获得的书籍资料,但是这些资料都是从很基本、很琐碎的细节开始,从下到上(BoRom.up)的学习方式是虽然看到了“树”,但是看不到“林”。虽然无树不成林,技术细节总是必要的,但过于琐碎的分解给我造成更大的迷惑,到底RAC的总线是什么?GCS、GES、GRD、PCM这些东西是如何堆砌在一起的? 这段痛苦经历促使我决定以自己的方式讲述RAC的故事,如果大家能在这个旅程中豁然开朗,对我而言将是一件很有趣又备感欣慰的事。 精彩书摘第1部分 集群理论篇 第1章 RAC初体验 长期以来,业界流行着这样一个“潜规则”:以是否有RAC经历来衡量DBA水平。虽然这种评价方法并不准确,但从某种程度上也反映了RAC在Oracle体系金字塔的塔尖地位。造成这种现象原因有很多,作为一种高端解决方案,RAC的实施成本一度也是很高的,除了硬件成本、OS License、Oracle License成本,还包括第三方的Clusterware软件成本、人力成本,所以RAC案例一直集中在电信、银行、制造等大企业,中小企业鲜有问津,绝大多数的DBA很难有机会接触到这种环境。所以RAC的神秘很大程度上要归功于“高墙锁深宫”,技术本身的因素反而是次要的。 不过最近几年,随着芯片技术的发展,硬件成本逐年降低,物美价廉的PC Server越来越深入人心。而在软件方面,Linux已经不再是一款“教学”软件,越来越多的企业已经在核心业务上选择Linux作为首选平台,Oracle尤其重视在Linux平台上的应用,它也是第一个支持Linux平台的商业数据库。从Oracle本身来说,随着Oracle log版本的推出,Oracle开始提供RAC的“一站式”解决方案,包括针对存储的ASM、针对集群的OracleClusterware。并且这些软件都可以从Oracle网站免费下载。因此在Oracle lOg上部署RAC成本非常便宜——不需要昂贵的小型机和专有的操作系统,普通的PC Server+Linux就足以胜任;不需要采购第三方的集群软件、存储软件、不需要三方的人力资源,只需要一个DBA就可以完全搞定。 |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。