查看: 26284|回复: 35

【站庆】深入探讨数据库集群:Oracle RAC性能优化内幕(已公布获奖会员)

[复制链接]
论坛徽章:
127
茶鸡蛋
日期:2012-01-16 14:24:41鲜花蛋
日期:2012-06-06 14:48:18双黄蛋
日期:2013-01-07 21:07:482013年新春福章
日期:2013-02-25 14:51:24优秀写手
日期:2013-12-18 09:29:082014年新春福章
日期:2014-02-18 16:44:08马上有对象
日期:2014-02-18 16:44:08马上加薪
日期:2014-03-18 09:57:11马上有车
日期:2014-03-20 16:13:24马上有房
日期:2014-03-20 16:14:11
跳转到指定楼层
1#
发表于 2014-9-28 17:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

在大数据时代,越来越多的IT应用系统需要向客户提供不间断的服务,数据的安全性变得至关重要。很多网上商城能够坚持一年365天7*24小时运行,这得益于系统的高可用性。对于错综复杂的分布式应用程序,在数据的并发处理方面要求更高。一旦系统的核心数据库宕机,后果将不堪设想


随着国庆节等重大节日的来临,很多在线商城的网上交易业务会显著增多。为了适应业务的动态变化,Oracle数据库需要变得更加灵活,更容易扩展。也就是说,随着负载增加而扩展。而Oracle真正的应用集群RAC运行在低成本的Linux X86-64服务器上,也逐渐成为了广泛适应行业标准的数据库解决方案,能够实现数据库的高可用性和可扩展性。


话题讨论:


1.数据丢失也好,服务器故障也罢,都会引起Oracle数据库服务的非计划停机。像存储介质失效、数据损坏、误删除数据、甚至是数据中心发生故障,都有可能导致数据丢失,有哪些预防和恢复的方法来解决数据丢失的问题?


2.对于数据库的性能调优,有人觉得应该关注应用程序的数据库设计和SQL的查询,如果数据库程序设计得很差,或者有糟糕的SQL查询,即使增加额外的硬件也不能从根本上解决性能问题。也有人认为,即使是优化很好的数据库,当业务增加的时候也可能会超出系统规划的容量,这时候可扩展性将成为重中之重,您认为呢?


3.Oracle RAC是Oracle数据库的一个可选件,基于全共享架构。在Oracle RAC集群中多台服务器像一个系统一个运行,每台服务器都可以访问共享数据库并组成主动-主动的集群。能否从Oracle RAC架构的角度谈谈它是如何保障系统的高可用性?


4.Oracle RAC的体系架构中主要有两大组件,Oracle集群件和Oracle RAC数据库,这两者之间如何协同工作的?

作为国内最顶尖的Oracle数据库技术盛会,第四届Oracle技术嘉年华将于11月14日-15日在北京五洲皇冠国际酒店召开。大会第二天特别开设了“端到端性能管理之数据库RAC优化实践”的分会场,届时云和恩墨首席架构师盖国强将为我们带来了主题为“Oracle 数据库RAC优化实践”的精彩演讲,大会目前限时免费,欢迎大家报名。官网地址:http://otn.itpub.net/

活动时间:2014年9月28日-10月20日

活动奖励:最佳会员赠送哈尔斯 500ml不锈钢直身真空保温水杯


活跃会员赠送社区徽章1枚


最佳会员:lidrema

活跃会员:

john_77

stay_sun

陌路巨额投入

shoushuai2002

论坛徽章:
399
来自 2#
发表于 2014-9-29 10:51 | 只看该作者
1.数据丢失也好,服务器故障也罢,都会引起Oracle数据库服务的非计划停机。像存储介质失效、数据损坏、误删除数据、甚至是数据中心发生故障,都有可能导致数据丢失,有哪些预防和恢复的方法来解决数据丢失的问题?

个人观点,架构设计非常关键,一个合格的架构师,合理的冗余,可以在一定程度上减少停机的几率。

2.对于数据库的性能调优,有人觉得应该关注应用程序的数据库设计和SQL的查询,如果数据库程序设计得很差,或者有糟糕的SQL查询,即使增加额外的硬件也不能从根本上解决性能问题。也有人认为,即使是优化很好的数据库,当业务增加的时候也可能会超出系统规划的容量,这时候可扩展性将成为重中之重,您认为呢?

优化是个永恒的话题,像Oracle大师罗敏说的一样,在程序设计阶段就要开始优化。随着业务模块的增加,合理的调整数据库参数。

3.Oracle RAC是Oracle数据库的一个可选件,基于全共享架构。在Oracle RAC集群中多台服务器像一个系统一个运行,每台服务器都可以访问共享数据库并组成主动-主动的集群。能否从Oracle RAC架构的角度谈谈它是如何保障系统的高可用性?

RAC可以防止单点故障,但是RAC的内部原理搞得很清楚的人不是很多

4.Oracle RAC的体系架构中主要有两大组件,Oracle集群件和Oracle RAC数据库,这两者之间如何协同工作的?
个人理解在RAC中,集群组件位于操作系统内核和Oracle软件之间,在系统内核之前获取请求信息,然后和其他节点协商,完成上次的请求

使用道具 举报

回复
论坛徽章:
8
红宝石
日期:2014-08-28 15:18:18紫水晶
日期:2014-08-28 15:18:42祖母绿
日期:2014-09-11 13:38:41itpub13周年纪念徽章
日期:2014-10-08 15:13:38马上有车
日期:2014-10-09 16:50:00蓝锆石
日期:2014-11-05 17:13:52itpub13周年纪念徽章
日期:2014-11-17 17:01:01蓝色妖姬
日期:2015-01-05 17:16:44
来自 3#
发表于 2014-9-29 16:38 | 只看该作者
1.数据丢失也好,服务器故障也罢,都会引起Oracle数据库服务的非计划停机。像存储介质失效、数据损坏、误删除数据、甚至是数据中心发生故障,都有可能导致数据丢失,有哪些预防和恢复的方法来解决数据丢失的问题?
      防止数据丢失最简单的方法:数据库备份
      若是由于误删等原因,可以通过将现有的数据表备份,再通过  flashback语句,将此表还原到某时刻,找回误删数据
      若是硬件原因,估计你要会些电路焊接等技术。反汇编  还有  一些恢复软件也是需要的

2.对于数据库的性能调优,有人觉得应该关注应用程序的数据库设计和SQL的查询,如果数据库程序设计得很差,或者有糟糕的SQL查询,即使增加额外的硬件也不能从根本上解决性能问题。也有人认为,即使是优化很好的数据库,当业务增加的时候也可能会超出系统规划的容量,这时候可扩展性将成为重中之重,您认为呢?
     个人认为数据库的设计应该是重中之重,数据库的物理设计、逻辑设计对整个性能起着决定性作用,若数据库性能不好,谁还会用呢,至于可扩展性,这应该是后话。而当业务增加的时候也可能会超出系统规划的容量,这种情况的出现还是比较少吧(当初选择某种数据库的时候,应该早已经衡量过)

3.Oracle RAC是Oracle数据库的一个可选件,基于全共享架构。在Oracle RAC集群中多台服务器像一个系统一个运行,每台服务器都可以访问共享数据库并组成主动-主动的集群。能否从Oracle RAC架构的角度谈谈它是如何保障系统的高可用性?
    Oracle RAC提供了数据库集群的一种实现,既然是集群,那么它应该考虑到集群中常见的问题,也拥有集群的优势。
    而集群的优势,也是Oracle RAC保障系统的高可用性的关键点:
    (1)多节点负载均衡;
    (2)故障容错和无缝切换功能,将硬件和软件错误造成的影响最小化;
    (3)通过并行执行技术提高事务响应时间
    (4)通过横向扩展提高每秒交易数和连接数
   
4.Oracle RAC的体系架构中主要有两大组件,Oracle集群件和Oracle RAC数据库,这两者之间如何协同工作的?
      集群件能够自动化管理各个资源,并且有定时的节点状态检测机制。当一个客户端发送请求到某一台服务的listener后,这台服务器根据负载均衡策略,把请求发送给本机的RAC组件处理也可能会发送给另外一台服务器的RAC组件处理,处理完请求后,RAC会通过集群软件来访问共享存储设备。

使用道具 举报

回复
论坛徽章:
39
2014年世界杯参赛球队: 英格兰
日期:2014-06-13 14:40:022013数据库大会纪念章
日期:2015-03-18 10:16:212014数据库大会纪念章
日期:2015-03-18 10:16:21秀才
日期:2015-06-24 13:05:36秀才
日期:2015-07-30 16:18:26秀才
日期:2015-08-06 13:55:21秀才
日期:2015-08-13 13:38:45知识
日期:2015-08-13 14:08:10秀才
日期:2015-08-24 09:48:07秀才
日期:2015-09-10 17:13:35
来自 4#
发表于 2014-10-6 16:58 | 只看该作者
1.数据丢失也好,服务器故障也罢,都会引起Oracle数据库服务的非计划停机。像存储介质失效、数据损坏、误删除数据、甚至是数据中心发生故障,都有可能导致数据丢失,有哪些预防和恢复的方法来解决数据丢失的问题?

预防的话:
(1)及时有效地进行数据备份。(2)定期对硬件进行维护。(3)定期执行杀毒和系统清理工作。对于重要的资料,企业基本上都会使用专业高效的服务器进行数据存储。
恢复的方法:
   如果使用了数据库的话,是可以通过数据库来进行完整恢复、进行差异恢复、进行日志恢复等来恢复数据的。
   如果有备份的话,那就更简单了,直接重新拿过来就OK了。

2.对于数据库的性能调优,有人觉得应该关注应用程序的数据库设计和SQL的查询,如果数据库程序设计得很差,或者有糟糕的SQL查询,即使增加额外的硬件也不能从根本上解决性能问题。也有人认为,即使是优化很好的数据库,当业务增加的时候也可能会超出系统规划的容量,这时候可扩展性将成为重中之重,您认为呢?

    数据库的性能调优。这个确实是占有很重要的部分,但是这个在当初选择数据库的时候就应该已经考虑过了。所以在开发的时候个人感觉还是数据库程序设计在对程序的设计的时候照样是可以对模块的代码进行优化的,如合理的调整数据库参数。数据库的物理设计、逻辑设计对整个性能起着决定性作用。现在的软件与硬件的结合,可拓展性确实是越来越重要了,跨平台的提出也是基于此。所以个人感觉还是数据库可扩展性是重中之重

3.Oracle RAC是Oracle数据库的一个可选件,基于全共享架构。在Oracle RAC集群中多台服务器像一个系统一个运行,每台服务器都可以访问共享数据库并组成主动-主动的集群。能否从Oracle RAC架构的角度谈谈它是如何保障系统的高可用性?

    Oracle RAC提供了数据库集群的一种实现,提供了(1)多节点负载均衡;(2)故障容错和无缝切换功能,将硬件和软件错误造成的影响最小化;(3)通过并行执行技术提高事务响应时间(4)通过横向扩展提高每秒交易数和连接数。

4.Oracle RAC的体系架构中主要有两大组件,Oracle集群件和Oracle RAC数据库,这两者之间如何协同工作的?

   从oracle的运行机制来说,集群中每台服务器就是一个oracle实例,多个oracle实例对应同一个oracle数据库,组成了oracle数据库集群。运行在两个节点上的数据库实例访问同一个RAC数据库,并且两个节点的本地磁盘仅用来存放oracle安装程序和ClusterWare软件,而在共享存储上,存放了oracle的数据文件、控制文件、联机日志文件、归档日志文件等。
集群件能够自动化管理各个资源。当一个客户端发送请求到服务器的监听者,服务器根据负载均衡策略,把请求发送给本机的RAC组件处理也可能会发送给另外一台服务器的RAC组件处理,处理完请求后,RAC会通过集群软件来访问共享存储设备。

使用道具 举报

回复
论坛徽章:
38
紫蜘蛛
日期:2014-11-05 16:43:53秀才
日期:2015-06-24 11:20:12秀才
日期:2015-06-29 15:26:52秀才
日期:2015-07-02 11:39:08秀才
日期:2015-07-03 15:58:35秀才
日期:2015-07-03 15:58:35秀才
日期:2015-07-03 17:00:53知识
日期:2015-07-06 11:21:47秀才
日期:2015-07-09 10:49:16秀才
日期:2015-07-14 09:44:30
来自 5#
发表于 2014-10-8 17:01 | 只看该作者
1.数据丢失也好,服务器故障也罢,都会引起Oracle数据库服务的非计划停机。像存储介质失效、数据损坏、误删除数据、甚至是数据中心发生故障,都有可能导致数据丢失,有哪些预防和恢复的方法来解决数据丢失的问题?
oracle的备份是个复杂的计划,定时的rman备份  单节点的dg ogg 国产dsg等

2.对于数据库的性能调优,有人觉得应该关注应用程序的数据库设计和SQL的查询,如果数据库程序设计得很差,或者有糟糕的SQL查询,即使增加额外的硬件也不能从根本上解决性能问题。也有人认为,即使是优化很好的数据库,当业务增加的时候也可能会超出系统规划的容量,这时候可扩展性将成为重中之重,您认为呢?
我认为数据库程序的设计是最根本的问题,调优只能完成大约15%的问题,石头永远你也调不能金子

3 Oracle RAC是Oracle数据库的一个可选件,基于全共享架构。在Oracle RAC集群中多台服务器像一个系统一个运行,每台服务器都可以访问共享数据库并组成主动-主动的集群。能否从Oracle RAC架构的角度谈谈它是如何保障系统的高可用性?
oracle的rac 高可用性就得考虑 你的instance 和database的高可用性  rac只不过只做了instance的高可用  增加节点的数量达到节点故障的时候,另外的节点接替故障节点的工作。当然rac就是个烧钱的东西,你要考虑到故障节点增多,你就要曾加节点数量,就要烧钱啊

4  .Oracle RAC的体系架构中主要有两大组件,Oracle集群件和Oracle RAC数据库,这两者之间如何协同工作的?
oracle rac 是跑在oracle集群件的基础上的,实际来说oracle集群件把多个节点的物理主机模拟成为一个大的操作系统,通过rac来分配这个大的操作系统的资源。

使用道具 举报

回复
求职 : 信息技术经理/主管
论坛徽章:
24
授权会员
日期:2008-02-29 10:00:41秀才
日期:2016-01-25 14:55:31秀才
日期:2016-01-13 12:14:26紫蜘蛛
日期:2014-11-05 16:43:53ITPUB社区12周年站庆徽章
日期:2013-10-08 17:44:42ITPUB社区12周年站庆徽章
日期:2013-10-08 14:57:28ITPUB社区12周年站庆徽章
日期:2013-10-08 14:54:39红旗
日期:2013-09-05 15:55:56鲜花蛋
日期:2013-03-03 22:23:072013年新春福章
日期:2013-02-25 14:51:24
来自 6#
发表于 2014-10-8 17:37 | 只看该作者
1.数据丢失也好,服务器故障也罢,都会引起Oracle数据库服务的非计划停机。像存储介质失效、数据损坏、误删除数据、甚至是数据中心发生故障,都有可能导致数据丢失,有哪些预防和恢复的方法来解决数据丢失的问题?

各种形式的备份,才能减少数据的丢失

2.对于数据库的性能调优,有人觉得应该关注应用程序的数据库设计和SQL的查询,如果数据库程序设计得很差,或者有糟糕的SQL查询,即使增加额外的硬件也不能从根本上解决性能问题。也有人认为,即使是优化很好的数据库,当业务增加的时候也可能会超出系统规划的容量,这时候可扩展性将成为重中之重,您认为呢?

程序的优化是必须,因为业务不停在变,所以程序就得持续优化,当然硬件也是要升级的,有个客户的服务器用了8年没换,期间在线用户增加了几倍,数据增加了十几倍,这样优化程序就搞不定了,也划不来。

3.Oracle RAC是Oracle数据库的一个可选件,基于全共享架构。在Oracle RAC集群中多台服务器像一个系统一个运行,每台服务器都可以访问共享数据库并组成主动-主动的集群。能否从Oracle RAC架构的角度谈谈它是如何保障系统的高可用性?

RAC可以防止单实例的故障,需要有部分的冗余才能保证在有节点失效时,系统还能正常工作。

使用道具 举报

回复
论坛徽章:
407
紫蛋头
日期:2012-05-21 10:19:41迷宫蛋
日期:2012-06-06 16:02:49奥运会纪念徽章:足球
日期:2012-06-29 15:30:06奥运会纪念徽章:排球
日期:2012-07-10 21:24:24鲜花蛋
日期:2012-07-16 15:24:59奥运会纪念徽章:拳击
日期:2012-08-07 10:54:50奥运会纪念徽章:羽毛球
日期:2012-08-21 15:55:33奥运会纪念徽章:蹦床
日期:2012-08-21 21:09:51奥运会纪念徽章:篮球
日期:2012-08-24 10:29:11奥运会纪念徽章:体操
日期:2012-09-07 16:40:00
7#
发表于 2014-9-28 19:08 | 只看该作者
明明是数据库集群dc,为什么叫应用集群ac?

使用道具 举报

回复
论坛徽章:
17
生肖徽章2007版:猴
日期:2015-07-24 10:50:33紫水晶
日期:2015-09-14 19:29:07萤石
日期:2015-09-14 19:24:48萤石
日期:2015-09-13 14:30:02萤石
日期:2015-09-11 23:05:02红宝石
日期:2015-09-11 23:04:43萤石
日期:2015-09-11 23:04:27生肖徽章2007版:兔
日期:2015-07-31 16:43:10生肖徽章2007版:龙
日期:2015-07-24 10:51:00生肖徽章2007版:龙
日期:2015-07-24 10:50:51
8#
发表于 2014-9-28 19:54 | 只看该作者
支持111

使用道具 举报

回复
招聘 : 数据库管理员
论坛徽章:
20
祖国60周年纪念徽章
日期:2009-10-09 08:28:00数据库板块每日发贴之星
日期:2011-02-20 01:01:01ITPUB季度 技术新星
日期:2011-04-02 10:31:09ITPUB十周年纪念徽章
日期:2011-11-01 16:24:042012新春纪念徽章
日期:2012-01-04 11:54:26玉石琵琶
日期:2012-02-21 15:04:38最佳人气徽章
日期:2012-03-13 17:39:18ITPUB 11周年纪念徽章
日期:2012-10-09 18:09:192013年新春福章
日期:2013-02-25 14:51:242011新春纪念徽章
日期:2011-02-18 11:43:33
9#
发表于 2014-9-28 20:08 | 只看该作者
Oracle RAC的机制太过复杂,目前很少看到在这块儿研究比较深入的资料或文章。

使用道具 举报

回复
招聘 : Java研发
论坛徽章:
18
ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44祖母绿
日期:2014-09-11 13:38:41马上有钱
日期:2014-07-16 08:11:38优秀写手
日期:2014-02-25 06:00:13马上有车
日期:2014-02-18 16:41:112014年新春福章
日期:2014-02-18 16:41:11本田
日期:2014-02-14 08:29:252013年新春福章
日期:2013-04-08 17:42:482013年新春福章
日期:2013-02-25 14:51:24ITPUB 11周年纪念徽章
日期:2012-10-09 18:05:07
10#
发表于 2014-9-28 20:11 | 只看该作者
先占楼,得好好想想再回复:

  1. 1.数据丢失也好,服务器故障也罢,都会引起Oracle数据库服务的非计划停机。像存储介质失效、数据损坏、误删除数据、甚至是数据中心发生故障,都有可能导致数据丢失,有哪些预防和恢复的方法来解决数据丢失的问题?

  2. 2.对于数据库的性能调优,有人觉得应该关注应用程序的数据库设计和SQL的查询,如果数据库程序设计得很差,或者有糟糕的SQL查询,即使增加额外的硬件也不能从根本上解决性能问题。也有人认为,即使是优化很好的数据库,当业务增加的时候也可能会超出系统规划的容量,这时候可扩展性将成为重中之重,您认为呢?

  3. 3.Oracle RAC是Oracle数据库的一个可选件,基于全共享架构。在Oracle RAC集群中多台服务器像一个系统一个运行,每台服务器都可以访问共享数据库并组成主动-主动的集群。能否从Oracle RAC架构的角度谈谈它是如何保障系统的高可用性?

  4. 4.Oracle RAC的体系架构中主要有两大组件,Oracle集群件和Oracle RAC数据库,这两者之间如何协同工作的?
复制代码
以下是更新后的答案:

使用道具 举报

回复
论坛徽章:
3
2011新春纪念徽章
日期:2011-01-04 10:37:34ITPUB十周年纪念徽章
日期:2011-11-01 16:23:26技术图书徽章
日期:2014-05-09 11:17:21
11#
发表于 2014-9-28 23:00 | 只看该作者
05.3.Oracle RAC是Oracle数据库的一个可选件,基于全共享架构。在Oracle RAC集群中多台服务器像一个系统一个运行,每台服务器都可以访问共享数据库并组成主动-主动的集群。能否从Oracle RAC架构的角度谈谈它是如何保障系统的高可用性?

利用共享存储打开RP,选择RAC其中一个节点做DG!~

使用道具 举报

回复
论坛徽章:
737
季节之章:春
日期:2015-07-31 17:16:29ITPUB季度 技术新星
日期:2014-07-17 14:37:00季节之章:秋
日期:2015-07-31 17:16:14季节之章:夏
日期:2015-07-31 17:16:29股神
日期:2014-10-15 09:23:31衰神
日期:2014-10-20 22:47:12季节之章:冬
日期:2015-07-31 17:16:14红钻
日期:2014-12-16 17:51:41洛杉矶湖人
日期:2016-09-23 08:18:15布鲁克林篮网
日期:2016-09-23 08:17:18
12#
发表于 2014-9-29 07:55 来自手机 | 只看该作者
支持,,,,

使用道具 举报

回复
论坛徽章:
86
秀才
日期:2015-09-21 09:46:16目光如炬
日期:2014-07-28 06:00:03马上有钱
日期:2014-06-16 15:55:42马上有房
日期:2014-06-16 15:55:422014年世界杯参赛球队: 伊朗
日期:2014-06-13 11:29:242014年世界杯参赛球队:巴西
日期:2014-06-06 14:36:14马上有钱
日期:2014-04-04 13:51:21马上加薪
日期:2014-04-04 13:35:40马上有房
日期:2014-02-18 16:42:022014年新春福章
日期:2014-02-18 16:42:02
13#
发表于 2014-9-29 08:59 | 只看该作者
支持 ,更新

使用道具 举报

回复
论坛徽章:
249
Jeep
日期:2013-09-04 19:17:57Jeep
日期:2013-10-08 09:46:02Jeep
日期:2013-10-08 16:38:27Jeep
日期:2013-11-22 14:53:46Jeep
日期:2013-11-08 23:59:45Jeep
日期:2013-11-22 17:15:17Jeep
日期:2013-11-22 17:15:17Jeep
日期:2013-11-17 09:59:04季节之章:夏
日期:2015-01-28 14:58:51季节之章:春
日期:2014-12-25 16:20:50
14#
发表于 2014-9-29 08:59 | 只看该作者

支持,,,,

使用道具 举报

回复
论坛徽章:
72
2017金鸡报晓
日期:2017-01-10 15:39:05秀才
日期:2016-01-21 13:37:04秀才
日期:2016-02-18 09:19:48秀才
日期:2016-06-23 14:15:06海蓝宝石
日期:2015-11-20 16:38:13秀才
日期:2017-03-28 15:59:38秀才
日期:2017-03-20 13:42:20秀才
日期:2017-03-01 13:53:39弗兰奇
日期:2016-11-21 09:48:54祖母绿
日期:2015-12-03 16:13:25
15#
发表于 2014-9-29 09:37 | 只看该作者
支持。~~

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表