设为首页 收藏本站
查看: 968|回复: 0

[经验分享] ORACLE RAC架构记录

[复制链接]
YunVN网友  发表于 2018-9-13 07:29:44 |阅读模式
  在集群中的所有节点上执行下列配置过程!
  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 -  # echo "options hangcheck-timer hangcheck_tick=30 hangcheck_margin=180" >> /etc/modules.conf   (centos6.4里为/etc/modprobe.d/modules.conf)
  每次加载 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



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-577322-1-1.html 上篇帖子: oracle 批量更新 下篇帖子: oracle查看索引、表空间
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表