oraclerac(oracle rac 共享存储配置)

本篇文章给大家谈谈oraclerac,以及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 共享存储配置的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

标签列表