oraclerac(oracle rac 共享存储配置)
本篇文章给大家谈谈oraclerac,以及oracle rac 共享存储配置对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、ORACLE 双机热备和RAC的区别
- 2、关于Oracle RAC中的JOB运行在哪个实例的理解
- 3、如何解决Oracle Rac数据不同步问题
- 4、Oracle dataguard 和Oracle rac的区别和联系
- 5、哪位能介绍下oracle的RAC、集群、双机热备、Dataguard这些东西?
- 6、oracle安装rac只能识别一个网络设备
ORACLE 双机热备和RAC的区别
ORACLE 双机热备和RAC的区别
DG是主备模式,主机使用,备机同步主机数据,做数据备带唯纯份,有两份数据,但是只有主机参与到业务系统中,如果主机出现问题,可让备机切换成主机使用;
RAC是负载均衡模式,两台机器同时工作参与到业务系统中,如果其中一个节点出蠢咐现问题,所有的会话连接会转到另山橡一个节点,但是数据只有一份。
关于Oracle RAC中的JOB运行在哪个实例的理解
对于Oracle的RAC集群数据库,一直以来对于高度JOB方面如何做到负载均衡,一直都不太清楚,这几天测试了一下,得出以下结论。
一个JOB在何级别运行是可以定制的。如果把job定义在db级,job可以运行在任何活动的instance上,并遵循job的调度机制;
如果把job定义在instance级别上,job将运行在指定的实例上,如因某种异常导致创建job的实例当机,那job将运行在存活的实例上。
1、目前我们的rac数据库是通过查询语句 select job,instance,what fromdba_jobs 可以看到instance=0,这表示该job是db级,可以运行在任何活动的instance上,由job的调度机制决定在哪个实例上运行。也就是说RAC会根据两台服务器的运行状态来调度JOB在不同的节点实例中运行,一个JOB可以在A机,下一次有可能在B机运行;
2、通过在调度中指定instance 参数,可以指定job只在某个特定实例上运行,但是如果该实例的服务器出友孙现故障时,发现job 在实例A上不再运行,也不会切换到其它实例。如果job建立时没有指定运行在某个实例上,在job当前运行的实例关掉后,却可以切到其他活动的实例上。滑拆
3、一般情况下,建立不要指定JOB在特定实例运行,如果对于对于已经在运行的job,如果想指定其只在某个实例运行。建议先删除此job,然后重建job,重建时指定job运行的实例。对于有人说可以使用如下方式修改job运行的实例:SQL exec dbms_job.instance(26,1)。经测试,不好使,此sql执行后,job不再运行,并出现等待事件:enq: TX - row lock contention,查到执行的sql是update sys.job$ setthis_date=:1 where job=:2,也就是在更新好让链sys的sys.job$表,最后只能杀掉此会话,才消除此等待事件。
4、目前还没找到SQL语句来查看某一个JOB运行在哪个实例,一查询,都是0(默认),则可能在任何节点执行。笨方法是通过在Linux中用TOP语句查看CPU的性能来判断是否负荷均衡。
转载,仅供参考。
如何解决Oracle Rac数据不同步问题
现在有这样的环境:
一台web Server,一个是纯JAVA APP 程序
数据库两台做成RAC的形式. web Server与APP 程序都通过oci(rac)的方式连接数据库.
出了这样的怪问题,webServer更新或是插图举态入一条数据,后面紧跟着的在APP中就查询不到,等到用工具查询就没有问题.
初步怀疑
1. RAC方式下面的数据库两个instance的同步没做好?
查询相关资料发现在与MAX_COMMIT_PROPAGATION_DELAY有关.
最大提交传播时延(MAX_COMMIT_PROPAGATION_DELAY,简称MCPD),在ORACLE RAC(或OPS)环境中才使用,表示在RAC系统中,一个instance系统提交产生的最新系统改变码(SCN),能够以多快的速度反应到另一个instance中.
举例说明,RAC系统,有A,B两个实例(instance),A、B本地系统改变码为SCN1,A更新数据DATA1提交, LGWR操作完成后,A本地系统改变码为SCN2,经过不大于MAX_COMMIT_PROPAGATION_DELAY时间后,B系统本地改变码才变为SCN2.
Global Cache ServICes 将刷新RAC中的SCN.不管SCN是否及时刷新,后续的数据查询都不会因此产生数据库错误.但,在此时间内,有可能查询结果不是最新数据,产生读一致性(read consistency)问题.
RAC环境中的所有实例,此参数值必须相同.
ORACLE8i后,建议常用的两个值是0和700(默认),其他数值皆不建议.其实正凳源,这两个数值就代表了RAC环境中,两种SCN 产生机制:
Lamport Scheme和 Broadcast on Commit scheme.
粗逗设置为默认值700,表示采用Lamport Scheme,SCN改变不会完全同步,同步将在 7秒钟内完成,而不是总等待7秒钟后才完成.如果系统比较空闲,同步可能在0.5秒(甚至更短时间)内完成;不管系统多繁忙,同步时间也不可能超过7秒.不难理解,采用此模式,整个RAC系统的运行效率较高.
设置为0,表示采用Broadcast on Commit scheme,SCN改变完全同步.每当commit时(即LGWR 写redo log时):
- LGWR发送消息更新全局SCN(global SCN),
- LGWR 发送消息给每个活动的实例更新其本地SCN(LOCal SCN).
有资料说,只要MCPD 700,系统将采用Broadcast on Commit scheme.
Lamport Scheme能够适应绝大部分应用的要求,只有个别实时性特别高的业务,才需要Broadcast on Commit scheme.通过分析,不难理解,Broadcast on Commit scheme将需要更多的系统资源.
Oracle dataguard 和Oracle rac的区别和联系
data guard简称DG,判丛指是一个主库(包括instance和数据库文件),多个备库(多个instance、多套数据库文件):
主库和备库之间都是独立的数据库;
主库和备库的数据完全相同,DG通过复制、重演redo log,把主库的数据复制到备库中,所以备库的数据会有一点时间延迟;
DG的作用,当主库down机后,可以用备库顶上;或者主机负责数据写入、备库给外界提供数据读取,实现读写分郑信离;
RAC,全称Realtime Application Cluster,多个instance,一套数据文件:
多个instance之间有自己独立的物理内容,但是共享内存数据,协同工作;
多个instance之间共享一套数据文件;
RAC作用,提供instance级别的HA,High Availability,即高可用,一个instance down掉了,另一个instance自动顶上;其次,在应用分离的情况下,可以提供SQL性能;
区别:个人认为,RAC提供了instance级别的掘配HA,而DG提供了数据库文件的HA,所以大部分的oracle 7*24解决方案都是RAC+DG。
[img]哪位能介绍下oracle的RAC、集群、双机热备、Dataguard这些东西?
1、RAC就是集群,改变了过去一个实例连接数据库磁阵的处理模式,而是历毕采用多个ORacle实例连接数据库磁阵,各个ORacle实例进行负载均衡,当某个实例down掉,其他实例像备份一样,依然在工作,这样不影响数据库的使用。不像传统采用双机模式,主机宕机,备机接管的模式,这个存在切换时间的问题,而针对集群来说,所有实例都是运行着的,因此不存在切换时间的宏烂迟问题。RAC是oracle的一项收费功能,价格不低哟。如果想蔽李用它的话,看看财务有没有这块的预算。
2、双机热备上面已经讲过了“双机模式”,这儿不再讲了。
3、dataguard这个是数据库容灾的一种模式,与前面讲的是不同的概念,是指在正常运行的生产环境之外异地运行的数据库设备(有自己独立的数据库磁阵),如果生产环境发生数据变动,通过dataguard将变动的数据操作从生产环境实时同步过来,保证了生产环境和容灾环境的数据的一致性,如果生产环境数据库瘫痪了,容灾环境就接管过来。 oracle里类似的容灾模块还有高级复制(物化视图)、streams和goldgate,后者是收费的。其他的都是免费提供的。
oracle安装rac只能识别一个网络设备
Oracle RAC可以识别多个岁冲网络设备,但是它只能识别一个网络接口,也就是说,它只能识别一个网络设备。如果要安装Oracle RAC,必须先准备一个网络接口,然后在这个网络接口上大余安装Oracle RAC,它可以乎仿歼识别多个网络设备,但是只能识别一个网络接口。
关于oraclerac和oracle rac 共享存储配置的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。