heartbeat3.0 for oracle

操作系统版本:centos6.5 64bit

[[email protected] ~]# Linux centos1 2.6.32-431.el6.x86_64 #1 SMP Fri Nov 22 03:15:09 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

所有节点IP信息

[[email protected] ~]# more /etc/hosts
127.0.0.1 localhost

192.168.1.241 centos1
192.168.1.242 centos2

10.10.0.1 heart1
10.10.0.2 heart2

192.168.1.240 vip

配DNS,配SSH信任关系,此处参考相关文档

下载并安装epel包

[[email protected] yum.repos.d]# wget ftp://mirror.switch.ch/pool/4/mirror/scientificlinux/6.5/x86_64/os/Packages/epel-release-6-5.noarch.rpm
--2014-09-15 15:16:03-- ftp://mirror.switch.ch/pool/4/mirror/scientificlinux/6.5/x86_64/os/Packages/epel-release-6-5.noarch.rpm
=> 鈥渆pel-release-6-5.noarch.rpm鈥
Resolving mirror.switch.ch... 130.59.10.36, 2001:620:0:8::20
Connecting to mirror.switch.ch|130.59.10.36|:21... connected.
Logging in as anonymous ... Logged in!
==> SYST ... done. ==> PWD ... done.
==> TYPE I ... done. ==> CWD (1) /pool/4/mirror/scientificlinux/6.5/x86_64/os/Packages ... done.
==> SIZE epel-release-6-5.noarch.rpm ... 13688
==> PASV ... done. ==> RETR epel-release-6-5.noarch.rpm ... done.
Length: 13688 (13K) (unauthoritative)

100%[======================================>] 13,688 26.2K/s in 0.5s

2014-09-15 15:16:07 (26.2 KB/s) - 鈥渆pel-release-6-5.noarch.rpm鈥saved [13688]

[[email protected] yum.repos.d]# ls
CentOS-Base.repo CentOS-Media.repo epel-release-6-5.noarch.rpm
CentOS-Debuginfo.repo CentOS-Vault.repo
[[email protected] yum.repos.d]# rpm -ivh epel-release-6-5.noarch.rpm
warning: epel-release-6-5.noarch.rpm: Header V4 DSA/SHA1 Signature, key ID 192a7d7d: NOKEY
Preparing... ########################################### [100%]
1:epel-release ########################################### [100%]
[[email protected] yum.repos.d]#
[[email protected] yum.repos.d]#
[[email protected] yum.repos.d]#
[[email protected] yum.repos.d]# yum install heartbeat
Loaded plugins: aliases, changelog, downloadonly, fastestmirror, kabi, presto,
: refresh-packagekit, security, tmprepo, verify, versionlock
Loading support for CentOS kernel ABI
base | 3.7 kB 00:00
base/primary_db | 4.4 MB 00:36
epel/metalink | 6.1 kB 00:00
epel | 4.4 kB 00:00
epel/primary_db | 6.3 MB 00:01
extras | 3.3 kB 00:00
extras/primary_db | 19 kB 00:00
updates | 3.4 kB 00:00
updates/primary_db | 5.3 MB 02:12
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package heartbeat.x86_64 0:3.0.4-2.el6 will be installed
--> Processing Dependency: resource-agents for package: heartbeat-3.0.4-2.el6.x86_64
--> Processing Dependency: cluster-glue-libs for package: heartbeat-3.0.4-2.el6.x86_64
--> Processing Dependency: cluster-glue for package: heartbeat-3.0.4-2.el6.x86_64
--> Processing Dependency: libplumb.so.2()(64bit) for package: heartbeat-3.0.4-2.el6.x86_64
--> Processing Dependency: libhbclient.so.1()(64bit) for package: heartbeat-3.0.4-2.el6.x86_64
--> Processing Dependency: libapphb.so.2()(64bit) for package: heartbeat-3.0.4-2.el6.x86_64
--> Running transaction check
---> Package cluster-glue.x86_64 0:1.0.5-6.el6 will be installed
--> Processing Dependency: perl-TimeDate for package: cluster-glue-1.0.5-6.el6.x86_64
---> Package cluster-glue-libs.x86_64 0:1.0.5-6.el6 will be installed
---> Package heartbeat-libs.x86_64 0:3.0.4-2.el6 will be installed
---> Package resource-agents.x86_64 0:3.9.2-40.el6_5.10 will be installed
--> Running transaction check
---> Package perl-TimeDate.noarch 1:1.16-11.1.el6 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
heartbeat x86_64 3.0.4-2.el6 epel 161 k
Installing for dependencies:
cluster-glue x86_64 1.0.5-6.el6 base 71 k
cluster-glue-libs x86_64 1.0.5-6.el6 base 116 k
heartbeat-libs x86_64 3.0.4-2.el6 epel 263 k
perl-TimeDate noarch 1:1.16-11.1.el6 base 34 k
resource-agents x86_64 3.9.2-40.el6_5.10 updates 325 k

Transaction Summary
================================================================================
Install 6 Package(s)

Total download size: 970 k
Installed size: 2.5 M
Is this ok [y/N]: y
Downloading Packages:
Setting up and reading Presto delta metadata
updates/prestodelta | 477 kB 00:12
Processing delta metadata
Package(s) data still to download: 970 k
(1/6): cluster-glue-1.0.5-6.el6.x86_64.rpm | 71 kB 00:00
(2/6): cluster-glue-libs-1.0.5-6.el6.x86_64.rpm | 116 kB 00:00
(3/6): heartbeat-3.0.4-2.el6.x86_64.rpm | 161 kB 00:00
(4/6): heartbeat-libs-3.0.4-2.el6.x86_64.rpm | 263 kB 00:00
(5/6): perl-TimeDate-1.16-11.1.el6.noarch.rpm | 34 kB 00:00
(6/6): resource-agents-3.9.2-40.el6_5.10.x86_64.rpm | 325 kB 00:07
--------------------------------------------------------------------------------
Total 81 kB/s | 970 kB 00:12
warning: rpmts_HdrFromFdno: Header V3 RSA/SHA256 Signature, key ID c105b9de: NOKEY
Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
Importing GPG key 0xC105B9DE:
Userid : CentOS-6 Key (CentOS 6 Official Signing Key) <[email protected]>
Package: centos-release-6-5.el6.centos.11.1.x86_64 (@anaconda-CentOS-201311272149.x86_64/6.5)
From : /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
Is this ok [y/N]: y
warning: rpmts_HdrFromFdno: Header V3 RSA/SHA256 Signature, key ID 0608b895: NOKEY
Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
Importing GPG key 0x0608B895:
Userid : EPEL (6) <[email protected]>
Package: epel-release-6-5.noarch (installed)
From : /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
Is this ok [y/N]: y
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Warning: RPMDB altered outside of yum.
Installing : cluster-glue-libs-1.0.5-6.el6.x86_64 1/6
Installing : resource-agents-3.9.2-40.el6_5.10.x86_64 2/6
Installing : 1:perl-TimeDate-1.16-11.1.el6.noarch 3/6
Installing : cluster-glue-1.0.5-6.el6.x86_64 4/6
Installing : heartbeat-libs-3.0.4-2.el6.x86_64 5/6
Installing : heartbeat-3.0.4-2.el6.x86_64 6/6
Verifying : 1:perl-TimeDate-1.16-11.1.el6.noarch 1/6
Verifying : cluster-glue-libs-1.0.5-6.el6.x86_64 2/6
Verifying : resource-agents-3.9.2-40.el6_5.10.x86_64 3/6
Verifying : heartbeat-libs-3.0.4-2.el6.x86_64 4/6
Verifying : heartbeat-3.0.4-2.el6.x86_64 5/6
Verifying : cluster-glue-1.0.5-6.el6.x86_64 6/6

Installed:
heartbeat.x86_64 0:3.0.4-2.el6

Dependency Installed:
cluster-glue.x86_64 0:1.0.5-6.el6
cluster-glue-libs.x86_64 0:1.0.5-6.el6
heartbeat-libs.x86_64 0:3.0.4-2.el6
perl-TimeDate.noarch 1:1.16-11.1.el6
resource-agents.x86_64 0:3.9.2-40.el6_5.10

Complete!
[[email protected] yum.repos.d]#

找到heartbeat安装目录

[[email protected] /]# rpm -q heartbeat -d
/usr/share/doc/heartbeat-3.0.4/AUTHORS
/usr/share/doc/heartbeat-3.0.4/COPYING
/usr/share/doc/heartbeat-3.0.4/COPYING.LGPL
/usr/share/doc/heartbeat-3.0.4/ChangeLog
/usr/share/doc/heartbeat-3.0.4/README
/usr/share/doc/heartbeat-3.0.4/apphbd.cf
/usr/share/doc/heartbeat-3.0.4/authkeys
/usr/share/doc/heartbeat-3.0.4/ha.cf
/usr/share/doc/heartbeat-3.0.4/haresources
/usr/share/man/man1/cl_status.1.gz
/usr/share/man/man1/hb_addnode.1.gz
/usr/share/man/man1/hb_delnode.1.gz
/usr/share/man/man1/hb_standby.1.gz
/usr/share/man/man1/hb_takeover.1.gz
/usr/share/man/man5/authkeys.5.gz
/usr/share/man/man5/ha.cf.5.gz
/usr/share/man/man8/apphbd.8.gz
/usr/share/man/man8/heartbeat.8.gz

拷贝配置文件到/etc/ha.d
#cp /usr/share/doc/heartbeat-3.0.4/authkeys /etc/ha.d/ 
#cp /usr/share/doc/heartbeat-3.0.4/ha.cf /etc/ha.d/ 
#cp /usr/share/doc/heartbeat-3.0.4/haresources /etc/ha.d/ 
#cd /etc/ha.d/

配置/etc/ha.d/ha.cf

[[email protected] ha.d]# cat ha.cf
#
# There are lots of options in this file. All you have to have is a set
# of nodes listed {"node ...} one of {serial, bcast, mcast, or ucast},
# and a value for "auto_failback".
#
# ATTENTION: As the configuration file is read line by line,
# THE ORDER OF DIRECTIVE MATTERS!
#
# In particular, make sure that the udpport, serial baud rate
# etc. are set before the heartbeat media are defined!
# debug and log file directives go into effect when they
# are encountered.
#
# All will be fine if you keep them ordered as in this example.
#
#
# Note on logging:
# If any of debugfile, logfile and logfacility are defined then they
# will be used. If debugfile and/or logfile are not defined and
# logfacility is defined then the respective logging and debug
# messages will be loged to syslog. If logfacility is not defined
# then debugfile and logfile will be used to log messges. If
# logfacility is not defined and debugfile and/or logfile are not
# defined then defaults will be used for debugfile and logfile as
# required and messages will be sent there.
#
# File to write debug messages to
#debugfile /var/log/ha-debug
#
#
# File to write other messages to
#
#logfile /var/log/ha-log
#
#
# Facility to use for syslog()/logger
#
logfacility local0
#
#
# A note on specifying "how long" times below...
#
# The default time unit is seconds
# 10 means ten seconds
#
# You can also specify them in milliseconds
# 1500ms means 1.5 seconds
#
#
# keepalive: how long between heartbeats?
#
keepalive 2
#
# deadtime: how long-to-declare-host-dead?
#
# If you set this too low you will get the problematic
# split-brain (or cluster partition) problem.
# See the FAQ for how to use warntime to tune deadtime.
#
deadtime 30
#
# warntime: how long before issuing "late heartbeat" warning?
# See the FAQ for how to use warntime to tune deadtime.
#
#warntime 10
#
#
# Very first dead time (initdead)
#
# On some machines/OSes, etc. the network takes a while to come up
# and start working right after you‘ve been rebooted. As a result
# we have a separate dead time for when things first come up.
# It should be at least twice the normal dead time.
#
initdead 30
#
#
# What UDP port to use for bcast/ucast communication?
#
udpport 694
#
# Baud rate for serial ports...
#
#baud 19200
#
# serial serialportname ...
#serial /dev/ttyS0 # Linux
#serial /dev/cuaa0 # FreeBSD
#serial /dev/cuad0 # FreeBSD 6.x
#serial /dev/cua/a # Solaris
#
#
# What interfaces to broadcast heartbeats over?
#
bcast eth0 eth1 # Linux
#bcast eth1 eth2 # Linux
#bcast le0 # Solaris
#bcast le1 le2 # Solaris
#
# Set up a multicast heartbeat medium
# mcast [dev] [mcast group] [port] [ttl] [loop]
#
# [dev] device to send/rcv heartbeats on
# [mcast group] multicast group to join (class D multicast address
# 224.0.0.0 - 239.255.255.255)
# [port] udp port to sendto/rcvfrom (set this value to the
# same value as "udpport" above)
# [ttl] the ttl value for outbound heartbeats. this effects
# how far the multicast packet will propagate. (0-255)
# Must be greater than zero.
# [loop] toggles loopback for outbound multicast heartbeats.
# if enabled, an outbound packet will be looped back and
# received by the interface it was sent on. (0 or 1)
# Set this value to zero.
#
#
#mcast eth0 225.0.0.1 694 1 0
#
# Set up a unicast / udp heartbeat medium
# ucast [dev] [peer-ip-addr]
#
# [dev] device to send/rcv heartbeats on
# [peer-ip-addr] IP address of peer to send packets to
#
#ucast eth0 192.168.1.2
#
#
# About boolean values...
#
# Any of the following case-insensitive values will work for true:
# true, on, yes, y, 1
# Any of the following case-insensitive values will work for false:
# false, off, no, n, 0
#
#
#
# auto_failback: determines whether a resource will
# automatically fail back to its "primary" node, or remain
# on whatever node is serving it until that node fails, or
# an administrator intervenes.
#
# The possible values for auto_failback are:
# on - enable automatic failbacks
# off - disable automatic failbacks
# legacy - enable automatic failbacks in systems
# where all nodes do not yet support
# the auto_failback option.
#
# auto_failback "on" and "off" are backwards compatible with the old
# "nice_failback on" setting.
#
# See the FAQ for information on how to convert
# from "legacy" to "on" without a flash cut.
# (i.e., using a "rolling upgrade" process)
#
# The default value for auto_failback is "legacy", which
# will issue a warning at startup. So, make sure you put
# an auto_failback directive in your ha.cf file.
# (note: auto_failback can be any boolean or "legacy")
#
auto_failback off
#
#
# Basic STONITH support
# Using this directive assumes that there is one stonith
# device in the cluster. Parameters to this device are
# read from a configuration file. The format of this line is:
#
# stonith <stonith_type> <configfile>
#
# NOTE: it is up to you to maintain this file on each node in the
# cluster!
#
#stonith baytech /etc/ha.d/conf/stonith.baytech
#
# STONITH support
# You can configure multiple stonith devices using this directive.
# The format of the line is:
# stonith_host <hostfrom> <stonith_type> <params...>
# <hostfrom> is the machine the stonith device is attached
# to or * to mean it is accessible from any host.
# <stonith_type> is the type of stonith device (a list of
# supported drives is in /usr/lib/stonith.)
# <params...> are driver specific parameters. To see the
# format for a particular device, run:
# stonith -l -t <stonith_type>
#
#
# Note that if you put your stonith device access information in
# here, and you make this file publically readable, you‘re asking
# for a denial of service attack ;-)
#
# To get a list of supported stonith devices, run
# stonith -L
# For detailed information on which stonith devices are supported
# and their detailed configuration options, run this command:
# stonith -h
#
#stonith_host * baytech 10.0.0.3 mylogin mysecretpassword
#stonith_host ken3 rps10 /dev/ttyS1 kathy 0
#stonith_host kathy rps10 /dev/ttyS1 ken3 0
#
# Watchdog is the watchdog timer. If our own heart doesn‘t beat for
# a minute, then our machine will reboot.
# NOTE: If you are using the software watchdog, you very likely
# wish to load the module with the parameter "nowayout=0" or
# compile it without CONFIG_WATCHDOG_NOWAYOUT set. Otherwise even
# an orderly shutdown of heartbeat will trigger a reboot, which is
# very likely NOT what you want.
#
#watchdog /dev/watchdog
#
# Tell what machines are in the cluster
# node nodename ... -- must match uname -n
node centos1
node centos2
#node kathy
#
# Less common options...
#
# Treats 10.10.10.254 as a psuedo-cluster-member
# Used together with ipfail below...
# note: don‘t use a cluster node as ping node
#
#ping 10.10.10.254
ping 192.168.1.1
#
# Treats 10.10.10.254 and 10.10.10.253 as a psuedo-cluster-member
# called group1. If either 10.10.10.254 or 10.10.10.253 are up
# then group1 is up
# Used together with ipfail below...
#
#ping_group group1 10.10.10.254 10.10.10.253
#
# HBA ping derective for Fiber Channel
# Treats fc-card-name as psudo-cluster-member
# used with ipfail below ...
#
# You can obtain HBAAPI from http://hbaapi.sourceforge.net. You need
# to get the library specific to your HBA directly from the vender
# To install HBAAPI stuff, all You need to do is to compile the common
# part you obtained from the sourceforge. This will produce libHBAAPI.so
# which you need to copy to /usr/lib. You need also copy hbaapi.h to
# /usr/include.
#
# The fc-card-name is the name obtained from the hbaapitest program
# that is part of the hbaapi package. Running hbaapitest will produce
# a verbose output. One of the first line is similar to:
# Apapter number 0 is named: qlogic-qla2200-0
# Here fc-card-name is qlogic-qla2200-0.
#
#hbaping fc-card-name
#
#
# Processes started and stopped with heartbeat. Restarted unless
# they exit with rc=100
#
#respawn userid /path/name/to/run
#respawn hacluster /usr/lib/heartbeat/ipfail
#
# Access control for client api
# default is no access
#
#apiauth client-name gid=gidlist uid=uidlist
#apiauth ipfail gid=haclient uid=hacluster

###########################
#
# Unusual options.
#
###########################
#
# hopfudge maximum hop count minus number of nodes in config
#hopfudge 1
#
# deadping - dead time for ping nodes
#deadping 30
#
# hbgenmethod - Heartbeat generation number creation method
# Normally these are stored on disk and incremented as needed.
#hbgenmethod time
#
# realtime - enable/disable realtime execution (high priority, etc.)
# defaults to on
#realtime off
#
# debug - set debug level
# defaults to zero
#debug 1
#
# API Authentication - replaces the fifo-permissions-based system of the past
#
#
# You can put a uid list and/or a gid list.
# If you put both, then a process is authorized if it qualifies under either
# the uid list, or under the gid list.
#
# The groupname "default" has special meaning. If it is specified, then
# this will be used for authorizing groupless clients, and any client groups
# not otherwise specified.
#
# There is a subtle exception to this. "default" will never be used in the
# following cases (actual default auth directives noted in brackets)
# ipfail (uid=HA_CCMUSER)
# ccm (uid=HA_CCMUSER)
# ping (gid=HA_APIGROUP)
# cl_status (gid=HA_APIGROUP)
#
# This is done to avoid creating a gaping security hole and matches the most
# likely desired configuration.
#
#apiauth ipfail uid=hacluster
#apiauth ccm uid=hacluster
#apiauth cms uid=hacluster
#apiauth ping gid=haclient uid=alanr,root
#apiauth default gid=haclient

# message format in the wire, it can be classic or netstring,
# default: classic
#msgfmt classic/netstring

# Do we use logging daemon?
# If logging daemon is used, logfile/debugfile/logfacility in this file
# are not meaningful any longer. You should check the config file for logging
# daemon (the default is /etc/logd.cf)
# more infomartion can be fould in http://www.linux-ha.org/ha_2ecf_2fUseLogdDirective
# Setting use_logd to "yes" is recommended
#
# use_logd yes/no
#
# the interval we reconnect to logging daemon if the previous connection failed
# default: 60 seconds
#conn_logd_time 60
#
#
# Configure compression module
# It could be zlib or bz2, depending on whether u have the corresponding
# library in the system.
#compression bz2
#
# Confiugre compression threshold
# This value determines the threshold to compress a message,
# e.g. if the threshold is 1, then any message with size greater than 1 KB
# will be compressed, the default is 2 (KB)
#compression_threshold 2

配置 authkeys

[[email protected] ha.d]# cat authkeys
#
# Authentication file. Must be mode 600
#
#
# Must have exactly one auth directive at the front.
# auth send authentication using this method-id
#
# Then, list the method and key that go with that method-id
#
# Available methods: crc sha1, md5. Crc doesn‘t need/want a key.
#
# You normally only have one authentication method-id listed in this file
#
# Put more than one to make a smooth transition when changing auth
# methods and/or keys.
#
#
# sha1 is believed to be the "best", md5 next best.
#
# crc adds no security, except from packet corruption.
# Use only on physically secure networks.
#
auth 3
#1 crc
#2 sha1 HI!
3 md5 Hello!

配置haresources

[[email protected] ha.d]# cat haresources
#
# This is a list of resources that move from machine to machine as
# nodes go down and come up in the cluster. Do not include
# "administrative" or fixed IP addresses in this file.
#
# <VERY IMPORTANT NOTE>
# The haresources files MUST BE IDENTICAL on all nodes of the cluster.
#
# The node names listed in front of the resource group information
# is the name of the preferred node to run the service. It is
# not necessarily the name of the current machine. If you are running
# auto_failback ON (or legacy), then these services will be started
# up on the preferred nodes - any time they‘re up.
#
# If you are running with auto_failback OFF, then the node information
# will be used in the case of a simultaneous start-up, or when using
# the hb_standby {foreign,local} command.
#
# BUT FOR ALL OF THESE CASES, the haresources files MUST BE IDENTICAL.
# If your files are different then almost certainly something
# won‘t work right.
# </VERY IMPORTANT NOTE>
#
#
# We refer to this file when we‘re coming up, and when a machine is being
# taken over after going down.
#
# You need to make this right for your installation, then install it in
# /etc/ha.d
#
# Each logical line in the file constitutes a "resource group".
# A resource group is a list of resources which move together from
# one node to another - in the order listed. It is assumed that there
# is no relationship between different resource groups. These
# resource in a resource group are started left-to-right, and stopped
# right-to-left. Long lists of resources can be continued from line
# to line by ending the lines with backslashes ("\").
#
# These resources in this file are either IP addresses, or the name
# of scripts to run to "start" or "stop" the given resource.
#
# The format is like this:
#
#node-name resource1 resource2 ... resourceN
#
#
# If the resource name contains an :: in the middle of it, the
# part after the :: is passed to the resource script as an argument.
# Multiple arguments are separated by the :: delimeter
#
# In the case of IP addresses, the resource script name IPaddr is
# implied.
#
# For example, the IP address 135.9.8.7 could also be represented
# as IPaddr::135.9.8.7
#
# THIS IS IMPORTANT!! vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
#
# The given IP address is directed to an interface which has a route
# to the given address. This means you have to have a net route
# set up outside of the High-Availability structure. We don‘t set it
# up here -- we key off of it.
#
# The broadcast address for the IP alias that is created to support
# an IP address defaults to the highest address on the subnet.
#
# The netmask for the IP alias that is created defaults to the same
# netmask as the route that it selected in in the step above.
#
# The base interface for the IPalias that is created defaults to the
# same netmask as the route that it selected in in the step above.
#
# If you want to specify that this IP address is to be brought up
# on a subnet with a netmask of 255.255.255.0, you would specify
# this as IPaddr::135.9.8.7/24 .
#
# If you wished to tell it that the broadcast address for this subnet
# was 135.9.8.210, then you would specify that this way:
# IPaddr::135.9.8.7/24/135.9.8.210
#
# If you wished to tell it that the interface to add the address to
# is eth0, then you would need to specify it this way:
# IPaddr::135.9.8.7/24/eth0
#
# And this way to specify both the broadcast address and the
# interface:
# IPaddr::135.9.8.7/24/eth0/135.9.8.210
#
# The IP addresses you list in this file are called "service" addresses,
# since they‘re they‘re the publicly advertised addresses that clients
# use to get at highly available services.
#
# For a hot/standby (non load-sharing) 2-node system with only
# a single service address,
# you will probably only put one system name and one IP address in here.
# The name you give the address to is the name of the default "hot"
# system.
#
# Where the nodename is the name of the node which "normally" owns the
# resource. If this machine is up, it will always have the resource
# it is shown as owning.
#
# The string you put in for nodename must match the uname -n name
# of your machine. Depending on how you have it administered, it could
# be a short name or a FQDN.
#
#-------------------------------------------------------------------
#
# Simple case: One service address, default subnet and netmask
# No servers that go up and down with the IP address
#
#just.linux-ha.org 135.9.216.110
#
#-------------------------------------------------------------------
#
# Assuming the adminstrative addresses are on the same subnet...
# A little more complex case: One service address, default subnet
# and netmask, and you want to start and stop http when you get
# the IP address...
#
#just.linux-ha.org 135.9.216.110 http
#-------------------------------------------------------------------
#
# A little more complex case: Three service addresses, default subnet
# and netmask, and you want to start and stop http when you get
# the IP address...
#
#just.linux-ha.org 135.9.216.110 135.9.215.111 135.9.216.112 httpd
#-------------------------------------------------------------------
#
# One service address, with the subnet, interface and bcast addr
# explicitly defined.
#
#just.linux-ha.org 135.9.216.3/28/eth0/135.9.216.12 httpd
#
#-------------------------------------------------------------------
#
# An example where a shared filesystem is to be used.
# Note that multiple aguments are passed to this script using
# the delimiter ‘::‘ to separate each argument.
#
#node1 10.0.0.170 Filesystem::/dev/sda1::/data1::ext2
#
# Regarding the node-names in this file:
#
# They must match the names of the nodes listed in ha.cf, which in turn
# must match the `uname -n` of some node in the cluster. So they aren‘t
# virtual in any sense of the word.
#

centos1 IPaddr::192.168.1.240/24/eth0:1/192.168.1.255 Filesystem::/dev/vgora/lvora::/oracle/oradata::ext4 oracle

#上面oracle需配置oracle服务

以下脚本参考http://www.cnblogs.com/mchina/archive/2012/11/27/2782993.html

Oracle启动&停止脚本

1. 修改Oracle系统配置文件:/etc/oratab,只有这样,Oracle 自带的dbstart和dbshut才能够发挥作用。

# vi /etc/oratab
orcl:/opt/oracle/102:Y

# Entries are of the form:
#   $ORACLE_SID:$ORACLE_HOME:<N|Y>:

2. 在 /etc/init.d/ 下创建文件oracle,内容如下:

#!/bin/sh
# chkconfig: 35 80 10
# description: Oracle auto start-stop script.

#
# Set ORA_HOME to be equivalent to the $ORACLE_HOME
# from which you wish to execute dbstart and dbshut;
#
# Set ORA_OWNER to the user id of the owner of the
# Oracle database in ORA_HOME.
ORA_HOME=/opt/oracle/102
ORA_OWNER=oracle
if [ ! -f $ORA_HOME/bin/dbstart ]
then
echo "Oracle startup: cannot start"
exit
fi
case "$1" in
‘start‘)
# Start the Oracle databases:
echo "Starting Oracle Databases ... "
echo "-------------------------------------------------" >> /var/log/oracle
date +" %T %a %D : Starting Oracle Databases as part of system up." >> /var/log/oracle
echo "-------------------------------------------------" >> /var/log/oracle
su - $ORA_OWNER -c "$ORA_HOME/bin/dbstart" >>/var/log/oracle
echo "Done"

# Start the Listener:
echo "Starting Oracle Listeners ... "
echo "-------------------------------------------------" >> /var/log/oracle
date +" %T %a %D : Starting Oracle Listeners as part of system up." >> /var/log/oracle
echo "-------------------------------------------------" >> /var/log/oracle
su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl start" >>/var/log/oracle
echo "Done."
echo "-------------------------------------------------" >> /var/log/oracle
date +" %T %a %D : Finished." >> /var/log/oracle
echo "-------------------------------------------------" >> /var/log/oracle
touch /var/lock/subsys/oracle
;;

‘stop‘)
# Stop the Oracle Listener:
echo "Stoping Oracle Listeners ... "
echo "-------------------------------------------------" >> /var/log/oracle
date +" %T %a %D : Stoping Oracle Listener as part of system down." >> /var/log/oracle
echo "-------------------------------------------------" >> /var/log/oracle
su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl stop" >>/var/log/oracle
echo "Done."
rm -f /var/lock/subsys/oracle

# Stop the Oracle Database:
echo "Stoping Oracle Databases ... "
echo "-------------------------------------------------" >> /var/log/oracle
date +" %T %a %D : Stoping Oracle Databases as part of system down." >> /var/log/oracle
echo "-------------------------------------------------" >> /var/log/oracle
su - $ORA_OWNER -c "$ORA_HOME/bin/dbshut" >>/var/log/oracle
echo "Done."
echo ""
echo "-------------------------------------------------" >> /var/log/oracle
date +" %T %a %D : Finished." >> /var/log/oracle
echo "-------------------------------------------------" >> /var/log/oracle
;;

‘restart‘)
$0 stop
$0 start
;;
esac

3. 改变文件权限
# chmod 755 /etc/init.d/oracle

4. 添加服务
# chkconfig --level 35 oracle on

5. 需要在关机或重启机器之前停止数据库,做一下操作
# ln -s /etc/init.d/oracle /etc/rc0.d/K01oracle   //关机
# ln -s /etc/init.d/oracle /etc/rc6.d/K01oracle   //重启

6. 使用方法
# service oracle start        //启动oracle
# service oracle stop        //关闭oracle
# service oracle restart     //重启oracle

时间: 2024-10-07 10:24:52

heartbeat3.0 for oracle的相关文章

IE8.0登录Oracle EBS后报Oracle error 1403错

IE8.0登录Oracle EBS后报错,登录页面打开没有问题,不过输入用户名和密码然后登录,遇到以下错误: <PRE>Oracle error 1403: java.sql.SQLException: ORA-01403: no data found ORA-06512: at line 1 has been detected in FND_SESSION_MANAGEMENT.CHECK_SESSION. Your session is no longer valid. </PRE&

Solr4.7.0连接Oracle

1.把Oracle的Jar包  例如:ojdbc14.jar  或其他版本 放到D:\apache-tomcat-7.0.57\webapps\solr\WEB-INF\lib下 2.然后在tomcat-solr\collection1\conf下新建一个配置文件:data-config.xml,然后在本目录下编辑配置文件:solrconfig.xml 找到很多个requestHandler节点,在最下面增加: <requestHandler name="/dataimport"

WIN7+Qt5.2.0连接oracle数据库的oci驱动的编译

一.前提安装 1.需要安装QT5.2.0,本介绍安装的是qt-windows-opensource-5.2.0-mingw48_opengl-x86-offline.exe: 本文安装目录:c:\Qt 2.安装oracle客户端, 本文安装的为 :win32_11gR2_database_1of2.zip win32_11gR2_database_2of2.zip 本介绍里面安装的路径为E:\app,记作为ORACELPATH 二.编译过程 1.开始菜单中找到Qt 5.2.0 for Deskt

适用MySQL Migration Toolkit 1.0 将oracle迁移到mysql中遇到的问题

这里主要说一下我在适用中碰到的问题,主要过程参考 http://www.cnblogs.com/duwenlei/p/3520759.html. 首先启动MySQLMigrationTool.exe 提示“initialized java loader”错误,如下图 后来发现是因为我的jdk是64位,而工具需要32位,再装个32位jdk,我装的是1.7,如果不想改环境变量启动参考 http://javabyraj.blogspot.com/2013/09/solution-for-initial

【源码安装】Heartbeat3.0.9

1.概述1.1 关于Heartbeat1.2 本篇博客实践环境2. 部署基础环境2.1 通过YUM安装依赖环境2.2 创建Heartbeat用户和组3. 编译安装3.1下载源码包3.2 编译安装3.2.1 编译cluster-glue3.2.2 编译resource agents3.2.3 编译安装heartbeat4.相关文件复制5.配置和测试5.1 node11配置5.2 node12配置5.3 启动 1.概述 1.1 关于Heartbeat Heartbeat是Linux-HA工程的组成部

CentOS6.5_x64上简单编译配置Heartbeat3.0.4

Heartbeat 3与 2.x的最大差别在于,3 按模块把的原来2.x 拆分为多个子项目,并且提供了一个cluster-glue的组件,专用于Local ResourceManager 的管理.即heartbeat + cluster-glue + resouce-agent 三部分: 引用 (1)hearbeat本身是整个集群的基础(cluster messaging layer),负责维护集群各节点的信息以及它们之前通信: (2)cluster-glue相当于一个中间层,可以将heartb

ibatis3.0调用Oracle的存储过程

直接上源码 一,oracle储存过程. create or replace procedure proc_get_th(i_hth in varchar2,o_ret out sys_refcursor)isbegin for v_rec in (select ggd_id,th from gms_ggd_zt where hth=i_hth) loop insert into tmp_gms_plan_th(ggd_id,th) select ggd_id,th from table(f_ge

debian8下配置postgresql9.5.2、pgpool3.5.2、heartbeat3.0.5的HA热备

项目要求通过heartbeat控制pg和pgpool的主备过程,从而达到高可用,pg的自己的流复制主备方案参考我另外一篇主备方案文章,pgpool这里只用到连接池的功能.应用通过heartbeat虚拟出来的VIP访问pgpool池. 注:debian8下建议还是直接apt-get install heartbeat,编译各种依赖还会提示源码错误,配置文件路径一模一样,不过那个启动和关闭脚本得自己写,但是偶尔会报错openhpi相关的,老外说是BUG,但解决办法如下: vim /etc/syste

CentOS7.0 在 Oracle VM VirtualBox中的网络不通问题

1. 检查本机的IP: ipconfig 2. 检查CentOS7.0的IP: ifconfig ifcfg-enp0s3 3.检查1和2中IP的Net_ID 是不是一样的,如果不一样就要修改CentOS7.0中的IP:vi /etc/sysconfig/network-scripts/ifcfg-enp0s3中IPADDR的Net_ID的值 4.输入reboot重新启动,属于ping www.baidu.com 发现网络连接成功 图片来自鸟哥的Linux私房菜(http://linux.vbi