Learn how to set up and configure an Oracle rac 10




Download 0.57 Mb.
NameLearn how to set up and configure an Oracle rac 10
page4/9
A typeDocumentation
manual-guide.com > manual > Documentation
1   2   3   4   5   6   7   8   9

Create All Partitions on FireWire Shared Storage

As shown in the table above my FireWire drive shows up as the SCSI device /dev/sda. The fdisk command is used for creating (and removing) partitions. For this configuration, we will be creating four partitions: one for CRS and the other three for ASM (to store all Oracle database files). Before creating the new partitions, it is important to remove any existing partitions (if they exist) on the FireWire drive:

# fdisk /dev/sda

Command (m for help): p
Disk /dev/sda: 203.9 GB, 203927060480 bytes

255 heads, 63 sectors/track, 24792 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System

/dev/sda1 1 24791 199133676 c Win95 FAT32 (LBA)

Command (m for help): d

Selected partition 1
Command (m for help): p
Disk /dev/sda: 203.9 GB, 203927060480 bytes

255 heads, 63 sectors/track, 24792 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System

Command (m for help): n

Command action

e extended

p primary partition (1-4)

p

Partition number (1-4): 1

First cylinder (1-24792, default 1): 1

Last cylinder or +size or +sizeM or +sizeK (1-24792, default 24792): +300M

Command (m for help): n

Command action

e extended

p primary partition (1-4)

p

Partition number (1-4): 2

First cylinder (38-24792, default 38): 38

Using default value 38

Last cylinder or +size or +sizeM or +sizeK (38-24792, default 24792): +50G
Command (m for help): n

Command action

e extended

p primary partition (1-4)
p

Partition number (1-4): 3

First cylinder (6118-24792, default 6118): 6118

Using default value 6118

Last cylinder or +size or +sizeM or +sizeK (6118-24792, default 24792): +50G
Command (m for help): n

Command action

e extended

p primary partition (1-4)

p

Selected partition 4

First cylinder (12198-24792, default 12198): 12198

Using default value 12198

Last cylinder or +size or +sizeM or +sizeK (12198-24792, default 24792): +50G
Command (m for help): p
Disk /dev/sda: 203.9 GB, 203927060480 bytes

255 heads, 63 sectors/track, 24792 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System

/dev/sda1 1 37 297171 83 Linux

/dev/sda2 38 6117 48837600 83 Linux

/dev/sda3 6118 12197 48837600 83 Linux

/dev/sda4 12198 18277 48837600 83 Linux
Command (m for help): w

The partition table has been altered!
Calling ioctl() to re-read partition table.

Syncing disks.

After creating all required partitions, you should now inform the kernel of the partition changes using the following syntax as the root user account:

# partprobe
# fdisk -l /dev/sda

Disk /dev/sda: 203.9 GB, 203927060480 bytes

255 heads, 63 sectors/track, 24792 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System

/dev/sda1 1 37 297171 83 Linux

/dev/sda2 38 6117 48837600 83 Linux

/dev/sda3 6118 12197 48837600 83 Linux

/dev/sda4 12198 18277 48837600 83 Linux

(Note: The FireWire drive and partitions created will be exposed as a SCSI device.)

Reboot All Nodes in RAC Cluster

After creating the partitions, it is recommended that you reboot the kernel on all RAC nodes to ensure that all the new partitions are recognized by the kernel on all RAC nodes.

# su -

# reboot

After each machine is back up, run the fdisk -l /dev/sda command on each machine in the cluster to ensure that they both can see the partition table:

# fdisk -l /dev/sda
Disk /dev/sda: 203.9 GB, 203927060480 bytes

255 heads, 63 sectors/track, 24792 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System

/dev/sda1 1 37 297171 83 Linux

/dev/sda2 38 6117 48837600 83 Linux

/dev/sda3 6118 12197 48837600 83 Linux

/dev/sda4 12198 18277 48837600 83 Linux
11. Configure the Linux Servers

Perform the following configuration procedures on all nodes in the cluster!

Several of the commands within this section will need to be performed on every node within the cluster every time the machine is booted. This section provides very detailed information about setting shared memory, semaphores, and file handle limits. Instructions for placing them in a startup script (/etc/rc.local) are included in Section 14 ("All Startup Commands for Each RAC Node").

Overview

This section focuses on configuring both Linux servers: getting each one prepared for the Oracle RAC 10g installation. This includes verifying enough swap space, setting shared memory and semaphores, and finally how to set the maximum amount of file handles for the OS.

Throughout this section you will notice that there are several different ways to configure (set) these parameters. For the purpose of this article, I will be making all changes permanent (through reboots) by placing all commands in the /etc/rc.local file. The method that I use will echo the values directly into the appropriate path of the /proc filesystem.

Swap Space Considerations

  • Installing Oracle10g requires a minimum of 512MB of memory. (Note: An inadequate amount of swap during the installation will cause the Oracle Universal Installer to either "hang" or "die")

  • To check the amount of memory / swap you have allocated, type either:

# free

or

# cat /proc/swaps

or

# cat /proc/meminfo | grep MemTotal

  • If you have less than 512MB of memory (between your RAM and SWAP), you can add temporary swap space by creating a temporary swap file. This way you do not have to use a raw device or even more drastic, rebuild your system.

As root, make a file that will act as additional swap space, let's say about 300MB:

# dd if=/dev/zero of=tempswap bs=1k count=300000

Now we should change the file permissions:

# chmod 600 tempswap

Finally we format the "partition" as swap and add it to the swap space:

# mke2fs tempswap
# mkswap tempswap
# swapon tempswap

Setting Shared Memory

Shared memory allows processes to access common structures and data by placing them in a shared memory segment. This is the fastest form of inter-process communications (IPC) available, mainly due to the fact that no kernel involvement occurs when data is being passed between the processes. Data does not need to be copied between processes.

Oracle makes use of shared memory for its Shared Global Area (SGA) which is an area of memory that is shared by all Oracle backup and foreground processes. Adequate sizing of the SGA is critical to Oracle performance because it is responsible for holding the database buffer cache, shared SQL, access paths, and so much more.

To determine all shared memory limits, use the following:

# ipcs -lm
------ Shared Memory Limits --------

max number of segments = 4096

max seg size (kbytes) = 32768

max total shared memory (kbytes) = 8388608

min seg size (bytes) = 1

Setting SHMMAX

The SHMMAX parameters defines the maximum size (in bytes) for a shared memory segment. The Oracle SGA is comprised of shared memory and it is possible that incorrectly setting SHMMAX could limit the size of the SGA. When setting SHMMAX, keep in mind that the size of the SGA should fit within one shared memory segment. An inadequate SHMMAX setting could result in the following:

ORA-27123: unable to attach to shared memory segment

You can determine the value of SHMMAX by performing the following:

# cat /proc/sys/kernel/shmmax

33554432

The default value for SHMMAX is 32MB. This size is often too small to configure the Oracle SGA. I generally set the SHMMAX parameter to 2GB using either of the following methods:

  • You can alter the default setting for SHMMAX without rebooting the machine by making the changes directly to the /proc file system. The following method can be used to dynamically set the value of SHMMAX. This command can be made permanent by putting it into the /etc/rc.local startup file:

# echo "2147483648" > /proc/sys/kernel/shmmax

  • You can also use the sysctl command to change the value of SHMMAX:

# sysctl -w kernel.shmmax=2147483648

  • Lastly, you can make this change permanent by inserting the kernel parameter in the /etc/sysctl.conf startup file:

  • # echo "kernel.shmmax=2147483648" >> /etc/sysctl.conf

Setting SHMMNI

We now look at the SHMMNI parameters. This kernel parameter is used to set the maximum number of shared memory segments system wide. The default value for this parameter is 4096. This value is sufficient and typically does not need to be changed.

You can determine the value of SHMMNI by performing the following:

# cat /proc/sys/kernel/shmmni

4096

Setting SHMALL

Finally, we look at the SHMALL shared memory kernel parameter. This parameter controls the total amount of shared memory (in pages) that can be used at one time on the system. In short, the value of this parameter should always be at least:

ceil(SHMMAX/PAGE_SIZE)

The default size of SHMALL is 2097152 and can be queried using the following command:

# cat /proc/sys/kernel/shmall

2097152

The default setting for SHMALL should be adequate for our Oracle RAC 10g installation.

(Note: The page size in Red Hat Linux on the i386 platform is 4,096 bytes. You can, however, use bigpages which supports the configuration of larger memory page sizes.)

Setting Semaphores

Now that we have configured our shared memory settings, it is time to take care of configuring our semaphores. The best way to describe a semaphore is as a counter that is used to provide synchronization between processes (or threads within a process) for shared resources like shared memory. Semaphore sets are supported in Unix System V where each one is a counting semaphore. When an application requests semaphores, it does so using "sets."

To determine all semaphore limits, use the following:

# ipcs -ls
------ Semaphore Limits --------

max number of arrays = 128

max semaphores per array = 250

max semaphores system wide = 32000

max ops per semop call = 32

semaphore max value = 32767

You can also use the following command:

# cat /proc/sys/kernel/sem

250 32000 32 128

Setting SEMMSL

The SEMMSL kernel parameter is used to control the maximum number of semaphores per semaphore set.

Oracle recommends setting SEMMSL to the largest PROCESS instance parameter setting in the init.ora file for all databases on the Linux system plus 10. Also, Oracle recommends setting the SEMMSL to a value of no less than 100.

Setting SEMMNI

The SEMMNI kernel parameter is used to control the maximum number of semaphore sets in the entire Linux system. Oracle recommends setting the SEMMNI to a value of no less than 100.

Setting SEMMNS

The SEMMNS kernel parameter is used to control the maximum number of semaphores (not semaphore sets) in the entire Linux system.

Oracle recommends setting the SEMMNS to the sum of the PROCESSES instance parameter setting for each database on the system, adding the largest PROCESSES twice, and then finally adding 10 for each Oracle database on the system.

Use the following calculation to determine the maximum number of semaphores that can be allocated on a Linux system. It will be the lesser of:

SEMMNS -or- (SEMMSL * SEMMNI)

Setting SEMOPM

The SEMOPM kernel parameter is used to control the number of semaphore operations that can be performed per semop system call.

The semop system call (function) provides the ability to do operations for multiple semaphores with one semop system call. A semaphore set can have the maximum number of SEMMSL semaphores per semaphore set and is therefore recommended to set SEMOPM equal to SEMMSL.

Oracle recommends setting the SEMOPM to a value of no less than 100.

Setting Semaphore Kernel Parameters

Finally, we see how to set all semaphore parameters using several methods. In the following, the only parameter I care about changing (raising) is SEMOPM. All other default settings should be sufficient for our example installation.

  • You can alter the default setting for all semaphore settings without rebooting the machine by making the changes directly to the /proc file system. This is the method that I use by placing the following into the /etc/rc.local startup file:

  • # echo "250 32000 100 128" > /proc/sys/kernel/sem

  • You can also use the sysctl command to change the value of all semaphore settings:

  • # sysctl -w kernel.sem="250 32000 100 128"

  • Lastly you can make this change permanent by inserting the kernel parameter in the /etc/sysctl.conf startup file:

  • # echo "kernel.sem=250 32000 100 128" >> /etc/sysctl.conf

Setting File Handles

When configuring our Red Hat Linux server, it is critical to ensure that the maximum number of file handles is large enough. The setting for file handles denotes the number of open files that you can have on the Linux system.

Use the following command to determine the maximum number of file handles for the entire system:

# cat /proc/sys/fs/file-max

32768

Oracle recommends that the file handles for the entire system be set to at least 65536.

  • You can alter the default setting for the maximum number of file handles without rebooting the machine by making the changes directly to the /proc file system. This is the method that I use by placing the following into the /etc/rc.local startup file:

  • # echo "65536" > /proc/sys/fs/file-max

  • You can also use the sysctl command to change the value of SHMMAX:

  • # sysctl -w fs.file-max=65536

  • Last, you can make this change permanent by inserting the kernel parameter in the /etc/sysctl.conf startup file:

# echo "fs.file-max=65536" >> /etc/sysctl.conf

You can query the current usage of file handles by using the following:

# cat /proc/sys/fs/file-nr

613 95 32768

The file-nr file displays three parameters: total allocated file handles, currently used file handles, and maximum file handles that can be allocated.

(Note: If you need to increase the value in /proc/sys/fs/file-max, then make sure that the ulimit is set properly. Usually for 2.4.20 it is set to unlimited. Verify the ulimit setting my issuing the ulimit command:

# ulimit

unlimited
12. Configure the hangcheck-timer Kernel Module

Perform the following configuration procedures on all nodes in the cluster!

Oracle 9.0.1 and 9.2.0.1 used a userspace watchdog daemon called watchdogd to monitor the health of the cluster and to restart a RAC node in case of a failure. Starting with Oracle 9.2.0.2, the watchdog daemon was deprecated by a Linux kernel module named hangcheck-timer that addresses availability and reliability problems much better. The hang-check timer is loaded into the Linux kernel and checks if the system hangs. It will set a timer and check the timer after a certain amount of time. There is a configurable threshold to hang-check that, if exceeded will reboot the machine. Although the hangcheck-timer module is not required for Oracle CRS, it is highly recommended by Oracle.
1   2   3   4   5   6   7   8   9

Related:

Learn how to set up and configure an Oracle rac 10 iconSet call options When you first sign in to Lync, you’ll be guided...

Learn how to set up and configure an Oracle rac 10 iconObjectives In this episode you will: Learn about adverbs of frequency....

Learn how to set up and configure an Oracle rac 10 iconPartners in 17 Categories Recognized at Oracle OpenWorld for Excellence...

Learn how to set up and configure an Oracle rac 10 iconFull life cycle development, implementation and support with expertise...

Learn how to set up and configure an Oracle rac 10 iconIdc white Paper sponsored by Oracle Corporation, "Oracle e-business...

Learn how to set up and configure an Oracle rac 10 iconOracle® e-business Suite, Siebel crm, PeopleSoft Enterprise and jd...

Learn how to set up and configure an Oracle rac 10 iconPhp version: 17 set foreign key checks=0; set sql mode="no auto value...

Learn how to set up and configure an Oracle rac 10 iconThe student will learn about reading instruction from birth to secondary...

Learn how to set up and configure an Oracle rac 10 iconDG102sh console Command Set(set coding, set h323, and show)

Learn how to set up and configure an Oracle rac 10 iconResearch into an Intermediate Accounting level practice set was conducted....

Learn how to set up and configure an Oracle rac 10 iconAbstract This integration is a part of Siebel Integrations between...

Learn how to set up and configure an Oracle rac 10 iconTo set up the fw-1884 in Cubase or Nuendo 3 To set up the fw-1884 in Mackie Emulation protocol 3

Learn how to set up and configure an Oracle rac 10 iconDownload and installation: Configure the initial scan

Learn how to set up and configure an Oracle rac 10 iconHow to configure timeGuardian/QuickBooks for direct integration

Learn how to set up and configure an Oracle rac 10 iconConfigure the cics environment for the Debug Tool

Learn how to set up and configure an Oracle rac 10 iconPart 2: Configure ssh access to the Switches

Learn how to set up and configure an Oracle rac 10 iconOracle® SuperCluster T5-8

Learn how to set up and configure an Oracle rac 10 iconOracle® SuperCluster M6-32

Learn how to set up and configure an Oracle rac 10 iconMacBook-Pro-de-Martin-Ortuno: libusb 9 martinortuno$./configure

Learn how to set up and configure an Oracle rac 10 iconLearning to drive -how do you want to learn?




manual




When copying material provide a link © 2017
contacts
manual-guide.com
search