当前位置:  数据库>oracle

Oracle RAC架构记录

    来源: 互联网  发布时间:2017-05-31

    本文导语: 在集群中的所有节点上执行下列配置过程! Oracle 9.0.1 和 9.2.0.1 使用一个名为 watchdogd 的用户空间监视后台程序来监视集群的状态情况,并在出现故障时重新启动 RAC 节点。从 Oracle 9.2.0.2 开始,此监视后台程序已被名为 hangcheck-tim...

在集群中的所有节点上执行下列配置过程!

Oracle 9.0.1 和 9.2.0.1 使用一个名为 watchdogd 的用户空间监视后台程序来监视集群的状态情况,并在出现故障时重新启动 RAC 节点。从 Oracle 9.2.0.2 开始,此监视后台程序已被名为 hangcheck-timer 的模块所代替,该模块可以更好地解决可用性和可靠性问题。 hang-check 计时器被加载到 Linux 内核中并检查系统是否挂起。它将设置一个计时器,并在特定的时间量之后检查该计时器。有一个用于 检查挂起情况的可配置阈值,如果超过该阈值,计算机将重新启动。尽管 Oracle CRS 并不需要hangcheck-timer 模块,但 Oracle 强烈建议使用它。

hangcheck-timer.o 模块

hangcheck-timer 模块使用了一个基于内核的计时器,该计时器周期性地检查系统任务调度程序,以捕获延迟,从而确定系统的运行状况。如果系统挂起或暂停,则计时器重置该节点。hangcheck-timer 模块使用时间戳计数器 (TSC) CPU 寄存器,该寄存器在每个时钟信号处递增。由于此寄存器由硬件自动更新,因此 TCS 提供了更精确的时间度量。

安装 hangcheck-timer.o 模块

hangcheck-timer 最初只由 Oracle 提供;但是,从内核版本 2.4.9-e.12 和更高版本开始,此模块现在包含在 Red Hat Linux 中。如果您按照第 8 节(“获取和安装何适的 Linux 内核”)中的步骤执行,则已经包含了 hangcheck-timer。使用以下命令确认:

# find /lib/modules -name "hangcheck-timer.o"
/lib/modules/2.4.21-15.ELorafw1/kernel/drivers/char/hangcheck-timer.o
/lib/modules/2.4.21-27.0.2.ELorafw1/kernel/drivers/char/hangcheck-timer.o

配置并加载 hangcheck-timer 模块

hangcheck-timer 模块有两个关键的参数:

hangcheck-tick:此参数定义了系统运行状况检查的间隔时段。默认值为 60 秒;Oracle 建议将它设置为 30 秒。

hangcheck-margin:此参数定义了 hangcheck-timer 在重启 RAC 节点前所容许的最大挂起延迟。它定义了以秒为单位的错误余量。默认值为 180 秒;Oracle 建议将它设置为 180 秒。

注意:这两个 hangcheck-timer 模块参数指示在该模块重置系统前 RAC 节点必须挂起多长时间。当以下条件为真时将会重置节点:

系统挂起时间 > (hangcheck_tick + hangcheck_margin)

配置 Hangcheck 内核模块参数

每次加载 hangcheck-timer 内核模块(手动加载或由 Oracle 加载)时,它都需要知道对我们刚刚介绍的两个参数(hangcheck-tick 和 hangcheck-margin)所使用的值。这些值需要在每次重新启动 Linux 服务器后可用。为此,请在 /etc/modules.conf 文件中创建一个具有正确值的条目,如下所示:

# su -
 

 每次加载 hangcheck-timer 内核模块时,它将使用由我在 /etc/modules.conf 文件中创建的条目定义的值。

手动加载 Hangcheck 内核模块以进行测试

Oracle 负责在需要时加载 hangcheck-timer 内核模块。因此,不必在任何启动文件(如 /etc/rc.local)中执行 hangcheck-timer 内核模块的 modprobe 或 insmod。

我继续在 /etc/rc.local 文件中包括 hangcheck-timer 内核模块的 modprobe 完全只是出于个人习惯。有朝一日我将戒掉这个习惯,但请注意,启动过程中包括 hangcheck-timer 内核模块的 modprobe 并无害处。

为了使自己保持清醒并能够在夜晚入睡,我始终按如下所示在每次启动时配置 hangcheck-timer 内核的加载:

# echo "/sbin/modprobe hangcheck-timer" >> /etc/rc.local

(注意:您不必在每次重新启动后使用 modprobe 或 insmod 手动加载 hangcheck-timer 内核模块。Oracle 将在需要时自动加载 hangcheck-timer 模块。)

现在,为了测试 hangcheck-timer 内核模块以验证它是否选取我们在 /etc/modules.conf 文件中定义的正确参数,请使用 modprobe 命令。尽管可以通过向其传递相应的参数(如 insmod hangcheck-timer hangcheck_tick=30 hangcheck_margin=180)来加载 hangcheck-timer 内核模块,但我们需要验证它是否选取了我们在 /etc/modules.conf 文件中设置的选项。

要手动加载 hangcheck-timer 内核模块并验证它是否使用在 /etc/modules.conf 文件中定义的正确值,请运行以下命令:

# su -
# modprobe hangcheck-timer
# grep Hangcheck /var/log/messages | tail -2
Jan 30 22:11:33 linux1 kernel:Hangcheck:starting hangcheck timer 0.8.0 (tick is 30 seconds, margin is 180 seconds).
Jan 30 22:11:33 linux1 kernel:Hangcheck:Using TSC.

我还想要验证是否加载了正确的 hangcheck-timer 内核模块。为进行确认,我通常删除内核模块(如果已经加载它),然后使用以下命令重新加载它:

# su -
# rmmod hangcheck-timer
# insmod hangcheck-timer
Using /lib/modules/2.4.21-27.0.2.ELorafw1/kernel/drivers/char/hangcheck-timer.o


    
 
 

您可能感兴趣的文章:

  • Oracle虚拟桌面基础架构(VDI)3.2上市
  • 浅谈应该如何理解Oracle的架构知识
  • Oracle应用集成架构不断实现创新
  • 解析学习Oracle架构所应了解的基础知识
  • 从jsp想oracle插入记录的顺序问题
  • 紧急求救:为什么oracle只能选择一定数据的记录
  • 记录Linux下一次oracle启动错误
  • ejb的bmp向oracle表插入图片记录的问题!
  • 请问怎么用jsp语句删除oracle中的一条记录?
  • 给200分:oracle的jdbc有BUG??为何在servlet中记录数不能超过120条?
  • 关于JDBC访问Oracle返回数据集的记录限制的问题
  • Oracle 如何快速查找和删除重复记录
  • Oracle 当前用户下所有表的记录总数
  • Oracle中用Rowid查找和删除重复记录
  • 如何确定Oracle数据库表重复的记录
  • shell向oracle插记录 小问题送分了,谢谢
  • 利用ASP来实现Oracle数据记录的分页显示
  • Oracle数据库设置任务计划备份一周的备份记录
  • Linux(Oracle系统在上面)系统无缘无故死机 , 可能是由于应用程序引起 , 可是由于重新启动查不到相关信息 , 不知道在哪里有记录系统CPU Lo
  • MySQL数据迁移到Oracle记录
  • Oracle中取固定记录数详细步骤
  • Oracle基本操作全记录
  • SQL查询前10条记录(SqlServer/mysql/oracle)的语法分析
  • 在oracle下要在同一事务下插入多条记录,该怎么做??最好要有原代码
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Linux Oracle RAC内核参数
  • 配置Oracle RAC需要注意的问题
  • Oracle RAC 10.2.0.1升级到10.2.0.4
  • Linux下Oracle RAC一个节点宕机导致共享存储无法挂载的故障排除
  • Oracle10201 RAC升级到10204后导出数据时报EXP-00056错误
  • 与Oracle RAC相关的连接配置写法实例
  • [Oracle] RAC 之 - 负载均衡深入解析
  • 如何在RAC环境下修改Oracle字符集
  • Oracle RAC 状态检查
  • 基于Linux平台的Oracle RAC 10g集群教程:删除节点所需要的步骤
  • Linux Oracle10.2.0 RAC配置注意问题
  • redhat 5.5全新安装oracle rac的问题[1000分]
  • Oracle 10201 RAC升级到10204
  • oracle 11g RAC 常用命令整理分享
  • Redflag Linux安装Oracle 10gR2 RAC记事
  • 基于Linux平台的Oracle RAC 10g集群教程:添加节点所需要的步骤
  • Oracle 如何快速查找和删除重复记录 iis7站长之家
  • Oracle 12c发布简单介绍及官方下载地址
  • 在linux下安装oracle,如何设置让oracle自动启动!也就是让oracle那个服务自动启动,不是手动的
  • oracle 11g最新版官方下载地址
  • 请问su oracle 和su - oracle有什么不同?
  • Oracle 数据库(oracle Database)Select 多表关联查询方式
  • 虚拟机装Oracle R12与Oracle10g
  • Oracle数据库(Oracle Database)体系结构及基本组成介绍
  • Oracle 数据库开发工具 Oracle SQL Developer
  • 如何设置让Oracle SQL Developer显示的时间包含时分秒
  • Oracle EBS R12 支持 Oracle Database 11g
  • Oracle 10g和Oracle 11g网格技术介绍
  • SCO unix下安装oracle,但没有光盘,请大家推荐一个oracle下载站点(unix版本的)。谢谢!!!!
  • oracle中如何把表中具有相同值列的多行数据合并成一行
  • 请问大家用oracle数据库, 用import oracle.*;下的东西么? 还是用标准库?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,