大话OracleRAC集群、高可用性、备份与恢复


大话OracleRAC集群、高可用性、备份与恢复

文章插图
大话OracleRAC集群、高可用性、备份与恢复【大话OracleRAC集群、高可用性、备份与恢复】《大话OracleRAC集群、高可用性、备份与恢复》以Oracle10g为基础,对OracleRAC进行了全面的介绍和分析 。全书分为两个部分,共14章,该书可以作为资料库开发人员、资料库管理员、资料库初学者及其他资料库从业人员的工作参考手册,也可以作为大中专院校相关专业师生的参考用书和相关培训机构的培训教材 。
基本介绍书名:大话OracleRAC集群、高可用性、备份与恢复
作者:张晓明
出版社: 人民邮电出版社
出版时间: 2009
版权资讯书 名: 大话OracleRAC集群、高可用性、备份与恢复作 者:张晓明出版社: 人民邮电出版社出版时间: 2009ISBN: 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安装OracleClusterware1.5.3安装OracleDatabase1.5.4配置Listener1.5.5创建ASM1.5.6创建资料库1.6客户端测试1.6.1客户端配置1.6.2体验Failover1.6.3体验LoadBalance1.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章OracleClusterware3.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.1Lock4.2.2数据记录的行级锁4.2.3Latch4.2.4Latch和Lock对比4.2.5进一步理解4.3RAC下的并发控制4.3.1DLM中资源和锁4.3.2Non-CacheFusion资源4.3.3CacheFusion资源4.3.4GRD(GlobalResourceDirectory)4.3.5PCMLock4.3.6CacheFusion4.3.7RAC并发控制总结4.4RAC架构4.4.1SGA的变化4.4.2后台进程的变化4.4.3档案 4.4.4SCN4.4.5CacheFusion、GCS、GES4.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配置ASM5.4.1安装位置5.4.2创建ASM磁碟5.4.3配置ASM实例5.4.4创建磁碟组5.4.5在资料库中使用ASM的磁碟组5.5ASM实例:将资料库迁移到ASM5.5.1试验说明5.5.2操作步骤5.5.3最后验证5.6小结第2部分实战篇第6章RAC维护工具集6.1OracleClusterware工具集6.2节点层6.3网路层6.4集群层6.4.1crsctl6.4.2OCR命令系列6.5套用层6.5.1crs_stat6.5.2onsctl6.5.3srvctl6.5.4恢复6.6小结第7章HA和LB7.1什幺是高可用性7.2Failover7.2.1Client-SideConnectTimeFailover7.2.2TAF(TransparentApplicationFailover)7.2.3Client-SideFailover和TAF的对照试验7.2.4Server-SideTAF7.3OracleClusterwareHA框架7.3.1术语介绍7.3.2配置命令7.3.3完整实例7.4LoadBalance7.4.1ConnectionBalancing7.4.2利用Service分散负载7.5测试LoadBalance7.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使用FlashRecoveryArea8.2.1配置FlashRecoveryArea 8.2.2FlashRecoveryArea的空间监控8.3使用RMAN8.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.1InstanceRecovery9.3.2MediaRecovery9.3.3CrashRecovery9.3.4OnlineBlockRecovery9.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.7FlashbackDatabase10.7.1FlashbackDatabase架构10.7.2启用FlashbackDatabase10.7.3FlashbackDatabase10.7.4命令和视图10.8FlashbackDrop10.8.1TablespaceRecycleBin10.8.2FlashbackDrop操作10.8.3RecyclyBin的维护10.9FlashbackQuery和FlashbackTable10.9.1Oracle9i的FlashbackQuery10.9.2FlashbackVersionQuery10.9.3FlashbackTransactionQuery10.9.4FlashbackTable10.9.5UNDORetntion10.10小结第11章RAC和DataGuard11.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和SingleStandby11.2.2RACPrimary和RACStandby11.3小结第12章RAC和StreamReplication12.1Stream的工作原理12.2DataGuard和Stream对比12.3RACStream配置实例12.3.1Single(Source)和RAC(Target)12.3.2RAC对RAC的複製12.3.3STRMMON工具12.4小结第13章深入ASM13.1非ASM的存储结构13.2ASM存储结构13.3ASM档案系统13.3.1ASMMetadata13.3.2PhysicalMetadata13.3.3VirtualMetadata13.3.4DiskRecovery13.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和TTS13.8ASM的限制13.9小结第14章性能与RAC14.1RAC的若干特点14.2AWR14.2.1启用AWR14.2.2修改AWR配置14.2.3产生AWR报告14.3ASH14.4SQL调整策略14.4.1SQL语句的执行过程14.4.2SQL性能调整的基本方法14.4.3PL/SQL和SQL14.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的故事,如果大家能在这个旅程中豁然开朗,对我而言将是一件很有趣又备感欣慰的事 。