Oracle RAC architecture record

Source: Internet
Author: User

Execute the following configuration process on all nodes in the cluster!

Oracle 9.0.1 and 9.2.0.1 use a user space named watchdogd to monitor the background program to monitor the cluster status and restart the RAC node when a fault occurs. Starting from Oracle 9.2.0.2, this monitoring background program has been replaced by the hangcheck-timer module, which can better solve availability and reliability problems. The hang-check timer is loaded into the Linux kernel and checked whether the system is suspended. It sets a timer and checks the timer after a specific amount of time. There is a configurable threshold for checking pending conditions. If this threshold is exceeded, the computer restarts. Although Oracle CRS does not require the hangcheck-timer module, Oracle strongly recommends it.

4) hangcheck-timer.o Module

The hangcheck-timer module uses a kernel-based timer that periodically checks the system task scheduler to capture latency and determine the running status of the system. If the system is suspended or paused, the timer resets the node. The hangcheck-timer module uses the timestamp counter (TSC) CPU register, which Increments at each clock signal. Because this register is automatically updated by hardware, TCS provides more accurate time measurements.

Install hangcheck-timer.o Module

Hangcheck-timer was initially provided only by Oracle. However, this module is now included in Red Hat Linux starting from kernel version 2.4.9-e.12 and later. If you follow the steps in section 8th ("obtain and install the appropriate Linux kernel"), hangcheck-timer is included. Run the following command to confirm:

# 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

Configure and load the hangcheck-timer Module

The hangcheck-timer module has two key parameters:

Hangcheck-tick: this parameter defines the interval between system health checks. The default value is 60 seconds. We recommend that you set it to 30 seconds.

Hangcheck-margin: this parameter defines the maximum suspension latency allowed by hangcheck-timer before restarting the RAC node. It defines the error margin in seconds. The default value is 180 seconds. We recommend that you set it to 180 seconds.

Note: The two hangcheck-timer module parameters indicate how long the RAC node must be suspended before the system is reset. If the following conditions are true, the node is reset:

System suspension time> (hangcheck_tick + hangcheck_margin)

Configure parameters of the Hangcheck kernel module

Every time the hangcheck-timer kernel module is loaded (manually loaded or loaded by Oracle), it needs to know the two parameters we just introduced (hangcheck-tick and hangcheck-margin) the value used. These values must be available after each restart of the Linux server. To do this, create an entry with the correct value in the/etc/modules. conf file, as shown below:

# Su-
# Echo "options hangcheck-timer hangcheck_tick = 30 hangcheck_margin = 180">/etc/modules. conf (/etc/modprobe. d/modules. conf in CentOS6.4)

Each time the hangcheck-timer kernel module is loaded, it uses the value defined by the entries created in the/etc/modules. conf file.

Manually load the Hangcheck kernel module for testing

Oracle is responsible for loading the hangcheck-timer kernel module as needed. Therefore, you do not need to execute modprobe or insmod of the hangcheck-timer kernel module in any Startup File (such as/etc/rc. local.

I continue to include the modprobe OF THE hangcheck-timer kernel module in the/etc/rc. local file out of my personal habits. One day I will quit this habit, but please note that the startup process includes the modprobe OF THE hangcheck-timer kernel module, which is harmless.

To keep myself awake and fall asleep at night, I always configure hangcheck-timer kernel loading at each startup as follows:

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

(Note: you do not have to manually load the hangcheck-timer kernel module by using modprobe or insmod after each restart. Oracle will automatically load the hangcheck-timer module as needed .)

Now, use the modprobe command to test the hangcheck-timer kernel module to verify that it selects the correct parameters we have defined in the/etc/modules. conf file. Although the hangcheck-timer kernel module can be loaded by passing corresponding parameters (such as insmod hangcheck-timer hangcheck_tick = 30 hangcheck_margin = 180) to it, but we need to verify whether it has selected us in/etc/modules. conf file.

To manually load the hangcheck-timer kernel module and verify that it uses the correct value defined in the/etc/modules. conf file, run the following command:

# 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.

I also want to verify whether the correct hangcheck-timer kernel module is loaded. To confirm, I usually Delete the kernel module (if it has been loaded) and then re-Load it using the following command:

# Su-
# Rmmod hangcheck-timer
# Insmod hangcheck-timer
Using/lib/modules/2.4.21-27.0.2.ELorafw1/kernel/drivers/char/hangcheck-timer.o

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.