E 41959
E 41959
E 41959
June 2015
Oracle Clusterware Administration and Deployment Guide, 11g Release 2 (11.2)
E41959-04
Copyright © 2007, 2015, Oracle and/or its affiliates. All rights reserved.
Contributing Authors: Ahmed Abbas, Ram Avudaiappan, Mark Bauer, Eric Belden, Gajanan Bhat, Jonathan
Creighton, Mark Fuller, John Grout, Andrey Gusev, Winston Huang, Sameer Joshi, Sana Karam, Roland
Knapp, Erich Kreisler, Raj K. Kammend, Karen Li, Barb Lundhild, Bill Manry, Saar Maoz, Markus
Michalewicz, Anil Nair, Philip Newlan, Kevin Reardon, Dipak Saggi, Viv Schupmann, K.P. Singh, Duane
Smith, Janet Stern, Su Tang, Mark Townsend, Douglas Williams
This software and related documentation are provided under a license agreement containing restrictions on
use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your
license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license,
transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse
engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is
prohibited.
The information contained herein is subject to change without notice and is not warranted to be error-free. If
you find any errors, please report them to us in writing.
If this is software or related documentation that is delivered to the U.S. Government or anyone licensing it
on behalf of the U.S. Government, then the following notice is applicable:
U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software,
any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users
are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and
agency-specific supplemental regulations. As such, use, duplication, disclosure, modification, and
adaptation of the programs, including any operating system, integrated software, any programs installed on
the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to
the programs. No other rights are granted to the U.S. Government.
This software or hardware is developed for general use in a variety of information management
applications. It is not developed or intended for use in any inherently dangerous applications, including
applications that may create a risk of personal injury. If you use this software or hardware in dangerous
applications, then you shall be responsible to take all appropriate fail-safe, backup, redundancy, and other
measures to ensure its safe use. Oracle Corporation and its affiliates disclaim any liability for any damages
caused by use of this software or hardware in dangerous applications.
Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of
their respective owners.
Intel and Intel Xeon are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks
are used under license and are trademarks or registered trademarks of SPARC International, Inc. AMD,
Opteron, the AMD logo, and the AMD Opteron logo are trademarks or registered trademarks of Advanced
Micro Devices. UNIX is a registered trademark of The Open Group.
This software or hardware and documentation may provide access to or information about content,
products, and services from third parties. Oracle Corporation and its affiliates are not responsible for and
expressly disclaim all warranties of any kind with respect to third-party content, products, and services
unless otherwise set forth in an applicable agreement between you and Oracle. Oracle Corporation and its
affiliates will not be responsible for any loss, costs, or damages incurred due to your access to or use of
third-party content, products, or services, except as set forth in an applicable agreement between you and
Oracle.
Contents
v
Overview of Server Pools and Policy-Based Management.......................................................... 2-1
Server Attributes Assigned by Oracle Clusterware ...................................................................... 2-2
Understanding Server Pools............................................................................................................. 2-4
How Server Pools Work............................................................................................................. 2-4
The Free Server Pool................................................................................................................... 2-7
The Generic Server Pool............................................................................................................. 2-7
How Oracle Clusterware Assigns New Servers ............................................................................ 2-8
Servers Moving from Server Pool to Server Pool................................................................... 2-9
Role-Separated Management .............................................................................................................. 2-10
About Role-Separated Management ............................................................................................ 2-10
About the CRS Administrator................................................................................................ 2-10
Managing CRS Administrators in the Cluster ............................................................................ 2-11
Configuring Horizontal Role Separation..................................................................................... 2-11
Configuring Oracle Grid Infrastructure ........................................................................................... 2-12
Configuring a Single Node ............................................................................................................ 2-13
Configuring Multiple Nodes ......................................................................................................... 2-13
Upgrading Grid Infrastructure ..................................................................................................... 2-14
Running the Configuration Wizard in Silent Mode................................................................... 2-14
Configuring IPMI for Failure Isolation ............................................................................................ 2-14
About Using IPMI for Failure Isolation ....................................................................................... 2-14
Configuring Server Hardware for IPMI ...................................................................................... 2-15
Postinstallation Configuration of IPMI-based Failure Isolation Using CRSCTL................... 2-15
IPMI Postinstallation Configuration with Oracle Clusterware......................................... 2-15
Modifying IPMI Configuration Using CRSCTL.................................................................. 2-16
Removing IPMI Configuration Using CRSCTL .................................................................. 2-17
Cluster Time Management .................................................................................................................. 2-17
Changing Network Addresses on Manually Configured Networks .......................................... 2-18
Understanding When You Must Configure Network Addresses ........................................... 2-19
Understanding SCAN Addresses and Client Service Connections......................................... 2-19
Changing the Virtual IP Addresses .............................................................................................. 2-19
Changing Oracle Clusterware Private Network Configuration .............................................. 2-21
About Private Networks and Network Interfaces .............................................................. 2-22
Redundant Interconnect Usage.............................................................................................. 2-22
Consequences of Changing Interface Names Using OIFCFG ........................................... 2-23
Changing a Network Interface............................................................................................... 2-23
vi
Restoring Oracle Cluster Registry ................................................................................................ 3-11
Diagnosing Oracle Cluster Registry Problems ........................................................................... 3-16
Administering Oracle Cluster Registry with Oracle Cluster Registry Export and Import
Commands 3-16
Importing Oracle Cluster Registry Content on Linux or UNIX Systems ........................ 3-17
Importing Oracle Cluster Registry Content on Windows Systems.................................. 3-19
Oracle Local Registry...................................................................................................................... 3-21
Upgrading and Downgrading the Oracle Cluster Registry Configuration............................ 3-22
Managing Voting Disks ....................................................................................................................... 3-22
Storing Voting Disks on Oracle ASM........................................................................................... 3-23
Backing Up Voting Disks ............................................................................................................... 3-24
Restoring Voting Disks................................................................................................................... 3-24
Adding, Deleting, or Migrating Voting Disks ............................................................................ 3-25
vii
Registering a Resource in Oracle Clusterware............................................................................... 6-7
Overview of Using Oracle Clusterware to Enable High Availability............................................ 6-8
Resource Attributes............................................................................................................................ 6-9
Resource States ................................................................................................................................... 6-9
Resource Dependencies.................................................................................................................. 6-10
Start Dependencies .................................................................................................................. 6-11
Stop Dependencies................................................................................................................... 6-14
Resource Placement ........................................................................................................................ 6-15
Registering an Application as a Resource ........................................................................................ 6-15
Creating an Application VIP Managed by Oracle Clusterware............................................... 6-16
Adding User-defined Resources ................................................................................................... 6-18
Deciding on a Deployment Scheme ...................................................................................... 6-18
Adding a Resource to a Specified Server Pool..................................................................... 6-19
Adding a Resource Using a Server-Specific Deployment.................................................. 6-20
Adding Resources Using Oracle Enterprise Manager............................................................... 6-20
Changing Resource Permissions................................................................................................... 6-21
Application Placement Policies..................................................................................................... 6-22
Unregistering Applications and Application Resources........................................................... 6-22
Managing Resources............................................................................................................................. 6-23
Registering Application Resources............................................................................................... 6-23
Starting Application Resources..................................................................................................... 6-23
Relocating Applications and Application Resources................................................................. 6-24
Stopping Applications and Application Resources ................................................................... 6-24
Displaying Clusterware Application and Application Resource Status Information .......... 6-24
Managing Automatic Restart of Oracle Clusterware Resources.................................................. 6-25
Preventing Automatic Restarts ..................................................................................................... 6-25
Automatically Manage Restart Attempts Counter for Resources............................................ 6-25
viii
cluvfy comp ha ................................................................................................................................ A-27
cluvfy comp healthcheck................................................................................................................ A-28
cluvfy comp nodeapp ..................................................................................................................... A-30
cluvfy comp nodecon ..................................................................................................................... A-31
cluvfy comp nodereach .................................................................................................................. A-33
cluvfy comp ocr ............................................................................................................................... A-34
cluvfy comp ohasd .......................................................................................................................... A-36
cluvfy comp olr................................................................................................................................ A-37
cluvfy comp peer............................................................................................................................. A-38
cluvfy comp scan............................................................................................................................. A-40
cluvfy comp software ..................................................................................................................... A-41
cluvfy comp space........................................................................................................................... A-42
cluvfy comp ssa ............................................................................................................................... A-43
cluvfy comp sys ............................................................................................................................... A-45
cluvfy comp vdisk........................................................................................................................... A-46
cluvfy stage [-pre | -post] acfscfg ................................................................................................. A-47
cluvfy stage [-pre | -post] cfs ........................................................................................................ A-48
cluvfy stage [-pre | -post] crsinst.................................................................................................. A-49
cluvfy stage -pre dbcfg ................................................................................................................... A-51
cluvfy stage -pre dbinst .................................................................................................................. A-52
cluvfy stage [-pre | -post] hacfg ................................................................................................... A-53
cluvfy stage -post hwos .................................................................................................................. A-54
cluvfy stage [-pre | -post] nodeadd ............................................................................................. A-55
cluvfy stage -post nodedel ............................................................................................................. A-56
Troubleshooting and Diagnostic Output for CVU ......................................................................... A-57
Enabling Tracing ............................................................................................................................. A-58
Known Issues for the Cluster Verification Utility ...................................................................... A-59
Database Versions Supported by Cluster Verification Utility .......................................... A-59
Linux Shared Storage Accessibility (ssa) Check Reports Limitations.............................. A-59
Shared Disk Discovery on Red Hat Linux ........................................................................... A-59
ix
LOAD........................................................................................................................................... B-7
NAME.......................................................................................................................................... B-7
OFFLINE_CHECK_INTERVAL .............................................................................................. B-7
PLACEMENT ............................................................................................................................. B-7
RESTART_ATTEMPTS ............................................................................................................. B-8
SCRIPT_TIMEOUT .................................................................................................................... B-8
SERVER_POOLS ........................................................................................................................ B-8
START_DEPENDENCIES ........................................................................................................ B-9
START_TIMEOUT ................................................................................................................... B-11
STOP_DEPENDENCIES ......................................................................................................... B-11
STOP_TIMEOUT...................................................................................................................... B-12
TYPE .......................................................................................................................................... B-12
UPTIME_THRESHOLD .......................................................................................................... B-13
Read-Only Resource Attributes .................................................................................................... B-14
ACTION_FAILURE_EVENT_TEMPLATE.......................................................................... B-14
INTERNAL_STATE................................................................................................................. B-14
LAST_SERVER ......................................................................................................................... B-14
LAST_STATE_CHANGE........................................................................................................ B-14
PROFILE_CHANGE_EVENT_TEMPLATE......................................................................... B-15
RESTART_COUNT.................................................................................................................. B-15
STATE ........................................................................................................................................ B-15
STATE_CHANGE_EVENT_TEMPLATE............................................................................. B-15
STATE_DETAILS ..................................................................................................................... B-15
TARGET .................................................................................................................................... B-15
Examples of Action Scripts for Third-Party Applications ............................................................ B-16
x
crsctl check evm ....................................................................................................................... E-13
crsctl delete resource ............................................................................................................... E-13
crsctl delete type....................................................................................................................... E-14
crsctl get hostname .................................................................................................................. E-14
crsctl getperm resource ........................................................................................................... E-14
crsctl getperm type .................................................................................................................. E-15
crsctl modify resource ............................................................................................................. E-16
crsctl modify type .................................................................................................................... E-18
crsctl setperm resource............................................................................................................ E-19
crsctl setperm type ................................................................................................................... E-20
crsctl start resource .................................................................................................................. E-21
crsctl status resource................................................................................................................ E-23
crsctl status type ....................................................................................................................... E-24
crsctl stop resource................................................................................................................... E-25
Oracle RAC Environment CRSCTL Commands ........................................................................ E-27
crsctl add crs administrator .................................................................................................... E-28
crsctl add css votedisk ............................................................................................................. E-29
crsctl add serverpool ............................................................................................................... E-30
crsctl check cluster ................................................................................................................... E-32
crsctl check crs .......................................................................................................................... E-32
crsctl check resource ................................................................................................................ E-32
crsctl check ctss......................................................................................................................... E-33
crsctl config crs ......................................................................................................................... E-34
crsctl delete crs administrator ................................................................................................ E-34
crsctl delete css votedisk ......................................................................................................... E-35
crsctl delete node...................................................................................................................... E-35
crsctl delete serverpool............................................................................................................ E-36
crsctl disable crs........................................................................................................................ E-36
crsctl discover dhcp ................................................................................................................. E-36
crsctl enable crs......................................................................................................................... E-37
crsctl get clientid dhcp............................................................................................................. E-37
crsctl get css............................................................................................................................... E-38
crsctl get css ipmiaddr............................................................................................................. E-39
crsctl get nodename ................................................................................................................. E-39
crsctl getperm serverpool ....................................................................................................... E-39
crsctl lsmodules ........................................................................................................................ E-40
crsctl modify serverpool ......................................................................................................... E-41
crsctl pin css .............................................................................................................................. E-42
crsctl query crs administrator ................................................................................................ E-42
crsctl query crs activeversion ................................................................................................. E-43
crsctl query crs releaseversion ............................................................................................... E-43
crsctl query crs softwareversion ............................................................................................ E-43
crsctl query css ipmiconfig ..................................................................................................... E-43
crsctl query css ipmidevice ..................................................................................................... E-44
crsctl query css votedisk ......................................................................................................... E-44
crsctl query dns ........................................................................................................................ E-45
crsctl release dhcp .................................................................................................................... E-46
xi
crsctl relocate resource ............................................................................................................ E-46
crsctl relocate server ................................................................................................................ E-48
crsctl replace discoverystring................................................................................................. E-49
crsctl replace votedisk ............................................................................................................. E-49
crsctl request dhcp ................................................................................................................... E-50
crsctl set css ............................................................................................................................... E-50
crsctl set css ipmiaddr ............................................................................................................. E-51
crsctl set css ipmiadmin .......................................................................................................... E-51
crsctl setperm serverpool ........................................................................................................ E-52
crsctl start cluster ..................................................................................................................... E-53
crsctl start crs ............................................................................................................................ E-54
crsctl start ip.............................................................................................................................. E-54
crsctl start testdns..................................................................................................................... E-55
crsctl status ip ........................................................................................................................... E-55
crsctl status server.................................................................................................................... E-56
crsctl status serverpool............................................................................................................ E-57
crsctl status testdns .................................................................................................................. E-58
crsctl stop cluster...................................................................................................................... E-58
crsctl stop crs............................................................................................................................. E-59
crsctl stop ip .............................................................................................................................. E-60
crsctl stop testdns ..................................................................................................................... E-60
crsctl unpin css ......................................................................................................................... E-61
crsctl unset css .......................................................................................................................... E-61
crsctl unset css ipmiconfig ...................................................................................................... E-62
Oracle Restart Environment CRSCTL Commands .................................................................... E-63
crsctl check has ......................................................................................................................... E-63
crsctl config has ........................................................................................................................ E-63
crsctl disable has....................................................................................................................... E-64
crsctl enable has........................................................................................................................ E-64
crsctl query has releaseversion .............................................................................................. E-64
crsctl query has softwareversion ........................................................................................... E-65
crsctl start has ........................................................................................................................... E-65
crsctl stop has............................................................................................................................ E-65
Troubleshooting and Diagnostic Output.......................................................................................... E-67
Dynamic Debugging....................................................................................................................... E-68
crsctl set log............................................................................................................................... E-68
Component Level Debugging ....................................................................................................... E-69
Enabling Debugging for Oracle Clusterware Modules...................................................... E-69
Creating an Initialization File to Contain the Debugging Level ....................................... E-72
Enabling Debugging for Oracle Clusterware Resources........................................................... E-73
Enabling Additional Tracing for Oracle Clusterware Components........................................ E-74
xii
G Oracle Cluster Registry Utility Reference
About OCRCONFIG............................................................................................................................... G-2
OCRCONFIG Command Reference.................................................................................................... G-3
Troubleshooting Oracle Cluster Registry and Diagnostic Output .............................................. G-10
Troubleshooting Oracle Cluster Registry .................................................................................... G-11
Using the OCRCHECK Utility ...................................................................................................... G-12
Using the OCRDUMP Utility to View Oracle Cluster Registry Content................................ G-15
OCRDUMP Utility Syntax and Options ............................................................................... G-15
OCRDUMP Utility Examples................................................................................................. G-16
Sample OCRDUMP Utility Output....................................................................................... G-16
Glossary
Index
xiii
xiv
List of Tables
1–1 List of Processes and Services Associated with Oracle Clusterware Components.......... 1-9
2–1 Server Attributes ........................................................................................................................ 2-2
2–2 Server Pool Attributes ............................................................................................................... 2-6
2–3 Sample Server Pool Attributes Configuration ....................................................................... 2-9
2–4 Post Processing Server Pool Configuration............................................................................ 2-9
2–5 Storage for the Network Interface, Private IP Address, and Private Host Name ......... 2-22
5–1 Parameters for the clone.pl Script............................................................................................ 5-8
5–2 Environment Variables Passed to the clone.pl Script ........................................................ 5-10
5–3 Cloning Log Files and their Descriptions............................................................................ 5-13
5–4 Finding the Location of the Oracle Inventory Directory................................................... 5-14
6–1 Agent Framework Monitoring Characteristics...................................................................... 6-5
6–2 Possible Resource States............................................................................................................ 6-9
A–1 Performing Various CVU Verifications ................................................................................. A-3
A–2 cluvfy comp acfs Command Parameters............................................................................. A-13
A–3 cluvfy comp admprv Command Parameters ..................................................................... A-14
A–4 cluvfy comp asm Command Parameters ............................................................................ A-16
A–5 cluvfy comp cfs Command Parameters............................................................................... A-17
A–6 cluvfy comp clocksync Command Parameters .................................................................. A-18
A–7 cluvfy comp clu Command Parameters .............................................................................. A-19
A–8 cluvfy comp clumgr Command Parameters ....................................................................... A-20
A–9 cluvfy comp crs Command Parameters............................................................................... A-21
A–10 cluvfy comp dhcp Command Parameters........................................................................... A-22
A–11 cluvfy comp dns Command Parameters ............................................................................. A-23
A–12 cluvfy comp gns Command Parameters ............................................................................. A-25
A–13 cluvfy comp gpnp Command Parameters .......................................................................... A-26
A–14 cluvfy comp healthcheck Command Parameters............................................................... A-28
A–15 cluvfy comp nodeapp Command Parameters .................................................................... A-30
A–16 cluvfy comp nodecon Command Parameters .................................................................... A-31
A–17 cluvfy comp nodereach Command Parameters ................................................................. A-33
A–18 cluvfy comp ocr Command Parameters .............................................................................. A-34
A–19 cluvfy comp ohasd Command Parameters ......................................................................... A-36
A–20 cluvfy comp peer Command Parameters............................................................................ A-38
A–21 cluvfy comp software Command Parameters .................................................................... A-41
A–22 cluvfy comp space Command Parameters.......................................................................... A-42
A–23 cluvfy comp ssa Command Parameters .............................................................................. A-43
A–24 cluvfy comp sys Command Parameters .............................................................................. A-45
A–25 cluvfy comp vdisk Command Parameters.......................................................................... A-46
A–26 cluvfy stage [-pre | -post] acfscfg Command Parameters ................................................ A-47
A–27 cluvfy stage [-pre | -post] cfs Command Parameters ....................................................... A-48
A–28 cluvfy stage [-pre | -post] crsinst Command Parameters................................................. A-49
A–29 cluvfy stage -pre dbcfg Command Parameters .................................................................. A-51
A–30 cluvfy stage -pre dbinst Command Parameters ................................................................. A-52
A–31 cluvfy stage [-pre | -post] hacfg Command Parameters .................................................. A-53
A–32 cluvfy stage -post hwos Command Parameters ................................................................. A-54
A–33 cluvfy stage [-pre | -post] nodeadd Command Parameters ............................................ A-55
A–34 cluvfy stage -post nodedel Command Parameters ............................................................ A-56
C–1 OLSNODES Command Options............................................................................................. C-5
D–1 OIFCFG Commands ................................................................................................................. D-3
E–1 Deprecated CRSCTL Commands and Replacements.......................................................... E-5
E–2 crsctl add resource Command Parameters ........................................................................... E-8
E–3 crsctl add type Command Parameters................................................................................. E-11
E–4 crsctl delete resource Command Parameters...................................................................... E-13
E–5 crsctl getperm resource Command Parameters ................................................................. E-14
xv
E–6 crsctl getperm type Command Parameters......................................................................... E-15
E–7 crsctl modify resource Command Parameters ................................................................... E-16
E–8 crsctl modify type Command Parameters........................................................................... E-18
E–9 crsctl setperm resource Command Parameters .................................................................. E-19
E–10 crsctl setperm type Command Parameters ......................................................................... E-20
E–11 crsctl start resource Command Parameters ........................................................................ E-22
E–12 crsctl status resource Command Parameters ...................................................................... E-23
E–13 crsctl status type Command Parameters ............................................................................. E-24
E–14 crsctl stop resource Command Parameters......................................................................... E-25
E–15 crsctl add crs administrator Command Parameters .......................................................... E-29
E–16 crsctl add css votedisk Command Parameters ................................................................... E-29
E–17 crsctl add serverpool Command Parameters...................................................................... E-30
E–18 crsctl check resource Command Parameters ...................................................................... E-33
E–19 crsctl delete crs administrator Command Parameters ...................................................... E-34
E–20 crsctl delete css votedisk Command Parameters ............................................................... E-35
E–21 crsctl discover dhcp Command Parameters ....................................................................... E-37
E–22 crsctl get clientid dhcp Command Parameters................................................................... E-38
E–23 crsctl getperm serverpool Command Parameters.............................................................. E-39
E–24 crsctl modify serverpool Command Parameters................................................................ E-41
E–25 crsctl query dns Command Parameters............................................................................... E-45
E–26 crsctl release dhcp Command Parameters .......................................................................... E-46
E–27 crsctl relocate resource Command Parameters .................................................................. E-47
E–28 crsctl relocate server Command Parameters....................................................................... E-48
E–29 crsctl replace discoverystring Command Parameters ....................................................... E-49
E–30 crsctl replace votedisk Command Parameters ................................................................... E-49
E–31 crsctl request dhcp Command Parameters ......................................................................... E-50
E–32 crsctl setperm serverpool Command Parameters .............................................................. E-52
E–33 crsctl start ip Command Parameters .................................................................................... E-54
E–34 crsctl start testdns Command Parameters........................................................................... E-55
E–35 crsctl status ip Command Parameters ................................................................................. E-55
E–36 crsctl status server Command Parameters .......................................................................... E-56
E–37 crsctl status serverpool Command Parameters .................................................................. E-57
E–38 crsctl status testdns Command Parameters ........................................................................ E-58
E–39 crsctl stop ip Command Parameters .................................................................................... E-60
E–40 crsctl stop testdns Command Parameters ........................................................................... E-60
E–41 Components for the CRS, CSS, and EVM Modules ........................................................... E-70
E–42 Cluster Synchronization Services (CSS) Modules and Functions.................................... E-70
E–43 Communication (COMM) Modules and Functions........................................................... E-71
E–44 Oracle Clusterware (CRS) Modules and Functions ........................................................... E-71
E–45 Oracle Cluster Registry (OCR) Component Names .......................................................... E-71
E–46 OCRCONFIG Modules and Functions ................................................................................ E-72
F–1 Deprecated CLSCRS APIs........................................................................................................ F-7
F–2 Summary of Interactive CLSCRS APIs for Oracle Clusterware......................................... F-8
F–3 Non-Interactive CLSCRS APIs................................................................................................ F-9
G–1 Common Oracle Cluster Registry Problems and Solutions.............................................. G-11
G–2 OCRDUMP Options and Option Descriptions................................................................... G-15
H–1 oclumon debug Command Parameters................................................................................. H-5
H–2 oclumon dumpnodeview Command Parameters................................................................ H-6
H–3 SYSTEM View Metric Descriptions........................................................................................ H-7
H–4 PROCESSES View Metric Descriptions ................................................................................. H-8
H–5 DEVICES View Metric Descriptions ...................................................................................... H-8
H–6 NICS View Metric Descriptions.............................................................................................. H-9
H–7 FILESYSTEMS View Metric Descriptions ............................................................................. H-9
H–8 PROTOCOL ERRORS View Metric Descriptions .............................................................. H-10
H–9 oclumon manage Command Parameters ............................................................................ H-12
xvi
H–10 Locations of Oracle Clusterware Component Log Files.................................................... H-13
H–11 tfactl print Command Parameters ........................................................................................ H-17
H–12 tfactl directory Command Parameters................................................................................. H-19
H–13 tfactl set Command Parameters............................................................................................ H-20
H–14 tfactl diagcollect Command Parameters.............................................................................. H-21
xvii
xviii
Preface
The Oracle Clusterware Administration and Deployment Guide describes the Oracle
Clusterware architecture and provides an overview of this product. This book also
describes administrative and deployment topics for Oracle Clusterware.
Information in this manual applies to Oracle Clusterware as it runs on all platforms
unless otherwise noted. In addition, the content of this manual supplements
administrative and deployment topics for Oracle single-instance databases that appear
in other Oracle documentation. Where necessary, this manual refers to
platform-specific documentation. This Preface contains these topics:
■ Audience
■ Documentation Accessibility
■ Related Documents
■ Conventions
Audience
The Oracle Clusterware Administration and Deployment Guide is intended for database
administrators, network administrators, and system administrators who perform the
following tasks:
■ Install and configure Oracle Real Application Clusters (Oracle RAC) databases
■ Administer and manage Oracle RAC databases
■ Manage and troubleshoot clusters and networks that use Oracle RAC
Documentation Accessibility
For information about Oracle's commitment to accessibility, visit the Oracle
Accessibility Program website at
http://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc
xix
Related Documents
For more information, see the Oracle resources listed in this section.
■ Platform-specific Oracle Clusterware and Oracle RAC installation guides
Each platform-specific Oracle Database 11g installation media contains a copy of
an Oracle Clusterware and Oracle RAC platform-specific installation and
configuration guide in HTML and PDF formats. These installation books contain
the preinstallation, installation, and postinstallation information for the various
UNIX, Linux, and Windows platforms on which Oracle Clusterware and Oracle
RAC operate.
■ Oracle Database 2 Day + Real Application Clusters Guide
This task-oriented guide helps you understand the basic steps required to install,
configure, and administer Oracle Clusterware and Oracle Real Application
Clusters on a two-node system using Oracle Linux 5.0.
■ Oracle Real Application Clusters Administration and Deployment Guide
This is an essential companion book that describes topics including instance
management, tuning, backup and recovery, and managing services.
■ Oracle Database 2 Day DBA
■ Oracle Database Administrator's Guide
■ Oracle Database Net Services Administrator's Guide
■ Oracle Database Platform Guide for Microsoft Windows
■ Oracle Database Administrator's Reference for Linux and UNIX-Based Operating
Systems
■ Oracle Database Error Messages
Conventions
The following text conventions are used in this document:
Convention Meaning
boldface Boldface type indicates graphical user interface elements associated
with an action, or terms defined in text or the glossary.
italic Italic type indicates book titles, emphasis, or placeholder variables for
which you supply particular values.
monospace Monospace type indicates commands within a paragraph, URLs, code
in examples, text that appears on the screen, or text that you enter.
xx
What’s New in Oracle Clusterware
Administration and Deployment?
This chapter lists new features in Oracle Clusterware for Oracle Database 11g release 2
(11.2) and 11g release 2 (11.2.0.1).
■ Oracle Real Application Clusters One Node (Oracle RAC One Node)
Oracle Real Application Clusters One Node (Oracle RAC One Node) provides
enhanced high availability for single-instance databases, protecting them from
xxi
both planned and unplanned downtime. Oracle RAC One Node provides the
following:
– Always-on single-instance database services
– Better consolidation for database servers
– Enhanced server virtualization
– Lower cost development and test platform for full Oracle RAC
In addition, Oracle RAC One Node facilitates the consolidation of database
storage, standardizes your database environment, and, when necessary, enables
you to upgrade to a full, multinode Oracle RAC database without downtime or
disruption.
Use online database relocation to migrate an Oracle RAC One Node database from
one node to another while maintaining service availability.
This feature includes enhancements to the Server Control Utility (SRVCTL) for
both Oracle RAC One Node and online database relocation.
See Also:
■ "Cluster Health Monitor" on page H-3 for more information
■ Oracle Database Quality of Service Management User's Guide for
more information about Oracle Database QoS Management
xxii
In previous releases, to make use of redundant networks for the interconnect,
bonding, trunking, teaming, or similar technology was required. Oracle Grid
Infrastructure and Oracle RAC can now make use of redundant network
interconnects, without the use of other network technology, to enhance optimal
communication in the cluster.
Redundant Interconnect Usage enables load-balancing and high availability across
multiple (up to four) private networks (also known as interconnects).
xxiii
See Also:
■ "Policy-Based Cluster and Capacity Management" on page 2-1 for
more information about servers and server pools
■ "Oracle Clusterware Resources and Agents" on page 6-1 for more
information about resources and resource types
■ Appendix F, "Oracle Clusterware C Application Program
Interfaces" for more information about APIs
■ Role-separated management
Role-separated management enables multiple applications and databases to share
the same cluster and hardware resources, but ensures that different administration
groups do not interfere with each other.
■ Oracle Cluster Registry and voting disks can be stored using Oracle Automatic
Storage Management
OCR and voting disks can be stored in Oracle Automatic Storage Management
(Oracle ASM). The Oracle ASM partnership and status table (PST) is replicated on
multiple disks and is extended to store OCR. Consequently, OCR can tolerate the
xxiv
loss of the same number of disks as are in the underlying disk group and be
relocated in response to disk failures.
Oracle ASM reserves several blocks at a fixed location on every Oracle ASM disk
for storing the voting disk. Should the disk holding the voting disk fail, Oracle
ASM selects another disk on which to store this data.
Storing OCR and the voting disk on Oracle ASM eliminates the need for
third-party cluster volume managers and eliminates the complexity of managing
disk partitions for OCR and voting disks in Oracle Clusterware installations.
xxv
installed, you can then upgrade the cluster by stopping the previous version of the
Oracle Clusterware software and starting the new version node by node (known
as a rolling upgrade).
See Also:
■ Appendix A, "Cluster Verification Utility Reference" for more
information about CVU commands
■ Oracle Grid Infrastructure Installation Guide for more information
about CVU checks done during installation
xxvi
In the past, adding or removing servers in a cluster required extensive manual
preparation. With this release, Grid Plug and Play reduces the costs of installing,
configuring, and managing server nodes by automating the following tasks:
– Adding an Oracle RAC database instance
– Negotiating appropriate network identities for itself
– Acquiring additional information it needs to operate from a configuration
profile
– Configuring or reconfiguring itself using profile data, making host names and
addresses resolvable on the network
Additionally, the number of steps necessary to add and remove nodes is reduced.
Oracle Enterprise Manager immediately reflects Grid Plug and Play-enabled
changes.
■ Oracle Enterprise Manager support for Oracle ACFS
This feature provides a comprehensive management solution that extends Oracle
ASM technology to support general purpose files not directly supported by ASM,
and in both single-instance Oracle Database and Oracle Clusterware
configurations. It also enhances existing Oracle Enterprise Manager support for
Oracle ASM, and adds new features to support the Oracle ASM Dynamic Volume
Manager (ADVM) and Oracle ASM Cluster File System technology (ACFS).
Oracle Automatic Storage Management Cluster File System (Oracle ACFS) is a
scalable file system and storage management design that extends Oracle ASM
technology. It supports all application data in both single host and cluster
configurations and leverages existing Oracle ASM functionality to achieve the
following:
– Dynamic file system resizing
– Maximized performance through Oracle ASM’s automatic distribution
– Balancing and striping of the file system across all available disks
– Storage reliability through Oracle ASM’s mirroring and parity protection
Oracle ACFS provides a multiplatform storage management solution to access
clusterwide, non-database customer files.
xxvii
■ Improvements to provisioning of Oracle Clusterware and Oracle RAC
This feature offers a simplified solution for provisioning Oracle RAC systems.
Oracle Enterprise Manager Database Control enables you to extend Oracle RAC
clusters by automating the provisioning tasks on the new nodes.
xxviii
1
1 Introduction to Oracle Clusterware
Figure 1–1 shows a configuration that uses Oracle Clusterware to extend the basic
single-instance Oracle Database architecture. In Figure 1–1, the cluster is running
Oracle Database and is actively servicing applications and users. Using Oracle
Clusterware, you can use the same high availability mechanisms to make your Oracle
database and your custom applications highly available.
Cluster
Node 1 Node 2 Node 3
hb
hb
Pool of Storage
Heartbeat hb
You can program Oracle Clusterware to manage the availability of user applications
and Oracle databases. In an Oracle RAC environment, Oracle Clusterware manages all
of the resources automatically. All of the applications and processes that Oracle
Clusterware manages are either cluster resources or local resources.
Oracle Clusterware is required for using Oracle RAC; it is the only clusterware that
you need for platforms on which Oracle RAC operates. Although Oracle RAC
continues to support many third-party clusterware products on specific platforms, you
must also install and use Oracle Clusterware. Note that the servers on which you want
to install and run Oracle Clusterware must use the same operating system.
Using Oracle Clusterware eliminates the need for proprietary vendor clusterware and
provides the benefit of using only Oracle software. Oracle provides an entire software
solution, including everything from disk management with Oracle Automatic Storage
Management (Oracle ASM) to data management with Oracle Database and Oracle
RAC. In addition, Oracle Database features, such as Oracle Services, provide advanced
functionality when used with the underlying Oracle Clusterware high availability
framework.
Oracle Clusterware has two stored components, besides the binaries: The voting disk
files, which record node membership information, and the Oracle Cluster Registry
(OCR), which records cluster configuration information. Voting disks and OCRs must
reside on shared storage available to all cluster member nodes.
A cluster consists of one or more servers. The hardware in a server in a cluster (or
cluster member or node) is similar to a standalone server. However, a server that is
part of a cluster, otherwise known as a node or a cluster member, requires a second
network. This second network is referred to as the interconnect. For this reason, cluster
member nodes require at least two network interface cards: one for a public network
and one for a private network. The interconnect network is a private network using a
switch (or multiple switches) that only the nodes in the cluster can access.1
1
Oracle Clusterware supports up to 100 nodes in a cluster on configurations running Oracle
Database 10g release 2 (10.2) and later releases.
Cluster size is determined by the requirements of the workload running on the cluster
and the number of nodes that you have configured in the cluster. If you are
implementing a cluster for high availability, then configure redundancy for all of the
components of the infrastructure as follows:
■ At least two network interfaces for the public network, bonded to provide one
address
■ At least two network interfaces for the private interconnect network
The cluster requires cluster-aware storage2 that is connected to each server in the
cluster. This may also be referred to as a multihost device. Oracle Clusterware
supports NFS, iSCSI, Direct Attached Storage (DAS), Storage Area Network (SAN)
storage, and Network Attached Storage (NAS).
To provide redundancy for storage, generally provide at least two connections from
each server to the cluster-aware storage. There may be more connections depending on
your I/O requirements. It is important to consider the I/O requirements of the entire
cluster when choosing your storage subsystem.
Most servers have at least one local disk that is internal to the server. Often, this disk is
used for the operating system binaries; you can also use this disk for the Oracle
software binaries. The benefit of each server having its own copy of the Oracle binaries
is that it increases high availability, so that corruption to a one binary does not affect
all of the nodes in the cluster simultaneously. It also allows rolling upgrades, which
reduce downtime.
When the operating system is installed and working, you can then install Oracle
Clusterware to create the cluster. Oracle Clusterware is installed independently of
Oracle Database. Once Oracle Clusterware is installed, you can then install Oracle
Database or Oracle RAC on any of the nodes in the cluster.
2
Cluster-aware storage may also be referred to as a multihost device.
redundancy, then Oracle recommends that you configure multiple locations for OCR
and voting disks. The voting disks and OCR are described as follows:
■ Voting Disks
Oracle Clusterware uses voting disk files to determine which nodes are members
of a cluster. You can configure voting disks on Oracle ASM, or you can configure
voting disks on shared storage.
If you configure voting disks on Oracle ASM, then you do not need to manually
configure the voting disks. Depending on the redundancy of your disk group, an
appropriate number of voting disks are created.
If you do not configure voting disks on Oracle ASM, then for high availability,
Oracle recommends that you have a minimum of three voting disks on physically
separate storage. This avoids having a single point of failure. If you configure a
single voting disk, then you must use external mirroring to provide redundancy.
You should have at least three voting disks, unless you have a storage device, such
as a disk array that provides external redundancy. Oracle recommends that you do
not use more than five voting disks. The maximum number of voting disks that is
supported is 15.
■ Oracle Cluster Registry
Oracle Clusterware uses the Oracle Cluster Registry (OCR) to store and manage
information about the components that Oracle Clusterware controls, such as
Oracle RAC databases, listeners, virtual IP addresses (VIPs), and services and any
applications. OCR stores configuration information in a series of key-value pairs in
a tree structure. To ensure cluster high availability, Oracle recommends that you
define multiple OCR locations. In addition:
– You can have up to five OCR locations
– Each OCR location must reside on shared storage that is accessible by all of the
nodes in the cluster
– You can replace a failed OCR location online if it is not the only OCR location
– You must update OCR through supported utilities such as Oracle Enterprise
Manager, the Oracle Clusterware Control Utility (CRSCTL), the Server Control
Utility (SRVCTL), the OCR configuration utility (OCRCONFIG), or the
Database Configuration Assistant (DBCA)
connect to the cluster and the databases. Activating GNS in a cluster requires a DHCP
service on the public network.
Implementing GNS
To implement GNS, you must collaborate with your network administrator to obtain
an IP address on the public network for the GNS VIP. DNS uses the GNS VIP to
forward requests for access to the cluster to GNS. You must also collaborate with your
DNS administrator to delegate a domain to the cluster. This can be a separate domain
or a subdomain of an existing domain. The DNS server must be configured to forward
all requests for this new domain to the GNS VIP. Since each cluster has its own GNS, it
must be allocated a unique domain of which to be in control.
GNS and the GNS VIP run on one node in the cluster. The GNS daemon listens on the
GNS VIP using port 53 for DNS requests. Oracle Clusterware manages the GNS and
the GNS VIP to ensure that they are always available. If the server on which GNS is
running fails, then Oracle Clusterware fails GNS over, along with the GNS VIP, to
another node in the cluster.
With DHCP on the network, Oracle Clusterware obtains an IP address from the DHCP
server along with other network information, such as what gateway to use, what DNS
servers to use, what domain to use, and what NTP server to use. Oracle Clusterware
initially obtains the necessary IP addresses during cluster configuration and it updates
the Oracle Clusterware resources with the correct information obtained from the
DHCP server, including the GNS.
See Also: Oracle Grid Infrastructure Installation Guide for details about
establishing resolution through DNS
You must assign a VIP address to each node in the cluster. Each VIP address must
be on the same subnet as the public IP address for the node and should be an
address that is assigned a name in the DNS. Each VIP address must also be
unused and unpingable from within the network before you install Oracle
Clusterware.
■ Up to three SCAN addresses for the entire cluster.
Note: The SCAN must resolve to at least one address on the public
network. For high availability and scalability, Oracle recommends that
you configure the SCAN to resolve to three addresses.
Table 1–1 List of Processes and Services Associated with Oracle Clusterware
Components
Oracle Clusterware Linux/UNIX Windows
Component Process Windows Services Processes
CRS crsd.bin (r) OracleOHService crsd.exe
CSS ocssd.bin, OracleOHService cssdagent.exe,
cssdmonitor, cssdmonitor.exe
cssdagent ocssd.exe
CTSS octssd.bin (r) octssd.exe
EVM evmd.bin, OracleOHService evmd.exe
evmlogger.bin
GIPC gipcd.bin
GNS gnsd (r) gnsd.exe
Grid Plug and Play gpnpd.bin OracleOHService gpnpd.exe
LOGGER ologgerd.bin (r) ologgerd.exe
Master Diskmon diskmon.bin
mDNS mdnsd.bin mDNSResponder.e
xe
Oracle agent oraagent.bin oraagent.exe
(11.2), or racgmain
and racgimon
(11.1)
Oracle High ohasd.bin (r) OracleOHService ohasd.exe
Availability Services
ONS ons ons.exe
Oracle root agent orarootagent (r) orarootagent.ex
e
SYSMON osysmond.bin (r) osysmond.exe
See Also: "Clusterware Log Files and the Unified Log Directory
Structure" on page H-13 for information about the location of log files
created for processes
Init OSYSMOND
ora.crf
CTSSD Listener
OHASD oraagent ora.LISTENER.lsnr
ora.ctssd
■ There can be multiple Oracle homes for the Oracle database (both single instance
and Oracle RAC) in the cluster. The Oracle homes for all nodes of an Oracle RAC
database must be the same.
■ You can use different users for the Oracle Clusterware and Oracle database homes
if they belong to the same primary group.
■ As of Oracle Clusterware 11g release 2 (11.2), there can only be one installation of
Oracle ASM running in a cluster. Oracle ASM is always the same version as Oracle
Clusterware, which must be the same (or higher) release than that of the Oracle
database.
■ For Oracle RAC running Oracle9i you must run an Oracle9i cluster. For UNIX
systems, that is HACMP, Serviceguard, Sun Cluster, or Veritas SF. For Windows
and Linux systems, that is the Oracle Cluster Manager. To install Oracle RAC 10g,
you must also install Oracle Clusterware.
■ You cannot install Oracle9i RAC on an Oracle Database 10g cluster. If you have an
Oracle9i RAC cluster, you can add Oracle RAC 10g to the cluster. However, when
you install Oracle Clusterware 10g, you can no longer install any new Oracle9i
RAC databases.
■ Oracle recommends that you do not run different cluster software on the same
servers unless they are certified to work together. However, if you are adding
Oracle RAC to servers that are part of a cluster, either migrate to Oracle
Clusterware or ensure that:
– The clusterware you run is supported to run with Oracle RAC 11g release 2
(11.2).
– You have installed the correct options for Oracle Clusterware and the other
vendor clusterware to work together.
Oracle RAC database environments. It also has GUI interfaces to manage Oracle
Clusterware and all components configured in the Oracle Grid Infrastructure
installation. Oracle recommends that you use Oracle Enterprise Manager to
perform administrative tasks.
■ Cluster Verification Utility (CVU): CVU is a command-line utility that you use to
verify a range of cluster and Oracle RAC specific components. Use CVU to verify
shared storage devices, networking configurations, system requirements, and
Oracle Clusterware, and operating system groups and users.
Install and use CVU for both preinstallation and postinstallation checks of your
cluster environment. CVU is especially useful during preinstallation and during
installation of Oracle Clusterware and Oracle RAC components to ensure that
your configuration meets the minimum installation requirements. Also use CVU
to verify your configuration after completing administrative tasks, such as node
additions and node deletions.
■ Server Control (SRVCTL): SRVCTL is a command-line interface that you can use
to manage Oracle resources, such as databases, services, or listeners in the cluster.
Note: You can only manage server pools that have names prefixed
with ora.* by using SRVCTL.
See Also:
■ Chapter 2, "Administering Oracle Clusterware" for more
information about using crsctl commands to manage Oracle
Clusterware
■ Appendix E, "CRSCTL Utility Reference" for a complete list of
CRSCTL commands
■ Cluster Health Monitor (CHM): CHM detects and analyzes operating system and
cluster resource-related degradation and failures to provide more details to users
for many Oracle Clusterware and Oracle RAC issues, such as node eviction. The
tool continuously tracks the operating system resource consumption at the node,
process, and device levels. It collects and analyzes the clusterwide data. In
real-time mode, when thresholds are met, the tool shows an alert to the user. For
root-cause analysis, historical data can be replayed to understand what was
happening at the time of failure.
See Also:
■ Chapter 5, "Cloning Oracle Clusterware" for step-by-step cloning
procedures
■ Oracle Enterprise Manager online Help system for more
information about the Provisioning Pack
■ Chapter 4, "Adding and Deleting Cluster Nodes"
You can define a VIP address for an application to enable users to access the
application independently of the node in the cluster on which the application is
running. This is referred to as the application VIP. You can define multiple application
VIPs, with generally one application VIP defined for each application running. The
application VIP is related to the application by making it dependent on the application
resource defined by Oracle Clusterware.
To maintain high availability, Oracle Clusterware components can respond to status
changes to restart applications and processes according to defined high availability
rules. You can use the Oracle Clusterware high availability framework by registering
your applications with Oracle Clusterware and configuring the clusterware to start,
stop, or relocate your application processes. That is, you can make custom applications
highly available by using Oracle Clusterware to create profiles that monitor, relocate,
and restart your applications.
This chapter describes how to administer Oracle Clusterware and includes the
following topics:
■ Policy-Based Cluster and Capacity Management
■ Role-Separated Management
■ Configuring Oracle Grid Infrastructure
■ Configuring IPMI for Failure Isolation
■ Cluster Time Management
■ Changing Network Addresses on Manually Configured Networks
Oracle Clusterware efficiently allocates different resources in the cluster. You need
only to provide the minimum and maximum number of nodes on which a resource
can run, combined with a level of importance for each resource that is running on
these nodes.
■ Are always exclusive, meaning that one server can only reside in one particular
server pool at a certain point in time
Server pools each have three attributes that they are assigned when they are created:
■ MIN_SIZE: The minimum number of servers the server pool should contain. If the
number of servers in a server pool is below the value of this attribute, then Oracle
Clusterware automatically moves servers from elsewhere into the server pool until
the number of servers reaches the attribute value.
■ MAX_SIZE: The maximum number of servers the server pool should contain.
■ IMPORTANCE: A number from 0 to 1000 (0 being least important) that ranks a
server pool among all other server pools in a cluster.
Table 2–2 lists and describes all server pool attributes.
You manage server pools that are managing Oracle RAC databases with the Server
Control (SRVCTL) utility. Use the Oracle Clusterware Control (CRSCTL) utility to
manage all other server pools. Only cluster administrators have permission to create
top-level server pools.
When Oracle Clusterware is installed, two server pools are created automatically:
Generic and Free. All servers in a new installation are assigned to the Free server pool,
initially. Servers move from Free to newly defined server pools automatically. When
you upgrade Oracle Clusterware from a previous release, all nodes are assigned to the
Generic server pool, to ensure compatibility with database releases before Oracle
Database 11g release 2 (11.2).
See Also:
■ "HOSTING_MEMBERS" on page B-6 for more information about
this attribute
■ "Resource Types" on page 6-3 for more information about resource
types
■ Servers with names you specified in the SERVER_NAMES attribute of the server
pools that list the Generic server pool as a parent server pool
The Generic server pool’s attributes are restricted, as follows:
■ No one can modify configuration attributes of the Generic server pool (all
attributes are read-only)
■ When you specify a server name in the HOSTING_MEMBERS resource attribute,
Oracle Clusterware only allows it if the server is:
– Online and exists in the Generic server pool
– Online and exists in the Free server pool, in which case Oracle Clusterware
moves the server into the Generic server pool
– Online and exists in any other server pool and the client is either a cluster
administrator or is allowed to use the server pool’s servers, in which case, the
server is moved into the Generic server pool
– Offline and the client is a cluster administrator
■ When you register a child server pool with the Generic server pool, Oracle
Clusterware only allows it if the server names pass the same requirements as
previously specified for the resources.
Servers are initially considered for assignment into the Generic server pool at
cluster startup time or when a server is added to the cluster, and only after that to
other server pools.
For example, assume that there are no servers in a cluster; all server pools are empty.
When a server, named server1, joins the cluster:
1. Server-to-pool assignment commences.
2. Oracle Clusterware only processes top-level server pools (those that have no
parent server pools), first. In this example, the top-level server pools are sp1, sp2,
and sp3.
3. Oracle Clusterware lists the server pools in order of IMPORTANCE, as follows: sp2,
sp3, sp1.
4. Oracle Clusterware assigns server1 to sp2 because sp2 has the highest
IMPORTANCE value and its MIN_SIZE value has not yet been met.
5. Oracle Clusterware processes the remaining two server pools, sp2_1 and sp2_2.
The sizes of both server pools are below the value of the MIN_SIZE attribute (both
server pools are empty and have MIN_SIZE values of 1).
6. Oracle Clusterware lists the two remaining pools in order of IMPORTANCE, as
follows: sp2_1, sp2_2.
7. Oracle Clusterware assigns server1 to sp2_1 but cannot assign server1 to
sp2_2 because sp2_1 is configured to be exclusive with sp2_2.
After processing, the cluster configuration appears, as follows
from other server pools to move into the deficient server pool that meet the following
criteria:
■ For server pools that have a lower IMPORTANCE value than the deficient server
pool, Oracle Clusterware can take servers from those server pools even if it means
that the number of servers falls below the value for the MIN_SIZE attribute.
■ For server pools with equal or greater IMPORTANCE, Oracle Clusterware only
takes servers from those server pools if the number of servers in a server pool is
greater than the value of its MIN_SIZE attribute.
Role-Separated Management
This section contains the following topics
■ About Role-Separated Management
■ Managing CRS Administrators in the Cluster
■ Configuring Horizontal Role Separation
See Also: Oracle Grid Infrastructure Installation Guide for Linux for
more information about using groups
The set of users that have the CRS Administrator role is managed by a list of named
CRS Administrators within Oracle Clusterware, as opposed to that set of users being
members of an operating system group. Sever pool creation enables the CRS
Administrator to divide the cluster into groups of servers used by different groups of
users in the organization (a horizontal implementation, as described in the preceding
section), thereby enabling role-separated management.
By default, after installing Oracle Grid Infrastructure for a cluster, or after an upgrade,
all users are CRS Administrators (as denoted by the asterisk (*) in the CRS
Administrators list), assuming all users sharing the same infrastructure are equally
privileged to manage the cluster. This default configuration allows any named
operating system user to create server pools within Oracle Clusterware.
Restricting CRS Administrator privileges to the Grid user and root can prevent
subsequently created policy-managed databases from being automatically created in
newly created server pools. If you enable role-separated management, then a CRS
Administrator must create the required server pools in advance.
The user (Grid user) that installed Oracle Clusterware in the Grid Infrastructure home
(Grid home) and the system superuser (root on Linux and UNIX, or Administrator
on Windows) are permanent CRS Administrators, and only these two users can add or
remove users from the CRS Administrators list, enabling role-separated management.
If the cluster is shared by various users, then the CRS Administrator can restrict access
to certain server pools and, consequently, to certain hardware resources to specific
users in the cluster. The permissions are stored for each server pool in the ACL
attribute, described in Table 2–2.
The default asterisk (*) value is replaced by the user or users you add using this
command.
■ To remove specific users from the group of CRS Administrators:
# crsctl delete crs administrator -u user_name
■ To make all users CRS Administrators, add the asterisk (*) value back to the list, as
follows:
# crsctl add crs administrator -u "*"
The asterisk (*) value must be enclosed in double quotation marks (""). This value
replaces any previously specified users in the CRS Administrators list.
Notes:
■ Before running the Configuration Wizard, ensure that the Grid
Infrastructure home is current, with all necessary patches applied.
■ To launch the Configuration Wizard in the following procedures:
On Linux and UNIX, run the following command:
Oracle_home/crs/config/config.sh
2. On the Select Installation Option page, select Configure Grid Infrastructure for a
Cluster.
3. On the Cluster Node Information page, select only the local node and
corresponding VIP name.
4. Continue adding your information on the remaining wizard pages.
5. Review your inputs on the Summary page and click Finish.
6. Run the root.sh script as instructed by the Configuration Wizard.
2. On the Select Installation Option page, select Configure Grid Infrastructure for a
Cluster.
3. On the Cluster Node Information page, select the nodes you want to configure and
their corresponding VIP names. The Configuration Wizard validates the nodes
you select to ensure that they are ready.
4. Continue adding your information on the remaining wizard pages.
5. Review your inputs on the Summary page and click Finish.
6. Run the root.sh script as instructed by the Configuration Wizard.
1. Start Oracle Clusterware, which allows it to obtain the current IP address from
IPMI. This confirms the ability of the clusterware to communicate with IPMI,
which is necessary at startup.
If Oracle Clusterware was running before IPMI was configured, you can shut
Oracle Clusterware down and restart it. Alternatively, you can use the IPMI
management utility to obtain the IPMI IP address and then use CRSCTL to store
the IP address in OLR by running a command similar to the following:
crsctl set css ipmiaddr 192.168.10.45
2. Use CRSCTL to store the previously established user ID and password for the
resident IPMI in OLR by running the crsctl set css ipmiadmin command,
and supplying password at the prompt. For example:
crsctl set css ipmiadmin administrator_name
IPMI BMC password: password
This command validates the supplied credentials and fails if another cluster node
cannot access the local IPMI using them.
After you complete hardware and operating system configuration, and register the
IPMI administrator on Oracle Clusterware, IPMI-based failure isolation should be
fully functional.
This command stores the new IPMI IP address of the local IPMI in OLR, After
storing the IP address, Oracle Clusterware can retrieve the new configuration and
distribute it as required.
3. Enter the crsctl get css ipmiaddr command. For example:
This command retrieves the IP address for the local IPMI from OLR and displays it
on the console.
4. Remove the IPMI configuration information for the local IPMI from OLR and
delete the registry entry, as follows:
crsctl unset css ipmiconfig
2. Disable IPMI-over-LAN for the local IPMI using either ipmitool or ipmiutil,
to prevent access over the LAN or change the IPMI administrator user ID and
password.
3. Ensure that Oracle Clusterware is running and then use CRSCTL to remove the
IPMI configuration data from OLR by running the following command:
crsctl unset css ipmiconfig
limit, then CTSS performs step time synchronization, which is to step the time of the
nodes joining the cluster to synchronize them with the reference.
When Oracle Clusterware starts, if CTSS is running in active mode and the time
discrepancy is outside the stepping limit (the limit is 24 hours), then CTSS generates
an alert in the alert log, exits, and Oracle Clusterware startup fails. You must manually
adjust the time of the nodes joining the cluster to synchronize with the cluster, after
which Oracle Clusterware can start and CTSS can manage the time for the nodes.
Clocks on the nodes in the cluster become desynchronized with the reference clock (a
time CTSS uses as a basis and is on the first node started in the cluster) periodically for
various reasons. When this happens, CTSS performs slew time synchronization, which is
to speed up or slow down the system time on the nodes until they are synchronized
with the reference system time. In this time synchronization method, CTSS does not
adjust time backward, which guarantees monotonic increase of the system time.
When performing slew time synchronization, CTSS never runs time backward to
synchronize with the reference clock. CTSS periodically writes alerts to the alert log
containing information about how often it adjusts time on nodes to keep them
synchronized with the reference clock.
To activate CTSS in your cluster, you must stop and deconfigure the vendor time
synchronization service on all nodes in the cluster. CTSS detects when this happens
and assumes time management for the cluster.
For example, to deconfigure NTP, you must remove or rename the ntp.conf file.
Note: In Windows, CTSS does not check whether the ntp.conf file
exists, rather, it only detects whether there is a time synchronization
service.
Similarly, if you want to deactivate CTSS in your cluster, then do the following:
1. Configure the vendor time synchronization service on all nodes in the cluster.
CTSS detects this change and reverts back to observer mode.
2. Use the crsctl check ctss command to ensure that CTSS is operating in
observer mode.
3. Start the vendor time synchronization service on all nodes in the cluster.
4. Use the cluvfy comp clocksync -n all command to verify that the vendor
time synchronization service is operating.
addresses. Oracle recommends that you configure clients to use SCANs, but it is not
required that you use SCANs. When an earlier version of Oracle Database is
upgraded, it is registered with the SCAN, and clients can start using the SCAN to
connect to that database, or continue to use VIP addresses for connections.
If you continue to use VIP addresses for client connections, you can modify the VIP
address while Oracle Database and Oracle ASM continue to run. However, you must
stop services while you modify the address. When you restart the VIP address,
services are also restarted on the node.
This procedure cannot be used to change a static public subnet to use DHCP. Only the
srvctl add network -S command creates a DHCP network.
This example specifies the database name (grid) using the -d option and specifies
the services (sales,oltp) on the appropriate node (mynode).
$ srvctl stop service -d grid -s sales,oltp -n mynode
2. Confirm the current IP address for the VIP address by running the srvctl
config vip command. This command displays the current VIP address bound
to one of the network interfaces. The following example displays the configured
VIP address:
$ srvctl config vip -n stbdp03
VIP exists.:stbdp03
VIP exists.: /stbdp03-vip/192.168.2.20/255.255.255.0/eth0
3. Stop the VIP resource using the srvctl stop vip command:
$ srvctl stop vip -n mynode
4. Verify that the VIP resource is no longer running by running the ifconfig -a
command on Linux and UNIX systems (or issue the ipconfig /all command
on Windows systems), and confirm that the interface (in the example it was
eth0:1) is no longer listed in the output.
5. Make any changes necessary to the /etc/hosts files on all nodes on Linux and
UNIX systems, or the %windir%\system32\drivers\etc\hosts file on
Windows systems, and make any necessary DNS changes to associate the new IP
address with the old host name.
6. To use a different subnet or NIC for the default network before you change any
VIP resource, you must use the srvctl modify network -S
subnet/netmask/interface command as root to change the network
resource, where subnet is the new subnet address, netmask is the new netmask,
and interface is the new interface. After you change the subnet, then you must
change each node's VIP to an IP address on the new subnet, as described in the
next step.
7. Modify the node applications and provide the new VIP address using the
following srvctl modify nodeapps syntax:
$ srvctl modify nodeapps -n node_name -A new_vip_address
The following command example starts the VIP on the node named mynode:
$ srvctl start vip -n mynode
Table 2–5 Storage for the Network Interface, Private IP Address, and Private Host Name
Entity Stored In... Comments
Network interface Operating system You can use wildcards when specifying
name network interface names.
For example: eth1
For example: eth*
Private network Oracle Clusterware, in Configure an interface for use as a private
Interfaces the Grid Plug and Play interface during installation by marking the
(GPnP) Profile interface as Private, or use the oifcfg
setif command to designate an interface as
a private interface.
See Also: "OIFCFG Commands" on page D-3
for more information about the oifcfg
setif command
1. Ensure that Oracle Clusterware is running on all of the cluster nodes by running
the following command:
$ olsnodes -s
The command returns output similar to the following, showing that Oracle
Clusterware is running on all of the nodes in the cluster:
./olsnodes -s
myclustera Active
myclusterc Active
myclusterb Active
3. Add the new interface to the cluster as follows, providing the name of the new
interface and the subnet address, using the following command:
$ oifcfg setif -global if_name/subnet:cluster_interconnect
You can use wildcards with the interface name. For example, oifcfg setif
-global "eth*/192.168.0.0:cluster_interconnect is valid syntax.
However, be careful to avoid ambiguity with other addresses or masks used with
other cluster interfaces. If you use wildcards, then the command returns a warning
similar to the following:
eth*/192.168.0.0 global cluster_interconnect
PRIF-29: Warning: wildcard in network parameters can cause mismatch
among GPnP profile, OCR, and system
4. After the previous step completes, you can remove the former subnet, as follows,
by providing the name and subnet address of the former interface:
oifcfg delif -global if_name/subnet
For example:
$ oifcfg delif -global eth1/10.10.0.0
For example:
$ oifcfg getif
eth2 10.220.52.0 global cluster_interconnect
eth0 10.220.16.0 global public
6. Stop Oracle Clusterware on all nodes by running the following command as root
on each node:
# crsctl stop crs
7. When Oracle Clusterware stops, deconfigure the deleted network interface in the
operating system using the ifconfig command. For example:
$ ifconfig down
At this point, the IP address from network interfaces for the former subnet is
deconfigured from Oracle Clusterware. This command does not affect the
configuration of the IP address on the operating system.
You must update the operating system configuration changes, because changes
made using ifconfig are not persistent.
Note: If you use CRSCTL to add a new voting disk to a raw device
after installation, then the file permissions of the new voting disk on
remote nodes may be incorrect. On each remote node, check to ensure
that the file permissions for the voting disk are correct (owned by the
Grid Infrastructure installation owner and by members of the
OINSTALL group). If the permissions are incorrect, then change them
manually.
For example:
grid@myserver>$ ls -l /dev/rhdisk18
crwxrwxrwx 1 root oinstall 36, 02 Feb 10 20:28 /dev/rhdisk18
$ su root
root@myserver> # chown grid:oinstall /dev/rhdisk18
# exit
$ ls -l /dev/rhdisk18
crwxrwxrwx 1001 grid oinstall 36, 19 Sep 09 20:29 /dev/rhdisk18
2. Use the Oracle ASM Configuration Assistant (ASMCA) to configure and start
Oracle ASM on all nodes in the cluster.
3. Use ASMCA to create an Oracle ASM disk group that is at least the same size of
the existing OCR and has at least normal redundancy.
Notes:
■ If OCR is stored in an Oracle ASM disk group with external
redundancy, then Oracle recommends that you add another OCR
location to another disk group to avoid the loss of OCR, if a disk
fails in the disk group.
Oracle does not support storing OCR on different storage types
simultaneously, such as storing OCR on both Oracle ASM and a
shared file system, except during a migration.
■ If an Oracle ASM instance fails on any node, then OCR becomes
unavailable on that particular node.
If the crsd process running on the node affected by the Oracle
ASM instance failure is the OCR writer, the majority of the OCR
locations are stored in Oracle ASM, and you attempt I/O on OCR
during the time the Oracle ASM instance is down on this node,
then crsd stops and becomes inoperable. Cluster management is
now affected on this particular node.
Under no circumstances will the failure of one Oracle ASM
instance on one node affect the whole cluster.
■ Ensure that Oracle ASM disk groups that you create are mounted
on all of the nodes in the cluster.
4. To add OCR to an Oracle ASM disk group, ensure that the Oracle Clusterware
stack is running and run the following command as root:
# ocrconfig -add +new_disk_group
You can run this command more than once if you add multiple OCR locations.
You can have up to five OCR locations. However, each successive run must point
to a different disk group.
5. To remove storage configurations no longer in use, run the following command as
root:
# ocrconfig -delete old_storage_location
Note: OCR inherits the redundancy of the disk group. If you want
high redundancy for OCR, you must configure the disk group with
high redundancy when you create it.
Migrating Oracle Cluster Registry from Oracle ASM to Other Types of Storage
To migrate OCR from Oracle ASM to another storage type:
1. Ensure the upgrade to Oracle Clusterware 11g release 2 (11.2) is complete. Run the
following command to verify the current running version:
$ crsctl query crs activeversion
2. Create a file in a shared or cluster file system with the following permissions:
root, oinstall, 640.
You can run this command more than once if you add more than one OCR
location. Each successive run of this command must point to a different file
location.
6. To remove storage configurations no longer in use, run the following command as
root:
# ocrconfig -delete +asm_disk_group
You can run this command more than once if there is more than one OCR location
configured.
The following example shows how to migrate OCR from Oracle ASM to block devices
using OCRCONFIG. For OCRs not stored on Oracle ASM, Oracle recommends that
you mirror OCR on different devices.
# ocrconfig -add /dev/sdd1
# ocrconfig -add /dev/sde1
# ocrconfig -add /dev/sdf1
# ocrconfig -delete +unused_disk_group
Notes:
■ If the original OCR location does not exist, then you must create
an empty (0 byte) OCR location with appropriate permissions
before you run the ocrconfig -add or ocrconfig -replace
commands.
■ Ensure that the OCR devices that you specify in the OCR
configuration exist and that these OCR devices are valid.
■ Ensure that the Oracle ASM disk group that you specify exists and
is mounted.
■ The new OCR file, device, or disk group must be accessible from
all of the active nodes in the cluster.
See Also:
■ Oracle Grid Infrastructure Installation Guide for information about
creating OCRs
■ Oracle Automatic Storage Management Administrator's Guide for
more information about Oracle ASM disk group management
As the root user, run the following command to add an OCR location to either Oracle
ASM or other storage device:
# ocrconfig -add +asm_disk_group | file_name
2. Run the following command on any node in the cluster to remove an OCR
location from either Oracle ASM or other location:
# ocrconfig -delete +ASM_disk_group | file_name
The file_name variable can be a device name or a file name. This command
updates the OCR configuration on all of the nodes on which Oracle Clusterware is
running.
OCRCHECK displays all OCR locations that are registered and whether they are
available (online). If an OCR location suddenly becomes unavailable, then it might
take a short period for Oracle Clusterware to show the change in status.
Note: The OCR location that you are replacing can be either online or
offline.
2. Use the following command to verify that Oracle Clusterware is running on the
node on which the you are going to perform the replace operation:
$ crsctl check crs
3. Run the following command as root to replace the current OCR location using
either destination_file or +ASM_disk_group to indicate the current and
target OCR locations:
# ocrconfig -replace current_OCR_location -replacement new_OCR_location
The preceding command fails if you have less than two configured OCR locations
that are online.
If you have only one OCR location configured and online, then you must first add
a new location and then delete the failed location, as follows:
# ocrconfig -add new_OCR_location
# ocrconfig -delete current_OCR_location
update the OCR configuration on the stopped node to let that node rejoin the cluster
after the node is restarted. Use the following command syntax as root on the
restarted node where you use either a destination_file or +ASM_disk_group to
indicate the current and target OCR locations:
ocrconfig -repair -replace current_OCR_location -replacement target_OCR_location
This operation only changes OCR on the node on which you run this command. For
example, if the OCR location is /dev/sde1, then use the command syntax
ocrconfig -repair -add /dev/sde1 on this node to repair OCR on that node.
Notes:
■ You cannot repair the OCR configuration on a node on which the
Oracle Cluster Ready Services daemon is running.
■ When you repair OCR on a stopped node using ocrconfig
-repair, you must provide the same OCR file name (which
should be case-sensitive) as the OCR file names on other nodes.
■ If you run the ocrconfig -add | -repair | -replace
command, then the device, file, or Oracle ASM disk group that
you are adding must be accessible. This means that a device must
exist. You must create an empty (0 byte) OCR location, or the
Oracle ASM disk group must exist and be mounted.
See Also:
■ "OCRCONFIG Command Reference" on page G-3 for more
information about OCRCONFIG commands
■ Oracle Automatic Storage Management Administrator's Guide for
more information about Oracle ASM disk group management
Perform the following procedure to overwrite OCR if a node cannot start and if the
alert log contains CLSD-1009 and CLSD-1011 messages.
1. Attempt to resolve the cause of the CLSD-1009 and CLSD-1011 messages.
Compare the node's OCR configuration (ocr.loc on Linux and UNIX systems
and the Registry on Windows systems) with other nodes on which Oracle
Clusterware is running.
■ If the configurations do not match, run ocrconfig -repair.
■ If the configurations match, ensure that the node can access all of the
configured OCRs by running an ls command on Linux and UNIX systems.
On Windows, use a dir command if the OCR location is a file and run
GuiOracleObjectManager.exe to verify that the part of the cluster with
the name exists.
2. Ensure that the most recent OCR contains the latest OCR updates.
Look at output from the ocrdump command and determine whether it has your
latest updates.
3. If you cannot resolve the problem that caused the CLSD message, then run the
command ocrconfig -overwrite to start the node.
You can use any backup software to copy the automatically generated backup files at
least once daily to a different device from where the primary OCR resides.
The default location for generating backups on Linux or UNIX systems is Grid_
home/cdata/cluster_name, where cluster_name is the name of your cluster.
The Windows default location for generating backups uses the same path structure.
Because the default backup is on a local file system, Oracle recommends that you
include the backup file created with the OCRCONFIG utility as part of your operating
system backup using standard operating system or third-party tools.
Tip: You can use the ocrconfig -backuploc option to change the
location where OCR creates backups. Appendix G, "Oracle Cluster
Registry Utility Reference" describes the OCRCONFIG utility options.
Note: On Linux and UNIX systems, you must be root user to run
most but not all of the ocrconfig command options. On Windows
systems, the user must be a member of the Administrator's group.
See Also:
■ "Administering Oracle Cluster Registry with Oracle Cluster
Registry Export and Import Commands" on page 3-16 to use
manually created OCR export files to copy OCR content and use it
for recovery
■ "OCRCONFIG Command Reference" on page G-3 for more
information about OCRCONFIG commands
Notes:
■ You cannot restore your configuration from an OCR backup file
using the -import option, which is explained in
"Administering Oracle Cluster Registry with Oracle Cluster
Registry Export and Import Commands" on page 3-16. You
must instead use the -restore option, as described in the
following sections.
■ If you store OCR on an Oracle ASM disk group and the disk
group is not available, then you must recover and mount the
Oracle ASM disk group.
Note: If the original OCR location does not exist, then you must
create an empty (0 byte) OCR location with the same name as the
original OCR location before you run the ocrconfig -restore
command.
2. Stop Oracle Clusterware by running the following command as root on all of the
nodes:
# crsctl stop crs
If the preceding command returns any error due to OCR corruption, stop Oracle
Clusterware by running the following command as root on all of the nodes:
# crsctl stop crs -f
3. If you are restoring OCR to a cluster file system or network file system, then run
the following command as root to restore OCR with an OCR backup that you can
identify in "Listing Backup Files" on page 3-11:
The -nocrs option ensures that the crsd process and OCR do not start with the
rest of the Oracle Clusterware stack.
Ignore any errors that display.
Check whether crsd is running. If it is, then stop it by running the following
command as root:
# crsctl stop resource ora.crsd -init
Caution: Do not use the -init flag with any other command.
5. If you want to restore OCR to an Oracle ASM disk group, then you must first
create a disk group using SQL*Plus that has the same name as the disk group you
want to restore and mount it on the local node.
If you cannot mount the disk group locally, then run the following SQL*Plus
command:
SQL> drop diskgroup disk_group_name force including contents;
Optionally, if you want to restore OCR to a raw device, then you must run the
ocrconfig -repair -replace command as root, assuming that you have all
the necessary permissions on all nodes to do so and that OCR was not previously
on Oracle ASM.
6. Restore OCR with an OCR backup that you can identify in "Listing Backup Files"
on page 3-11 by running the following command as root:
# ocrconfig -restore file_name
Notes:
■ Ensure that the OCR devices that you specify in the OCR
configuration exist and that these OCR devices are valid.
■ If you configured OCR in an Oracle ASM disk group, then ensure
that the Oracle ASM disk group exists and is mounted.
See Also:
■ Oracle Grid Infrastructure Installation Guide for information about
creating OCRs
■ Oracle Automatic Storage Management Administrator's Guide for
more information about Oracle ASM disk group management
9. Run the ocrconfig -repair -replace command as root on all the nodes in
the cluster where you did not the ocrconfig -restore command. For example,
if you ran the ocrconfig -restore command on node 1 of a four-node cluster,
then you must run the ocrconfig -repair -replace command on nodes 2,
3, and 4.
10. Begin to start Oracle Clusterware by running the following command as root on
all of the nodes:
# crsctl start crs
11. Verify OCR integrity of all of the cluster nodes that are configured as part of your
cluster by running the following CVU command:
$ cluvfy comp ocr -n all -verbose
Note: If the original OCR location does not exist, then you must
create an empty (0 byte) OCR location with the same name as the
original OCR location before you run the ocrconfig -restore
command.
If the preceding command returns any error due to OCR corruption, stop Oracle
Clusterware by running the following command as a member of the
Administrators group on all of the nodes:
C:\>crsctl stop crs -f
3. Start the Oracle Clusterware stack on one node in exclusive mode by running the
following command as a member of the Administrators group:
C:\>crsctl start crs -excl -nocrs
The -nocrs option ensures that the crsd process and OCR do not start with the
rest of the Oracle Clusterware stack.
Ignore any errors that display.
4. Restore OCR with the OCR backup file that you identified in "Listing Backup
Files" on page 3-11 by running the following command as a member of the
Administrators group:
C:\>ocrconfig -restore file_name
Make sure that the OCR devices that you specify in the OCR configuration exist
and that these OCR devices are valid.
Notes:
■ Ensure that the OCR devices that you specify in the OCR
configuration exist and that these OCR devices are valid.
■ Ensure that the Oracle ASM disk group you specify exists and is
mounted.
See Also:
■ Oracle Grid Infrastructure Installation Guide for information about
creating OCRs
■ Oracle Automatic Storage Management Administrator's Guide for
more information about Oracle ASM disk group management
8. Run the following Cluster Verification Utility (CVU) command to verify OCR
integrity of all of the nodes in your cluster database:
C:\>cluvfy comp ocr -n all -verbose
Notes:
■ OCR is present for backward compatibility.
■ Once an OCR location is created, it does not get updated in the
Oracle Restart environment.
■ If the Oracle Restart home has been backed up, and if there is a
failure, then restoring the Oracle Restart home restores OCR.
2. Run the ocrcheck -config command to determine the OCR location and then
create an empty (0 byte) OCR location with appropriate permissions in that
location.
3. Restore OCR by running the following command as root:
# crsctl pin css -n host_name
Notes: Ensure that the OCR devices that you specify in the OCR
configuration exist and that these OCR devices are valid.
See Also:
■ "OCRDUMP Utility Syntax and Options" on page G-15 for more
information about the OCRDUMP utility
■ "Using the OCRCHECK Utility" on page G-12 for more
information about the OCRCHECK utility
Administering Oracle Cluster Registry with Oracle Cluster Registry Export and Import
Commands
In addition to using the automatically created OCR backup files, you should also
export OCR contents before and after making significant configuration changes, such
Using the ocrconfig -export command also enables you to restore OCR using the
-import option if your configuration changes cause errors. For example, if you have
configuration problems that you cannot resolve, or if you are unable to restart Oracle
Clusterware after such changes, then restore your configuration using the procedure
for your platform.
Oracle recommends that you use either automatic or manual backups, and the
ocrconfig -restore command instead of the ocrconfig -export and
ocrconfig -import commands to restore OCR for the following reasons:
■ A backup is a consistent snapshot of OCR, whereas an export is not.
■ Backups are created when the system is online. You must shut down Oracle
Clusterware on all nodes in the cluster to get a consistent snapshot using the
ocrconfig -export command.
■ You can inspect a backup using the OCRDUMP utility. You cannot inspect the
contents of an export.
■ You can list backups with the ocrconfig -showbackup command, whereas you
must keep track of all generated exports.
This section includes the following topics:
■ Importing Oracle Cluster Registry Content on Linux or UNIX Systems
■ Importing Oracle Cluster Registry Content on Windows Systems
Note: Most configuration changes that you make not only change
OCR contents, the configuration changes also cause file and database
object creation. Some of these changes are often not restored when you
restore OCR. Do not restore OCR as a correction to revert to previous
configurations, if some of these configuration changes should fail.
This may result in an OCR location that has contents that do not
match the state of the rest of your system.
2. Stop Oracle Clusterware by running the following command as root on all of the
nodes:
# crsctl stop crs
If the preceding command returns any error due to OCR corruption, stop Oracle
Clusterware by running the following command as root on all of the nodes:
# crsctl stop crs -f
3. Start the Oracle Clusterware stack on one node in exclusive mode by running the
following command as root:
# crsctl start crs -excl
Caution: Do not use the -init flag with any other command.
If you are importing OCR to a cluster or network file system, then skip to step 7.
Notes:
■ If the original OCR location does not exist, then you must create
an empty (0 byte) OCR location before you run the ocrconfig
-import command.
■ Ensure that the OCR devices that you specify in the OCR
configuration exist and that these OCR devices are valid.
■ If you configured OCR in an Oracle ASM disk group, then ensure
that the Oracle ASM disk group exists and is mounted.
See Also:
■ Oracle Grid Infrastructure Installation Guide for information about
creating OCRs
■ Oracle Automatic Storage Management Administrator's Guide for
more information about Oracle ASM disk group management
8. Verify OCR integrity of all of the cluster nodes that are configured as part of your
cluster by running the following CVU command:
$ cluvfy comp ocr -n all -verbose
Note: You can only import an exported OCR. To restore OCR from
a backup, you must instead use the -restore option, as described
in "Backing Up Oracle Cluster Registry" on page 3-10.
If the preceding command returns any error due to OCR corruption, stop Oracle
Clusterware by running the following command as a member of the
Administrators group on all of the nodes:
C:\>crsctl stop crs -f
3. Start the Oracle Clusterware stack on one node in exclusive mode by running the
following command as a member of the Administrators group:
C:\>crsctl start crs -excl
Make sure that the OCR devices that you specify in the OCR configuration exist
and that these OCR devices are valid.
Notes:
■ If the original OCR location does not exist, then you must create
an empty (0 byte) OCR location before you run the ocrconfig
-import command.
■ Ensure that the OCR devices that you specify in the OCR
configuration exist and that these OCR devices are valid.
■ Ensure that the Oracle ASM disk group you specify exists and is
mounted.
See Also:
■ Oracle Grid Infrastructure Installation Guide for information about
creating OCRs
■ Oracle Automatic Storage Management Administrator's Guide for
more information about Oracle ASM disk group management
8. Run the following Cluster Verification Utility (CVU) command to verify OCR
integrity of all of the nodes in your cluster database:
C:\>cluvfy comp ocr -n all -verbose
■ You can display the content of OLR on the local node to the text terminal that
initiated the program using the OCRDUMP utility, as follows:
# ocrdump -local -stdout
■ You can perform administrative tasks on OLR on the local node using the
OCRCONFIG utility.
– To export OLR to a file:
# ocrconfig –local –export file_name
Notes:
■ Oracle recommends that you use the -manualbackup and
-restore commands and not the -import and -export
commands.
■ When exporting OLR, Oracle recommends including "olr", the
host name, and the timestamp in the name string. For example:
olr_myhost1_20090603_0130_export
– To restore OLR:
# crsctl stop crs
# ocrconfig -local -restore file_name
# ocrcheck -local
# crsctl start crs
$ cluvfy comp olr
Notes:
■ Voting disk management requires a valid and working OCR.
Before you add, delete, replace, or restore voting disks, run the
ocrcheck command as root. If OCR is not available or it is
corrupt, then you must restore OCR as described in "Restoring
Oracle Cluster Registry" on page 3-11.
■ If you upgrade from a previous version of Oracle Clusterware to
Oracle Clusterware 11g release 2 (11.2) and you want to store
voting disks in an Oracle ASM disk group, then you must set the
ASM Compatibility (COMPATIBLE.ASM) compatibility attribute
to 11.2.0.0.
A normal redundancy disk group must contain at least two failure groups but if you
are storing your voting disks on Oracle ASM, then a normal redundancy disk group
must contain at least three failure groups. A high redundancy disk group must contain
at least three failure groups. However, Oracle recommends using several failure
groups. A small number of failure groups, or failure groups of uneven capacity, can
create allocation problems that prevent full use of all of the available storage.
You must specify enough failure groups in each disk group to support the redundancy
type for that disk group.
Using the crsctl replace votedisk command, you can move a given set of
voting disks from one Oracle ASM disk group into another, or onto a certified file
system. If you move voting disks from one Oracle ASM disk group to another, then
you can change the number of voting disks by placing them in a disk group of a
different redundancy level as the former disk group.
Notes:
■ You cannot directly influence the number of voting disks in one
disk group.
■ You cannot use the crsctl add | delete votedisk
commands on voting disks stored in Oracle ASM disk groups
because Oracle ASM manages the number of voting disks
according to the redundancy level of the disk group.
■ You cannot add a voting disk to a cluster file system if the voting
disks are stored in an Oracle ASM disk group. Oracle does not
support having voting disks in Oracle ASM and directly on a
cluster file system for the same cluster at the same time.
See Also:
■ Oracle Automatic Storage Management Administrator's Guide for
more information about disk group redundancy and quorum
failure groups
■ "Adding, Deleting, or Migrating Voting Disks" on page 3-25 for
information about migrating voting disks
2. Run the following command as root from only one node to start the Oracle
Clusterware stack in exclusive mode, which does not require voting files to be
present or usable:
# crsctl start crs -excl
3. Run the crsctl query css votedisk command to retrieve the list of voting
files currently defined, similar to the following:
$ crsctl query css votedisk
-- ----- ----------------- --------- ---------
## STATE File Universal Id File Name Disk group
1. ONLINE 7c54856e98474f61bf349401e7c9fb95 (/dev/sdb1) [DATA]
This list may be empty if all voting disks were corrupted, or may have entries that
are marked as status 3 or OFF.
4. Depending on where you store your voting files, do one of the following:
■ If the voting disks are stored in Oracle ASM, then run the following command
to migrate the voting disks to the Oracle ASM disk group you specify:
crsctl replace votedisk +asm_disk_group
The Oracle ASM disk group to which you migrate the voting files must exist
in Oracle ASM. You can use this command whether the voting disks were
stored in Oracle ASM or some other storage device.
■ If you did not store voting disks in Oracle ASM, then run the following
command using the File Universal Identifier (FUID) obtained in the previous
step:
$ crsctl delete css votedisk FUID
This command returns a disk sequence number, the status of the disk, the FUID,
the path of the disk, and the name of the Oracle ASM disk group on which the
disk is stored.
■ To migrate voting disks from Oracle ASM to an alternative storage device, specify
the path to the non-Oracle ASM storage device with which you want to replace the
Oracle ASM disk group using the following command:
$ crsctl replace votedisk path_to_voting_disk
This command returns a disk sequence number, the status of the disk, the FUID,
and the path of the disk and no name of an Oracle ASM disk group.
■ To add one or more voting disks, run the following command, replacing the
path_to_voting_disk variable with one or more space-delimited, complete
paths to the voting disks you want to add:
$ crsctl add css votedisk path_to_voting_disk [...]
■ To replace voting disk A with voting disk B, you must add voting disk B, and then
delete voting disk A. To add a new disk and remove the existing disk, run the
following command, replacing the path_to_voting_diskB variable with the
fully qualified path name of voting disk B:
$ crsctl add css votedisk path_to_voting_diskB -purge
Note: If the cluster is down and cannot restart due to lost voting
disks, then you must start CSS in exclusive mode by running the
following command, as root:
# crsctl start crs -excl
After you start CSS in exclusive mode, you can replace the voting
disk, as follows:
# crsctl replace votedisk path_to_voting_disk
This chapter describes how to add nodes to an existing cluster, and how to delete
nodes from clusters. This chapter provides procedures for these tasks for Linux, UNIX,
and Windows systems.
Notes:
■ Unless otherwise instructed, perform all add and delete node
steps as the user that installed Oracle Clusterware.
■ Oracle recommends that you use the cloning procedure described
in Chapter 5, "Cloning Oracle Clusterware" to create clusters.
patches, updates, and drivers. See your operating system vendor documentation
for details about this process.
Note: Perform this step only for Linux and UNIX systems.
As root, create the Oracle users and groups using the same user ID and group ID
as on the existing nodes.
4. Ensure that SSH is configured on the node.
5. Verify the hardware and operating system installations with the Cluster
Verification Utility (CVU).
After you configure the hardware and operating systems on the nodes you want to
add, you can run the following command to verify that the nodes you want to add
are reachable by other nodes in the cluster. You can also use this command to
verify user equivalence to all given nodes from the local node, node connectivity
among all of the given nodes, accessibility to shared storage from all of the given
nodes, and so on.
From the Grid_home/bin directory on an existing node, run the CVU command
to obtain a detailed comparison of the properties of the reference node with all of
the other nodes that are part of your current cluster environment. Replace ref_
node with the name of a node in your existing cluster against which you want
CVU to compare the nodes to be added. Specify a comma-delimited list of nodes
after the -n option. In the following example, orainventory_group is the name
of the Oracle Inventory group, and osdba_group is the name of the OSDBA
group:
$ cluvfy comp peer [-refnode ref_node] -n node_list
[-orainv orainventory_group] [-osdba osdba_group] [-verbose]
Note: For the reference node, select a cluster node against which you
want CVU to compare, for example, the nodes that you want to add
that you specify with the -n option.
After completing the procedures in this section, you are ready to add the nodes to the
cluster.
Note: Avoid changing host names after you complete the Oracle
Clusterware installation, including adding or deleting domain
qualifications. Nodes with changed host names must be deleted from
the cluster and added back with the new name.
You can specify the -fixup option and a directory into which CVU prints
instructions to fix the cluster or node if the verification fails.
3. To extend the Grid Infrastructure home to the node3, navigate to the Grid_
home/oui/bin directory on node1 and run the addNode.sh script as the user
that installed Oracle Clusterware using the following syntax, where node3 is the
name of the node that you are adding and node3-vip is the VIP name for the
node:
If you are using Grid Naming Service (GNS), run the following command:
$ ./addNode.sh "CLUSTER_NEW_NODES={node3}"
Alternatively, you can specify the entries shown in Example 4–1 in a response file,
where file_name is the name of the file, and run the addNode.sh script, as
follows:
$ ./addNode.sh -responseFile file_name
Example 4–1 Response File Entries for Adding Oracle Clusterware Home
RESPONSEFILE_VERSION=2.2.1.0.0
CLUSTER_NEW_NODES={node3}
CLUSTER_NEW_VIRTUAL_HOSTNAMES={node3-vip}
See Also: Oracle Universal Installer and OPatch User's Guide for
details about how to configure command-line response files
Notes:
■ If you are not using Oracle Grid Naming Service (GNS), then you
must add the name and IP address of node3 to DNS.
■ Command-line values always override response file values.
4. If you have an Oracle RAC or Oracle RAC One Node database configured on the
cluster and you have a local Oracle home, then do the following to extend the
Oracle database home to node3:
a. Navigate to the Oracle_home/oui/bin directory on node1 and run the
addNode.sh script as the user that installed Oracle RAC using the following
syntax:
$ ./addNode.sh "CLUSTER_NEW_NODES={node3}"
If you have a shared Oracle home that is shared using Oracle Automatic Storage
Management Cluster File System (Oracle ACFS), then do the following as the user
that installed Oracle RAC to extend the Oracle database home to node3:
a. Run the Grid_home/root.sh script on node3 as root, where Grid_home
is the Oracle Grid Infrastructure home.
b. Start the Oracle ACFS resource on the new node by running the following
command as root from the Grid_home/bin directory:
# srvctl start filesystem -d volume_device_name [-n node_name]
Note: .Make sure the Oracle ACFS resources, including Oracle ACFS
registry resource and Oracle ACFS file system resource where the
ORACLE_HOME is located, are online on the newly added node.
Note: Use the -noCopy option because the Oracle home on the
destination node is already fully populated with software.
If you have a shared Oracle home on a shared file system that is not Oracle ACFS,
then you must first create a mount point for the Oracle RAC database home on the
target node, mount and attach the Oracle RAC database home, and update the
Oracle Inventory, as follows:
a. Run the srvctl config db -d db_name command on an existing node in
the cluster to obtain the mount point information.
b. Run the following command as root on node3 to create the mount point:
# mkdir -p mount_point_path
c. Mount the file system that hosts the Oracle RAC database home.
d. Run the following command as the user that installed Oracle RAC from the
Oracle_home/oui/bin directory on the node you are adding to add the
Oracle RAC database home:
$ ./runInstaller -attachHome ORACLE_HOME="ORACLE_HOME" "CLUSTER
_NODES={node_list}" LOCAL_NODE="node_name"
e. Update the Oracle Inventory as the user that installed Oracle RAC, as follows:
$ ./runInstaller -updateNodeList ORACLE_HOME=mount_point_path "CLUSTER
_NODES={node_list}"
In the preceding command, node_list refers to a list of all nodes where the
Oracle RAC database home is installed, including the node you are adding.
5. Run the Grid_home/root.sh script on the node3 as root and run the
subsequent script, as instructed.
6. Run the following CVU command as the user that installed Oracle Clusterware to
check cluster integrity. This command verifies that any number of specified nodes
has been successfully added to the cluster at the network, shared storage, and
clusterware levels:
$ cluvfy stage -post nodeadd -n node3 [-verbose]
See Also:
■ Oracle Real Application Clusters Administration and Deployment
Guide for more information about using DBCA to add
administrator-managed Oracle RAC database instances
■ Oracle Real Application Clusters Administration and Deployment
Guide to add an Oracle RAC database instance to the target node if
you configured a policy-managed Oracle RAC database
Notes:
■ You can remove the Oracle RAC database instance from the node
before removing the node from the cluster but this step is not
required. If you do not remove the instance, then the instance is
still configured but never runs. Deleting a node from a cluster
does not remove a node's configuration information from the
cluster. The residual configuration information does not interfere
with the operation of the cluster.
See Also: Oracle Real Application Clusters Administration and
Deployment Guide for more information about deleting an Oracle
RAC database instance
■ If you run a dynamic Grid Plug and Play cluster using DHCP and
GNS, then you need only perform step 3 (remove VIP resource),
step 4 (delete node), and step 7 (update inventory on remaining
nodes).
Also, in a Grid Plug and Play cluster, if you have nodes that are
unpinned, Oracle Clusterware forgets about those nodes after a
time and there is no need for you to remove them.
■ If one creates node-specific configuration for a node (such as
disabling a service on a specific node, or adding the node to the
candidate list for a server pool) that node-specific configuration is
not removed when the node is deleted from the cluster. Such
node-specific configuration must be removed manually.
■ Voting disks are automatically backed up in OCR after any
changes you make to the cluster.
If the node is pinned, then run the crsctl unpin css command. Otherwise,
proceed to the next step.
3. Disable the Oracle Clusterware applications and daemons running on the node.
Run the rootcrs.pl script as root from the Grid_home/crs/install
directory on the node to be deleted, as follows:
Note: Before you run this command, you must stop the EMAGENT, as
follows:
$ emctl stop dbconsole
If you are deleting multiple nodes, then run the rootcrs.pl script on each node
that you are deleting.
If you are deleting all nodes from a cluster, then append the -lastnode option to
the preceding command to clear OCR and the voting disks, as follows:
# ./rootcrs.pl -deconfig -force -lastnode
Caution: Only use the -lastnode option if you are deleting all
cluster nodes because that option causes the rootcrs.pl script to
clear OCR and the voting disks of data.
4. From any node that you are not deleting, run the following command from the
Grid_home/bin directory as root to delete the node from the cluster:
# crsctl delete node -n node_to_be_deleted
5. On the node you want to delete, run the following command as the user that
installed Oracle Clusterware from the Grid_home/oui/bin directory where
node_to_be_deleted is the name of the node that you are deleting:
$ ./runInstaller -updateNodeList ORACLE_HOME=Grid_home "CLUSTER_NODES=
{node_to_be_deleted}" CRS=TRUE -silent -local
6. Depending on whether you have a shared or local Oracle home, complete one of
the following procedures as the user that installed Oracle Clusterware:
■ If you have a shared home, then run the following commands in the following
order on the node you want to delete.
Run the following command to deconfigure Oracle Clusterware:
$ Grid_home/perl/bin/perl Grid_home/crs/install/rootcrs.pl -deconfig
■ For a local home, deinstall the Oracle Clusterware home from the node that
you want to delete, as follows, by running the following command, where
Grid_home is the path defined for the Oracle Clusterware home:
$ Grid_home/deinstall/deinstall –local
Caution: If you do not specify the -local flag, then the command
removes the Grid Infrastructure home from every node in the cluster.
7. On any node other than the node you are deleting, run the following command
from the Grid_home/oui/bin directory where remaining_nodes_list is a
comma-delimited list of the nodes that are going to remain part of your cluster:
$ ./runInstaller -updateNodeList ORACLE_HOME=Grid_home "CLUSTER_NODES=
{remaining_nodes_list}" CRS=TRUE -silent
Notes:
■ You must run this command a second time where ORACLE_
HOME=ORACLE_HOME, and CRS=TRUE -silent is omitted from
the syntax, as follows:
$ ./runInstaller -updateNodeList ORACLE_HOME=ORACLE_HOME
"CLUSTER_NODES={remaining_nodes_list}"
8. Run the following CVU command to verify that the specified nodes have been
successfully deleted from the cluster:
$ cluvfy stage -post nodedel -n node_list [-verbose]
To add a node:
1. Verify the integrity of the cluster and node3:
C:\>cluvfy stage -pre nodeadd -n node3 [-fixup [-fixupdir fixup_dir]]
[-verbose]
You can specify the -fixup option and a directory into which CVU prints
instructions to fix the cluster or node if the verification fails.
2. On node1, go to the Grid_home\oui\bin directory and run the addNode.bat
script, as follows:
C:\>addNode.bat "CLUSTER_NEW_NODES={node3}"
"CLUSTER_NEW_VIRTUAL_HOSTNAMES={node3-vip}"
You can alternatively specify the entries shown in Example 4–2 in a response file
and run addNode.bat as follows:
C:\>addNode.bat -responseFile filename
See Also: Oracle Universal Installer and OPatch User's Guide for
details about how to configure command-line response files
4. Run the following command to verify the integrity of the Oracle Clusterware
components on all of the configured nodes, both the preexisting nodes and the
nodes that you have added:
C:\>cluvfy stage -post crsinst -n all [-verbose]
After you complete the procedure in this section for adding nodes, you can optionally
extend Oracle Database with Oracle Real Application Clusters (Oracle RAC)
components to the new nodes, making them members of an existing Oracle RAC
database.
Notes:
■ Oracle does not support using Oracle Enterprise Manager to
delete nodes on Windows systems.
■ Oracle recommends that you back up your voting disk and OCRs
after you complete any node addition or deletion procedures.
■ You can remove the Oracle RAC database instance from the node
before removing the node from the cluster but this step is not
required. If you do not remove the instance, then the instance is
still configured but never runs. Deleting a node from a cluster
does not remove a node's configuration information from the
cluster. The residual configuration information does not interfere
with the operation of the cluster.
See Also: Oracle Real Application Clusters Administration and
Deployment Guide for more information about deleting an Oracle
RAC database instance
If you are deleting multiple nodes, then run this script on each node that you are
deleting.
2. On a node that you are not deleting, run the following command:
C:\>Grid_home\bin\crsctl delete node -n node_to_be_deleted
3. Only if you have a local home, on the node you want to delete, run the following
command with -local option to update the node list:
C:\>Grid_home\oui\bin\setup.exe -updateNodeList ORACLE_HOME=Grid_home "CLUSTER_
NODES=
{node_to_be_deleted}" CRS=TRUE -local
5. On any node that you are not deleting, run the following command from the
Grid_home\oui\bin directory where remaining_nodes_list is a
comma-delimited list of the nodes that are going to remain part of your cluster:
C:\>setup.exe –updateNodeList ORACLE_HOME=Grid_home
"CLUSTER_NODES={remaining_nodes_list}" CRS=TRUE -silent
Notes:
■ You must run this command a second time where ORACLE_
HOME=ORACLE_HOME, and CRS=TRUE -silent is omitted from
the syntax, as follows:
C:\>setup.exe -updateNodeList ORACLE_HOME=ORACLE_HOME
"CLUSTER_NODES={remaining_nodes_list}"
6. Run the following CVU command to verify that the specified nodes have been
successfully deleted from the cluster:
C:\>cluvfy stage -post nodedel -n node_list [-verbose]
This chapter describes how to clone an Oracle Grid Infrastructure home and use the
cloned home to create a cluster. You perform the cloning procedures in this chapter by
running scripts in silent mode. The cloning procedures are applicable to Linux and
UNIX systems. Although the examples in this chapter use Linux and UNIX
commands, the cloning concepts and procedures apply generally to all platforms.
hundreds of clusters. If you have only one cluster to install, then you should use the
traditional, automated and interactive installation methods, such as Oracle Universal
Installer (OUI) or the Provisioning Pack feature of Oracle Enterprise Manager.
The Provisioning Pack feature of Oracle Enterprise Manager Grid Control provides a
framework that automates the provisioning of nodes and clusters. For data centers
with many clusters, the investment in creating a cloning procedure to provision new
clusters and new nodes to existing clusters is worth the effort.
The following list describes some situations in which cloning is useful:
■ Cloning prepares an Oracle Grid Infrastructure home once and deploys it to many
hosts simultaneously. You can complete the installation in silent mode, as a
noninteractive process. You do not need to use a graphical user interface (GUI)
console, and you can perform cloning from a Secure Shell (SSH) terminal session,
if required.
■ Cloning enables you to create an installation (copy of a production, test, or
development installation) with all patches applied to it in a single step. Once you
have performed the base installation and applied all patch sets and patches on the
source system, cloning performs all of these individual steps as a single procedure.
This is in contrast to going through the installation process to perform the separate
steps to install, configure, and patch the installation on each node in the cluster.
■ Installing Oracle Clusterware by cloning is a quick process. For example, cloning
an Oracle Grid Infrastructure home to a cluster with more than two nodes requires
a few minutes to install the Oracle software, plus a few minutes more for each
node (approximately the amount of time it takes to run the root.sh script).
■ Cloning provides a guaranteed method of accurately repeating the same Oracle
Clusterware installation on multiple clusters.
A cloned installation acts the same as its source installation. For example, you can
remove the cloned Oracle Grid Infrastructure home using OUI or patch it using
OPatch. You can also use the cloned Oracle Grid Infrastructure home as the source for
another cloning operation. You can create a cloned copy of a test, development, or
production installation by using the command-line cloning scripts.
The default cloning procedure is adequate for most cases. However, you can also
customize some aspects of cloning, for example, to specify custom port assignments or
to preserve custom settings.
The cloning process works by copying all of the files from the source Oracle Grid
Infrastructure home to the destination Oracle Grid Infrastructure home. You can clone
either a local (non-shared) or shared Oracle Grid Infrastructure home. Thus, any files
used by the source instance that are located outside the source Oracle Grid
Infrastructure home's directory structure are not copied to the destination location.
The size of the binary files at the source and the destination may differ because these
files are relinked as part of the cloning operation, and the operating system patch
levels may also differ between these two locations. Additionally, the number of files in
the cloned home would increase because several files copied from the source,
specifically those being instantiated, are backed up as part of the clone operation.
If you installed and configured Grid Infrastructure for a cluster, then you must
stop Oracle Clusterware before performing the cloning procedures. If you
performed a software-only installation, then you do not have to stop Oracle
Clusterware.
2. Install any patches that are required (for example, a Grid Infrastructure bundle
patch), if necessary.
3. Apply one-off patches, if necessary.
See Also:
■ Appendix E, "CRSCTL Utility Reference" for more information
about CRSCTL
■ Oracle Real Application Clusters Administration and Deployment
Guide for more information about SRVCTL
Tip: When creating the copy, a best practice is to include the release
number in the name of the file.
Use one of the following methods to create a compressed copy of the Oracle Grid
Infrastructure home.
Method 1: Create a copy of the Oracle Grid Infrastructure home and remove the
unnecessary files from the copy:
1. On the source node, create a copy of the Oracle Grid Infrastructure home. To keep
the installed Oracle Grid Infrastructure home as a working home, make a full copy
of the source Oracle Grid Infrastructure home and remove the unnecessary files
from the copy. For example, as root on Linux systems, run the cp command:
# cp -prf Grid_home copy_path
The preceding command copies the entire contents of Grid_home (for example,
/u01/app/grid/11.2.0) to a new location (for example,
/home/grid/gridcopy).
2. Delete unnecessary files from the copy.
The Oracle Grid Infrastructure home contains files that are relevant only to the
source node, so you can remove the unnecessary files from the copy of the Grid
Infrastructure home in the log, crs/init, crf, and cdata directories. The
following example for Linux and UNIX systems shows the commands to run to
remove the unnecessary files from the copy of the Oracle Grid Infrastructure home:
[root@node1 root]# cd copy_path
[root@node1 grid]# rm -rf crs/install/crsconfig_addparams
[root@node1 grid]# rm -rf host_name
[root@node1 grid]# rm -rf log/host_name
[root@node1 grid]# rm -rf gpnp/host_name
[root@node1 grid]# find gpnp -type f -exec rm -f {} \;
[root@node1 grid]# find cfgtoollogs -type f -exec rm -f {} \;
[root@node1 grid]# rm -rf crs/init/*
[root@node1 grid]# rm -rf cdata/*
[root@node1 grid]# rm -rf crf/*
[root@node1 grid]# rm -rf network/admin/*.ora
[root@node1 grid]# find . -name '*.ouibak' -exec rm {} \;
[root@node1 grid]# find . -name '*.ouibak.1' -exec rm {} \;
[root@node1 grid]# rm -rf root.sh*
In the preceding example, the cd command changes the location to the copy of the
Oracle Grid Infrastructure home with the unnecessary files removed that you
created in the first two steps of this procedure, and the tar command creates a file
2. Use the tar command or Winzip to create a compressed copy of the Oracle Grid
Infrastructure home. For example, on Linux and UNIX systems, run the following
command to archive and compress the source Oracle Grid Infrastructure home:
tar cpfX - excludeFileList Grid_home | compress -fv > temp_dir/gridHome.tar.Z
Note: Do not use the jar utility to copy and compress the Oracle Grid
Infrastructure home.
Cluster 1 Cluster 2
Node 2
Node 1 hb
Node 3
Heartbeat hb
Step 2: Deploy the Oracle Grid Infrastructure Home on the Destination Nodes
Before you begin the cloning procedure that is described in this section, ensure that
you have completed the prerequisite tasks to create a copy of the Oracle Grid
Infrastructure home, as described in the section titled "Preparing the Oracle Grid
Infrastructure Home for Cloning" on page 5-3.
1. On each destination node, deploy the copy of the Oracle Grid Infrastructure home
that you created in "Step 3: Create a Copy of the Oracle Grid Infrastructure Home"
on page 5-4, as follows:
If you do not have a shared Oracle Grid Infrastructure home, then restore the copy
of the Oracle Grid Infrastructure home on each node in the destination cluster. Use
the equivalent directory structure as the directory structure that was used in the
Oracle Grid Infrastructure home on the source node. Skip this step if you have a
shared Oracle Grid Infrastructure home.
For example, on Linux or UNIX systems, run commands similar to the following:
[root@node1 root]# mkdir -p location_of_the_copy_of_the_Grid_home
[root@node1 root]# cd location_of_the_copy_of_the_Grid_home
[root@node1 crs]# tar -zxvf /path_name/gridHome.tgz
In this example, path_name represents the directory structure in which you want
to install the Oracle Grid Infrastructure home. Note that you can change the Grid
home location as part of the clone process.
On Windows systems, unzip the Oracle Grid Infrastructure home on the
destination node in the equivalent directory structure as the directory structure in
which the Oracle Grid Infrastructure home resided on the source node.
2. If you have not already deleted unnecessary files from the Oracle Grid
Infrastructure home, then repeat step 2 in "Method 1: Create a copy of the Oracle
Grid Infrastructure home and remove the unnecessary files from the copy:" on
page 5-4.
3. Create a directory for the Oracle Inventory on the destination node and, if
necessary, change the ownership of all of the files in the Oracle Grid Infrastructure
home to be owned by the Oracle Grid Infrastructure installation owner and by the
Oracle Inventory (oinstall privilege) group. If the Oracle Grid Infrastructure
installation owner is oracle, and the Oracle Inventory group is oinstall, then
the following example shows the commands to do this on a Linux system:
[root@node1 crs]# mkdir /u01
[root@node1 crs]# chown oracle:oinstall /u01
[root@node1 crs]# mkdir -p /u01/app/oraInventory
[root@node1 crs]# mkdir -p /u01/app/11.2.0/grid
When you run the last of the preceding commands on the Grid home, it clears
setuid and setgid information from the Oracle binary. It also clears setuid
from the following binaries:
Grid_home/bin/extjob
Grid_home/bin/jssu
Grid_home/bin/oradism
4. It is important to remove any Oracle network files from the Grid_home directory
on both the source and destination nodes before continuing. For example, remove
any tnsnames.ora, listener.ora, or sqlnet.ora files.
Note: After you run clone.pl, the script prompts you to run
orainstRoot.sh and root.sh. Run only orainstRoot.sh and
then proceed to "Step 4: Launch the Configuration Wizard" on
page 5-10. The configuration wizard will prompt you to run root.sh.
On Windows systems:
Note:Do not use the -O option when you run this command on
Windows.
Refer to Table 5–1 for descriptions of the various parameters in the preceding example.
If you have a shared Oracle Grid Infrastructure home, then append the -cfs option to
the command example in this step and provide a complete path location for the cluster
file system.
Example 5–1 Excerpt From the start.sh Script to Clone Oracle Clusterware
#!/bin/sh
ORACLE_BASE=/u01/app/oracle
GRID_HOME=/u01/app/11.2.0/grid
THIS_NODE=‘hostname -s‘
E01=ORACLE_BASE=${ORACLE_BASE}
E02=ORACLE_HOME=${GRID_HOME}
E03=ORACLE_HOME_NAME=OraGridHome1
E04=INVENTORY_LOCATION=${ORACLE_BASE}/oraInventory
#C00="-O'-debug'"
C01="-O'\"CLUSTER_NODES={node1,node2}\"'"
C02="-O'\"LOCAL_NODE=${THIS_NODE}\"'"
The start.sh script sets several environment variables and cloning parameters, as
described in Table 5–2. Table 5–2 describes the environment variables E01, E02, E03,
and E04 that are shown in bold typeface in Example 5–1, and C01 and C02.
Optionally, you can run the Configuration Wizard silently, as follows, providing a
response file:
$ Oracle_home/crs/config/config.sh -silent -responseFile file_name
See Also: Oracle Grid Infrastructure Installation Guide for Linux for
information about preparing response files
To use GNS, Oracle recommends that you add GNS to the cluster after your cloned
cluster is running. Add GNS using the srvctl add gns command.
Cluster 1
Node 1 Node 2
Using Figure 5–2 as an example, the following procedure explains how to add nodes
to a cluster using cloning. In this procedure, Node 1 is the source node from which you
obtain the cloned copy, and Node 2 is the destination node, to which you copy the
clone of Node 1:
1. Prepare Node 2 as described in "Step 1: Prepare the New Cluster Nodes" on
page 5-6.
2. Deploy the Oracle Grid Infrastructure home on Node 2, as described in "Step 2:
Deploy the Oracle Grid Infrastructure Home on the Destination Nodes" on
page 5-7.
3. Run the clone.pl script located in the Grid_home/clone/bin directory on
Node 2.
See Also: Table 5–1 for more information about the parameters used
in the clone.pl script
Note:Do not use the -O option when you run this command on
Windows.
If you are prompted to run root.sh, then ignore the prompt and proceed to the
next step.
4. This step does not apply to Windows.
In the Central Inventory directory on Node 2, run the orainstRoot.sh script as
root. This script populates the /etc/oraInst.loc directory with the location
of the central inventory. For example:
[root@node2 root]# /opt/oracle/oraInventory/orainstRoot.sh
You can run the script on more than one destination node simultaneously.
5. Run the addNode.sh (addNode.bat on Windows) script, located in the Grid_
home/oui/bin directory, on Node 1, as follows:
$ addNode.sh -silent -noCopy ORACLE_HOME=Grid_home "CLUSTER_NEW_NODES={node2}"
"CLUSTER_NEW_VIRTUAL_HOSTNAMES={node2-vip}" "CLUSTER_NEW_VIPS={node2-vip}"
CRS_ADDNODE=true CRS_DHCP_ENABLED=false
Notes:
■ Because you already ran the clone.pl script on Node 2, this step
only updates the inventories on the node and instantiates scripts
on the local node.
■ If you use the -noCopy option with the addNode.sh script, then
a copy of the password file may not exist on Node 2, in which case
you must copy a correct password file to Node 2.
■ The addNode.sh script runs the cluvfy stage -pre
nodeadd verification.
6. Copy the following two files and the gpnp directory from Node 1, on which you
ran addnode.sh, to Node 2:
Grid_home/crs/install/crsconfig_addparams
Grid_home/crs/install/crsconfig_params
Grid_home/gpnp
Note: The cluster in this example has only two nodes. When you add
multiple nodes to a cluster, you can run root.sh concurrently on all
of the nodes.
The following example is for a Linux or UNIX system. On Node 2, run the
following command:
[root@node2 root]# Grid_home/root.sh
Note: Use the -noCopy option only if the Oracle home on the
destination node is fully populated with software. Otherwise, omit the
-noCopy option to copy the software to the destination node when
you run the addnode.sh script.
Table 5–4 lists the location of the Oracle Inventory directory for various platforms.
When an application, process, or server fails in a cluster, you want the disruption to be
as short as possible, if not completely unknown to users. For example, when an
application fails on a server, that application can be restarted on another server in the
cluster, minimizing or negating any disruption in the use of that application. Similarly,
if a server in a cluster fails, then all of the applications and processes running on that
server must be able to fail over to another server to continue providing service to the
users. Using customizable action scripts and application agent programs, as well as
resource attributes that you assign to applications and processes, Oracle Clusterware
can manage all these entities to ensure high availability.
This chapter explains how to use Oracle Clusterware to start, stop, monitor, restart,
and relocate applications. Oracle Clusterware is the underlying cluster solution for
Oracle Real Application Clusters (Oracle RAC). The same functionality and principles
you use to manage Oracle RAC databases are applied to the management of
applications.
This chapter includes the following topics:
■ Oracle Clusterware Resources and Agents
■ Overview of Using Oracle Clusterware to Enable High Availability
■ Registering an Application as a Resource
■ Managing Resources
■ Managing Automatic Restart of Oracle Clusterware Resources
Resources
Oracle Clusterware manages applications and processes as resources that you register
with Oracle Clusterware. The number of resources you register with Oracle
Clusterware to manage an application depends on the application. Applications that
consist of only one process are usually represented by only one resource. More
complex applications, built on multiple processes or components, may require
multiple resources.
When you register an application as a resource in Oracle Clusterware, you define how
Oracle Clusterware manages the application using resource attributes you ascribe to
the resource. The frequency with which the resource is checked and the number of
attempts to restart a resource on the same server after a failure before attempting to
start it on another server (failover) are examples of resource attributes. The registration
information also includes a path to an action script or application-specific action
program that Oracle Clusterware calls to start, stop, check, and clean up the
application.
An action script is a shell script (a batch script in Windows) that a generic script agent
provided by Oracle Clusterware calls. An application-specific agent is usually a C or
C++ program that calls Oracle Clusterware-provided APIs directly.
Oracle Clusterware 11g release 2 (11.2) uses agent programs (agents) to manage
resources and includes the following built-in agents so that you can use scripts to
protect an application:
■ scriptagent: Use this agent (scriptagent.exe in Windows) to use shell or
batch scripts to protect an application. Both the cluster_resource and local_
resource resource types are configured to use this agent, and any resources of
these types automatically take advantage of this agent.
■ appagent: This agent (appagent.exe in Windows) automatically protects any
resources of the application resource type used in previous versions of Oracle
Clusterware. You are not required to configure anything to take advantage of the
agent. It invokes action scripts in the manner done with previous versions of
Oracle Clusterware and should only be used for the application resource type.
By default, all resources not of the application resource type, use the script agent,
unless you override this behavior by creating a new resource type and specifying a
different agent as part of the resource type specification (using the AGENT_FILENAME
attribute).
Additionally, you can create your own agents to manage your resources in any manner
you want.
See Also: "Resource Types" on page 6-3 for more information about
resource types and "Building an Agent" on page 6-7 for more
information about building custom agents
Resource Types
Generally, all resources are unique but some resources may have common attributes.
Oracle Clusterware uses resource types to organize these similar resources. Benefits
that resource types provide are:
■ Manage only necessary resource attributes
■ Manage all resources based on the resource type
Every resource that you register in Oracle Clusterware must have a certain resource
type. In addition to the resource types included in Oracle Clusterware, you can define
custom resource types using the Oracle Clusterware Control (CRSCTL) utility. The
included resource types are:
■ Local resource: Instances of local resources—type name is local_
resource—run on each server of the cluster. When a server joins the cluster,
Oracle Clusterware automatically extends local resources to have instances tied to
the new server. When a server leaves the cluster, Oracle Clusterware automatically
sheds the instances of local resources that ran on the departing server. Instances of
local resources are pinned to their servers; they do not fail over from one server to
another.
■ Cluster resource: Cluster-aware resource types—type name is cluster_
resource—are aware of the cluster environment and are subject to cardinality
and cross-server switchover and failover.
See Also:
■ Appendix E, "CRSCTL Utility Reference" for more information
about using CRSCTL to add resource types
■ "Resource States" on page 6-9 for more information about resource
state
Agents
Oracle Clusterware manages applications when they are registered as resources with
Oracle Clusterware. Oracle Clusterware has access to application-specific primitives
that have the ability to start, stop, and monitor a specific resource. Oracle Clusterware
runs all resource-specific commands through an entity called an agent.
An agent is a process that contains the agent framework and user code to manage
resources. The agent framework is a library that enables you to plug in your
application-specific code to manage customized applications. You program all of the
actual application management functions, such as starting, stopping and checking the
health of an application, into the agent. These functions are referred to as entry points.
The agent framework is responsible for invoking these entry point functions on behalf
of Oracle Clusterware. Agent developers can use these entry points to plug in the
required functionality for a specific resource regarding how to start, stop, and monitor
a resource. Agents are capable of managing multiple resources.
Agent developers can set the following entry points as callbacks to their code:
■ START: The START entry point acts to bring a resource online. The agent
framework calls this entry point whenever it receives the start command from
Oracle Clusterware.
■ STOP: The STOP entry points acts to gracefully bring down a resource. The agent
framework calls this entry point whenever it receives the stop command from
Oracle Clusterware.
■ CHECK: The CHECK (monitor) entry point acts to monitor the health of a
resource. The agent framework periodically calls this entry point. If it notices any
state change during this action, then the agent framework notifies Oracle
Clusterware about the change in the state of the specific resource.
■ CLEAN: The CLEAN entry point acts whenever there is a need to clean up a
resource. It is a non-graceful operation that is invoked when users must forcefully
terminate a resource. This command cleans up the resource-specific environment
so that the resource can be restarted.
■ ABORT: If any of the other entry points hang, the agent framework calls the
ABORT entry point to abort the ongoing action. If the agent developer does not
supply an abort function, then the agent framework exits the agent program.
START, STOP, CHECK, and CLEAN are mandatory entry points and the agent
developer must provide these entry points when building an agent. Agent developers
have several options to implement these entry points, including using C, C++, or
scripts. It is also possible to develop agents that use both C or C++ and script-type
entry points. When initializing the agent framework, if any of the mandatory entry
points are not provided, then the agent framework invokes a script pointed to by the
ACTION_SCRIPT resource attribute.
At any given time, the agent framework invokes only one entry point per application.
If that entry point hangs, then the agent framework calls the ABORT entry point to
abort the current operation. The agent framework periodically invokes the CHECK
entry point to determine the state of the resource. This entry point must return one of
the following states as the resource state:
■ CLSAGFW_ONLINE: The CHECK entry point returns ONLINE if the resource
was brought up successfully and is currently in a functioning state. The agent
framework continues to monitor the resource when it is in this state. This state has
a numeric value of 0 for the scriptagent.
■ CLSAGFW_UNPLANNED_OFFLINE/CLSAGFW_PLANNED_OFFLINE: The
OFFLINE state indicates that the resource is not currently running. These two
states have numeric values of 1 and 2, respectively, for the scriptagent.
Two distinct categories exist to describe an resource's offline state: planned and
unplanned.
When the state of the resource transitions to OFFLINE through Oracle
Clusterware, then it is assumed that the intent for this resource is to be offline
(TARGET=OFFLINE), regardless of which value is returned from the CHECK entry
point. However, when an agent detects that the state of a resource has changed
independent of Oracle Clusterware (such as somebody stopping the resource
through a non-Oracle interface), then the intent must be carried over from the
agent to the Cluster Ready Services daemon (crsd). The intent then becomes the
determining factor for the following:
– Whether to keep or to change the value of the resource's TARGET resource
attribute. PLANNED_OFFLINE indicates that the TARGET resource attribute
must be changed to OFFLINE only if the resource was running before. If the
resource was not running (STATE=OFFLINE, TARGET=OFFLINE) and a
request comes in to start it, then the value of the TARGET resource attribute
changes to ONLINE. The start request then goes to the agent and the agent
reports back to Oracle Clusterware a PLANNED_OFFLINE resource state, and
the value of the TARGET resource attribute remains ONLINE. UNPLANNED_
OFFLINE does not change the TARGET attribute.
– Whether to leave the resource's state as UNPLANNED_OFFLINE or attempt
to recover the resource by restarting it locally or failing it over to a another
server in the cluster. The PLANNED_OFFLINE state makes crsd leave the
resource as is, whereas the UNPLANNED_OFFLINE state prompts resource
recovery.
■ CLSAGFW_UNKNOWN: The CHECK entry point returns UNKNOWN if the
current state of the resource cannot be determined. In response to this state, Oracle
Clusterware does not attempt to failover or to restart the resource. The agent
framework continues to monitor the resource if the previous state of the resource
was either ONLINE or PARTIAL. This state has a numeric value of 3 for the
scriptagent.
■ CLSAGFW_PARTIAL: The CHECK entry point returns PARTIAL when it knows
that a resource is partially ONLINE and some of its services are available. Oracle
Clusterware considers this state as partially ONLINE and does not attempt to
failover or to restart the resource. The agent framework continues to monitor the
resource in this state. This state has a numeric value of 4 for the scriptagent.
■ CLSAGFW_FAILED: The CHECK entry point returns FAILED whenever it
detects that a resource is not in a functioning state and some of its components
have failed and some clean up is required to restart the resource. In response to
this state, Oracle Clusterware calls the CLEAN action to clean up the resource.
After the CLEAN action finishes, the state of the resource is expected to be
OFFLINE. Next, depending on the policy of the resource, Oracle Clusterware may
attempt to failover or restart the resource. Under no circumstances does the agent
framework monitor failed resources. This state has a numeric value of 5 for the
scriptagent.
The agent framework implicitly monitors resources in the states listed in Table 6–1 at
regular intervals, as specified by the CHECK_INTERVAL or OFFLINE_CHECK_
INTERVAL resource attributes.
Whenever an agent starts, the state of all the resources it monitors is set to
UNKNOWN. After receiving an initial probe request from Oracle Clusterware, the
agent framework executes the CHECK entry point for all of the resources to determine
their current states.
Once the CHECK action successfully completes for a resource, the state of the resource
transitions to one of the previously mentioned states. The agent framework then starts
resources based on commands issued from Oracle Clusterware. After the completion
of every action, the agent framework invokes the CHECK action to determine the
current resource state. If the resource is in one of the monitored states listed in
Table 6–1, then the agent framework periodically executes the CHECK entry point to
check for changes in resource state.
By default, the agent framework does not monitor resources that are offline. However,
if the value of the OFFLINE_CHECK_INTERVAL attribute is greater than 0, then the
agent framework monitors offline resources.
Action Scripts
An action script defines one or more actions to start, stop, check, or clean resources.
The agent framework invokes these actions in the absence of the C/C++ actions. Using
action scripts, you can build an agent that contains the C/C++ entry points, as well as
the script entry points. If all of the actions are defined in the action script, then you can
use the script agent to invoke the actions defined in any action scripts.
Before invoking the action defined in the action script, the agent framework exports all
the necessary attributes from the resource profile to the environment. Action scripts
can log messages to the stdout/stderr, and the agent framework prints those
messages in the agent logs. However, action scripts can use special tags to send the
progress, warning, or error messages to the crs* client tools by prefixing one of the
following tags to the messages printed to stdout/stderr:
CRS_WARNING
CRS_ERROR
CRS_PROGRESS
The agent framework strips out the prefixed tag when it sends the final message to the
crs* clients.
Resource attributes can be accessed from within an action script as environment
variables prefixed with _CRS_. For example, the START_TIMEOUT attribute becomes
an environment variable named _CRS_START_TIMEOUT.
See Also:
■ "crsctl start resource" on page E-21 and "crsctl stop
resource" on page E-25 for more information about using the
-env option as a way to override attribute values for a single start
or stop action, respectively
■ Example B–3 on page B-18 for an example of an action script for
an agent
Building an Agent
Building an agent for a specific application involves the following steps:
1. Implement the agent framework entry points either in scripts, C, or C++.
2. Build the agent executable (for C and C++ agents).
3. Collect all the parameters needed by the entry points and define a new resource
type. Set the AGENT_FILENAME attribute to the absolute path of the newly built
executable.
Choose a name for the resource based on the application for which it is being created.
For example, if you create a resource for an Apache Web server, then you might name
the resource myApache.
The name of the resource type follows the -type option. You can specify resource
attributes in either a text file specified with the -file option or in a comma-delimited
list of resource attribute-value pairs enclosed in double quotation marks ("")
following the -attr option. You must enclose space- or comma-delimited attribute
names and values enclosed in parentheses in single quotation marks ('').
The following is an example of an attribute file:
PLACEMENT=favored
HOSTING_MEMBERS=node1 node2 node3
RESTART_ATTEMPTS@CARDINALITYID(1)=0
RESTART_ATTEMPTS@CARDINALITYID(2)=0
FAILURE_THRESHOLD@CARDINALITYID(1)=2
FAILURE_THRESHOLD@CARDINALITYID(2)=4
FAILURE_INTERVAL@CARDINALITYID(1)=300
FAILURE_INTERVAL@CARDINALITYID(2)=500
CHECK_INTERVAL=2
CARDINALITY=2
See Also:
■ "Adding User-defined Resources" on page 6-18 for examples of
using the crsctl add resource command
■ "crsctl add resource" on page E-8 for more information
about using the crsctl add resource command
■ "Resource Attributes" on page B-2 for more information about
resource attributes
See Also: "Agents" on page 6-3 for more information about these
actions
■ Privileges: Oracle Clusterware has the necessary privileges to control all of the
components of your application for high availability operations, including the
right to start processes that are owned by other user identities. Oracle Clusterware
must run as a privileged user to control applications with the correct start and stop
processes.
■ Resource Dependencies: You can create relationships among resources that imply
an operational ordering or that affect the placement of resources on servers in the
cluster. For example, Oracle Clusterware can only start a resource that has a hard
start dependency on another resource if the other resource is running. Oracle
Clusterware prevents stopping a resource if other resources that depend on it are
running. However, you can force a resource to stop using the crsctl stop
resource -f command, which first stops all resources that depend on the
resource being stopped.
This section includes the following topics:
■ Resource Attributes
■ Resource States
■ Resource Dependencies
■ Resource Placement
Resource Attributes
Resource attributes define how Oracle Clusterware manages resources of a specific
resource type. Each resource type has a unique set of attributes. Some resource
attributes are specified when you register resources, while others are internally
managed by Oracle Clusterware.
Note: Where you can define new resource attributes, you can only
use US-7 ASCII characters.
Resource States
Every resource in a cluster is in a particular state at any time. Certain actions or events
can cause that state to change.
Table 6–2 lists and describes the possible resource states.
Resource Dependencies
You can configure resources to be dependent on other resources, so that the dependent
resources can only start or stop when certain conditions of the resources on which they
depend are met. For example, when Oracle Clusterware attempts to start a resource, it
is necessary for any resources on which the initial resource depends to be running and
in the same location. If Oracle Clusterware cannot bring the resources online, then the
initial (dependent) resource cannot be brought online, either. If Oracle Clusterware
stops a resource or a resource fails, then any dependent resource is also stopped.
Some resources require more time to start than others. Some resources must start
whenever a server starts, while other resources require a manual start action. These
and many other examples of resource-specific behavior imply that each resource must
be described in terms of how it is expected to behave and how it relates to other
resources (resource dependencies).
You can configure resources so that they depend on Oracle resources. When creating
resources, however, do not use an ora prefix in the resource name. This prefix is
reserved for Oracle use only.
Previous versions of Oracle Clusterware included only two dependency specifications:
the REQUIRED_RESOURCES resource attribute and the OPTIONAL_RESOURCES
In Oracle Clusterware 11g release 2 (11.2) resource dependencies are separated into
start and stop categories. This separation improves and expands the start and stop
dependencies between resources and resource types.
This section includes the following topics:
■ Start Dependencies
■ Stop Dependencies
Start Dependencies
Oracle Clusterware considers start dependencies contained in the profile of a resource
when the start effort evaluation for that resource begins. You specify start
dependencies for resources using the START_DEPENDENCIES resource attribute. You
can use modifiers on each dependency to further configure the dependency.
hard
Define a hard start dependency for a resource if another resource must be running
before the dependent resource can start. For example, if resource A has a hard start
dependency on resource B, then resource B must be running before resource A can
start.
You can configure the hard start dependency with the following constraints:
■ START_DEPENDENCIES=hard(global:resourceB)
By default, resources A and B must be located on the same server (co-located). Use
the global modifier to specify that resources need not be co-located. For example,
if resource A has a hard(global:resourceB) start dependency on resource B,
then, if resource B is running on any node in the cluster, resource A can start.
■ START_DEPENDENCIES=hard(intermediate:resourceB)
Use the intermediate modifier to specify that the dependent resource can start
if a resource on which it depends is in either the ONLINE or INTERMEDIATE state.
■ START_DEPENDENCIES=hard(type:resourceB.type)
Use the type modifier to specify whether the hard start dependency acts on a
particular resource or a resource type. For example, if you specify that resource A
has a hard start dependency on the resourceB.type type, then if any resource
of the resourceB.type type is running, resource A can start.
■ START_DEPENDENCIES=hard(resourceB, intermediate:resourceC,
intermediate:global:type:resourceC.type)
You can combine modifiers and specify multiple resources in the START_
DEPENDENCIES resource attribute.
weak
If resource A has a weak start dependency on resource B, then an attempt to start
resource A attempts to start resource B, if resource B is not running. The result of the
attempt to start resource B is, however, of no consequence to the result of starting
resource A.
You can configure the weak start dependency with the following constraints:
■ START_DEPENDENCIES=weak(global:resourceB)
By default, resources A and B must be co-located. Use the global modifier to
specify that resources need not be co-located. For example, if resource A has a
weak(global:resourceB) start dependency on resource B, then, if resource B
is running on any node in the cluster, resource A can start.
■ START_DEPENDENCIES=weak(concurrent:resourceB)
Use the concurrent modifier to specify that resource A and resource B can start
concurrently, instead of waiting for resource B to start, first.
■ START_DEPENDENCIES=weak(type:resourceB.type)
Use the type modifier to specify that the dependency acts on a resource of a
particular resource type, such as resourceB.type.
attraction
If resource A has an attraction dependency on resource B, then Oracle Clusterware
prefers to place resource A on servers hosting resource B. Dependent resources, such
as resource A in this case, are more likely to run on servers on which resources to
which they have attraction dependencies are running. Oracle Clusterware places
dependent resources on servers with resources to which they are attracted.
You can configure the attraction start dependency with the following constraints:
■ START_DEPENDENCIES=attraction(intermediate:resourceB)
Use the intermediate modifier to specify whether the resource is attracted to
resources that are in the INTERMEDIATE state.
■ START_DEPENDENCIES=attraction(type:resourceB.type)
Use the type modifier to specify whether the dependency acts on a particular
resource type. The dependent resource is attracted to the server hosting the
greatest number of resources of a particular type.
pullup
Use the pullup start dependency if resource A must automatically start whenever
resource B starts. This dependency only affects resource A if it is not running. As is the
case for other dependencies, pullup may cause the dependent resource to start on
any server. Use the pullup dependency whenever there is a hard stop dependency, so
that if resource A depends on resource B and resource B fails and then recovers, then
resource A is restarted.
You can configure the pullup start dependency with the following constraints:
■ START_DEPENDENCIES=pullup(intermediate:resourceB)
Use the intermediate modifier to specify whether resource B can be either in
the ONLINE or INTERMEDIATE state to start resource A.
If resource A has a pullup dependency on multiple resources, then resource A
starts only when all resources upon which it depends, start.
■ START_DEPENDENCIES=pullup:always(resourceB)
Use the always modifier to specify whether Oracle Clusterware starts resource A
despite the value of its TARGET attribute, whether it is ONLINE or OFFLINE. By
default, without using the always modifier, pullup only starts resources if the
value of the TARGET attribute of the dependent resource is ONLINE.
■ START_DEPENDENCIES=pullup(type:resourceB.type)
Use the type modifier to specify that the dependency acts on a particular resource
type.
dispersion
If you specify the dispersion start dependency for a resource, then Oracle
Clusterware starts this resource on a server that has the fewest number of resources to
which this resource has dispersion. Resources with dispersion may still end up
running on the same server if there are not enough servers to disperse them to.
You can configure the dispersion start dependency with the following modifiers:
■ START_DEPENDENCIES=dispersion(intermedite:resourceB)
Use the intermediate modifier to specify that Oracle Clusterware disperses
resource A whether resource B is either in the ONLINE or INTERMEDIATE state.
■ START_DEPENDENCIES=dispersion:active(resourceB)
Stop Dependencies
Oracle Clusterware considers stop dependencies between resources whenever a
resource is stopped (the resource state changes from ONLINE to any other state).
hard
If resource A has a hard stop dependency on resource B, then resource A must be
stopped when B stops running. The two resources may attempt to start or relocate to
another server, depending upon how they are configured. Oracle recommends that
resources with hard stop dependencies also have hard start dependencies.
You can configure the hard stop dependency with the following modifiers:
■ STOP_DEPENDENCIES=hard(intermedite:resourceB)
Use the intermediate modifier to specify whether resource B must be in either
the ONLINE or INTERMEDIATE state for resource A to stay online.
■ STOP_DEPENDENCIES=hard(global:resourceB)
Use the global modifier to specify whether resource A requires that resource B
be present on the same server or on any server in the cluster to remain online. If
this constraint is not specified, then resources A and B must be running on the
same server. Oracle Clusterware stops resource A when that condition is no longer
met.
■ STOP_DEPENDENCIES=hard(shutdown:resourceB)
Use the shutdown modifier to stop the resource only when you shut down the
Oracle Clusterware stack using either the crsctl stop crs or crsctl stop
cluster commands.
In this case, Oracle Clusterware reattempts to restart the dependent resources locally if
either or both the hard stop and pullup dependencies are used. For example, if
resource A has either a hard stop dependency or pullup dependency, or both, on
resource B, and resource A fails because resource B failed, then Oracle Clusterware
may end up trying to restart both resources at the same time. If the attempt to restart
resource A fails, then as soon as resource B successfully restarts, Oracle Clusterware
reattempts to restart resource A.
Resource Placement
As part of the start effort evaluation, the first decision that Oracle Clusterware must
make is where to start (or place) the resource. Making such a decision is easy when the
caller specifies the target server by name. If a target server is not specified, however,
then Oracle Clusterware attempts to locate the best possible server for placement
given the resource’s configuration and the current state of the cluster.
Oracle Clusterware considers a resource's placement policy first and filters out servers
that do not fit with that policy. Oracle Clusterware sorts the remaining servers in a
particular order depending on the value of the PLACEMENT resource attribute of the
resource.
The examples in this section assume that the Oracle Clusterware administrator has full
administrative privileges over Oracle Clusterware and the user or group that owns the
application that Oracle Clusterware is going to manage. Once the registration process
is complete, Oracle Clusterware can start any application on behalf of any operating
system user.
Oracle Clusterware distinguishes between an owner of a registered resource and a
user. The owner of a resource is the operating system user under which the agent runs.
The ACL resource attribute of the resource defines permissions for the users and the
owner. Only root can modify any resource.
Notes:
■ Oracle Clusterware commands prefixed with crs_ are deprecated
with this release. CRSCTL commands replace those commands.
See Appendix E, "CRSCTL Utility Reference" for a list of CRSCTL
commands and their corresponding crs_ commands.
■ Do not use CRSCTL commands on any resources that have names
prefixed with ora (because these are Oracle resources), unless My
Oracle Support directs you to do so.
To configure Oracle resources, use the server control utility,
SRVCTL, which provides you with all configurable options.
The script only requires a network number (default is 1), the IP address, and a name
for the VIP resource, as well as the user that owns the application VIP resource. A VIP
resource is typically owned by root because VIP related operations require root
privileges.
To delete an application VIP, use the same script with the delete option. This option
accepts the VIP name as a parameter. For example:
# Grid_home/bin/appvipcfg delete -vipname=appsVIP
After you have created the application VIP using this configuration script, you can
view the VIP profile using the following command:
Grid_home/bin/crsctl status res appsVIP -p
Verify and, if required, modify the following parameters using the Grid_
home/bin/crsctl modify res command.
The appvipcfg script assumes that the default ora.vip network resource
(ora.net1.network) is used as the default. In addition, it is also assumes that a
default app.appvip_net1.type is used for those purposes.
As the Oracle Database installation owner, start the VIP resource:
$ crsctl start resource appsVIP
9. Enter an IP address for the VIP in the Internet Protocol Address field.
10. Enter root in the Primary User field. Oracle Enterprise Manager defaults to
whatever user name you are logged in as.
11. Select Start the resource after creation if you want the VIP to start immediately.
12. Click Continue to display the Confirmation: Add VIP Resource page.
13. Enter root and the root password as the cluster credentials.
control. The other server group assumes a fixed assignment based on named servers in
the cluster.
To manage an application using either deployment scheme, you must create a server
pool before adding the resource to the cluster. A built-in server pool named Generic
always owns the servers used by applications of administrator-based management.
The Generic server pool is a logical division and can be used to separate the two parts
of the cluster using different management schemes.
For third party developers to use the model to deploy applications, server pools must
be used. To take advantage of the pre-existing application development and
deployment model based on named servers, sub-pools of Generic (server pools that
have Generic as their parent pool, defined by the server pool attribute PARENT_
POOLS) must be used. By creating sub-pools that use Generic as their parent and
enumerating servers by name in the sub-pool definitions, applications ensure that
named servers are in Generic and are used exclusively for applications using the
named servers model.
In the preceding example, myApache is the name of the resource added to the cluster.
Note: A resource name cannot begin with a period nor with the
character string "ora".
Notice that attribute values are enclosed in single quotation marks (' '). Configure the
resource as follows:
■ The resource is a cluster_resource type.
■ ACTION_SCRIPT=/opt/cluster/scripts/myapache.scr: The path to the
required action script.
■ PLACEMENT=restricted
Once this sub-pool has been created, you can add the resource, as in the previous
example:
$ crsctl add resource myApache -type cluster_resource
-attr "ACTION_SCRIPT=/opt/cluster/scripts/myapache.scr, PLACEMENT='restricted',
SERVER_POOLS=myApache_sp, CHECK_INTERVAL='30', RESTART_ATTEMPTS='2',
START_DEPENDENCIES='hard(appsvip)', STOP_DEPENDENCIES='hard(appsvip)'"
Note: A resource name cannot begin with a period nor with the
character string "ora".
In addition, note that when adding a resource using a server-specific deployment, the
server pools listed in the SERVER_POOLS resource parameter must be sub-pools under
Generic.
Note: A resource name cannot begin with a period nor with the
character string "ora".
2. As the user who installed Oracle Clusterware, enable the Oracle Database
installation owner (oracle, in the following example) to run the script, as follows:
$ crsctl setperm resource resource_name –u user:oracle:r-x
The value of the PLACEMENT resource attribute determines how Oracle Clusterware
places resources when they are added to the cluster or when a server fails. Together
with either the HOSTING_MEMBERS or SERVER_POOLS attributes, you can configure
how Oracle Clusterware places the resources in a cluster. When the value of the
PLACEMENT attribute is:
■ balanced: Oracle Clusterware uses any online server for placement. Less loaded
servers are preferred to servers with greater loads. To measure how loaded a
server is, Oracle Clusterware uses the LOAD resource attribute of the resources that
are in an ONLINE state on the server. Oracle Clusterware uses the sum total of the
LOAD values to measure the current server load.
■ favored: If values are assigned to either the SERVER_POOLS or HOSTING_
MEMBERS resource attribute, then Oracle Clusterware considers servers belonging
to the member list in either attribute first. If no servers are available, then Oracle
Clusterware places the resource on any other available server. If there are values
for both the SERVER_POOLS and HOSTING_MEMBERS attributes, then the
SERVER_POOLS attribute restricts the choices to the servers within the preference
indicated by the value of HOSTING_MEMBERS.
■ restricted: Oracle Clusterware only considers servers that belong to server
pools listed in the SEVER_POOLS resource attribute or servers listed in the
HOSTING_MEMBERS resource attribute for resource placement. Only one of these
resource attributes can have a value, otherwise it results in an error.
Run the crsctl delete resource command as a clean-up step when a resource is
no longer managed by Oracle Clusterware. Oracle recommends that you unregister
any unnecessary resources.
Managing Resources
This section includes the following topics:
■ Registering Application Resources
■ Starting Application Resources
■ Relocating Applications and Application Resources
■ Stopping Applications and Application Resources
■ Displaying Clusterware Application and Application Resource Status Information
If you modify a resource, then update OCR by running the crsctl modify
resource command.
The command waits to receive a notification of success or failure from the action
program each time the action program is called. Oracle Clusterware can start
application resources if they have stopped due to exceeding their failure threshold
values. You must register a resource using crsctl add resource before you can
start it.
Running the crsctl start resource command on a resource sets the resource
TARGET value to ONLINE. Oracle Clusterware attempts to change the state to match
the TARGET by running the action program with the start action.
If a cluster server fails while you are starting a resource on that server, then check the
state of the resource on the cluster by using the crsctl status resource
command.
Each time that the action program is called, the crsctl relocate resource
command waits for the duration specified by the value of the SCRIPT_TIMEOUT
resource attribute to receive notification of success or failure from the action program.
A relocation attempt fails if:
■ The application has required resources that run on the initial server
■ Applications that require the specified resource run on the initial server
To relocate an application and its required resources, use the -f option with the
crsctl relocate resource command. Oracle Clusterware relocates or starts all
resources that are required by the application regardless of their state.
You cannot stop a resource if another resource has a hard stop dependency on it,
unless you use the force (-f) option. If you use the crsctl stop resource
resource_name -f command on a resource upon which other resources depend,
and if those resources are running, then Oracle Clusterware stops the resource and all
of the resources that depend on the resource that you are stopping.
NAME=myApache
TYPE=cluster_resource
TARGET=ONLINE
STATE=ONLINE on server010
Enter the following command to view information about all applications and resources
in tabular format:
# crsctl status resource
See Also:
■ "Start Dependencies" on page 6-11 for more information
■ Appendix B, "Oracle Clusterware Resource Reference" for more
information about the AUTO_START resource attribute
The Cluster Verification Utility (CVU) performs system checks in preparation for
installation, patch updates, or other system changes. Using CVU ensures that you have
completed the required system configuration and preinstallation steps so that your
Oracle Grid Infrastructure or Oracle Real Application Clusters (Oracle RAC)
installation, update, or patch operation completes successfully.
With Oracle Clusterware 11g release 2 (11.2), Oracle Universal Installer is fully
integrated with CVU, automating many CVU prerequisite checks. Oracle Universal
Installer runs all prerequisite checks and associated fixup scripts when you run the
installer.
See Also:
■ Oracle Real Application Clusters Administration and Deployment
Guide for information about using the Server Control utility
(SRVCTL) to manage CVU
■ Oracle Grid Infrastructure Installation Guide and Oracle Real
Application Clusters Installation Guide for information about how to
manually install CVU
Overview
CVU can verify the primary cluster components during an operational phase or stage.
A component can be basic, such as free disk space, or it can be complex, such as
checking Oracle Clusterware integrity. For example, CVU can verify multiple Oracle
Clusterware subcomponents across Oracle Clusterware layers. Additionally, CVU can
check disk space, memory, processes, and other important cluster components. A stage
could be, for example, database installation, for which CVU can verify whether your
system meets the criteria for an Oracle Real Application Clusters (Oracle RAC)
installation. Other stages include the initial hardware setup and the establishing of
system requirements through the fully operational cluster setup.
Table A–1 lists verifications you can perform using CVU.
Operational Notes
Installation Requirements
CVU installation requirements are:
■ At least 30 MB free space for the CVU software on the node from which you run
CVU
■ A work directory with at least 25 MB free space on each node. The default location
of the work directory is /tmp on Linux and UNIX systems, and the value specified
in the TEMP environment variable on Windows systems. You can specify a
different location by setting the CV_DESTLOC environment variable.
When using CVU, the utility attempts to copy any needed information to the CVU
work directory. It checks for the existence of the work directory on each node. If it
does not find one, then it attempts to create one. Make sure that the CVU work
directory either exists on all nodes in your cluster or proper permissions are
established on each node for the user running CVU to create that directory.
■ Java 1.4.1 on the local node
Usage Information
CVU includes two scripts: runcluvfy.sh (runcluvfy.bat on Windows), which
you use before installing Oracle software, and cluvfy (cluvfy.bat on Windows),
located in the Grid_home/bin directory. The runcluvfy.sh script contains
temporary variable definitions which enable it to run before you install Oracle Grid
Infrastructure or Oracle Database. After you install Oracle Grid Infrastructure, use the
cluvfy command to check prerequisites and perform other system readiness checks.
Before installing Oracle software, run runcluvfy.sh from the mountpoint path of
the software installation media, as follows:
cd /mountpoint
./runcluvfy.sh options
In the preceding example, the options variable represents CVU command options
that you select. For example:
$ cd /mnt/dvdrom
$ ./runcluvfy.sh comp nodereach -n node1,node2 -verbose
When you enter a CVU command, it provides a summary of the test. During
preinstallation, Oracle recommends that you obtain detailed output by using the
-verbose argument with the CVU command. The -verbose argument produces
detailed output of individual checks. Where applicable, it shows results for each node
in a tabular layout.
Run the CVU command-line tool using the cluvfy command. Using cluvfy does
not adversely affect your cluster environment or your installed software. You can run
cluvfy commands at any time, even before the Oracle Clusterware installation. In
fact, CVU is designed to assist you as soon as your hardware and operating system are
operational. If you run a command that requires Oracle Clusterware on a node, then
CVU reports an error if Oracle Clusterware is not yet installed on that node.
The node list that you use with CVU commands should be a comma-delimited list of
host names without a domain. CVU ignores domains while processing node lists. If a
CVU command entry has duplicate node entries after removing domain information,
then CVU eliminates the duplicate node entries. Wherever supported, you can use the
-n all option to verify all of your cluster nodes that are part of a specific Oracle RAC
installation.
For network connectivity verification, CVU discovers all of the available network
interfaces if you do not specify an interface on the CVU command line. For storage
accessibility verification, CVU discovers shared storage for all of the supported storage
types if you do not specify a particular storage identification on the command line.
CVU also discovers the Oracle Clusterware home if one is available.
Special Topics
In the preceding syntax example, replace the node_list variable with the names of
the nodes in your cluster, separated by commas. On Windows, you must enclose the
comma-delimited node list in double quotation marks ("").
For example, for a cluster with mountpoint /mnt/dvdrom/, and with nodes node1,
node2, and node3, enter the following command:
$ cd /mnt/dvdrom/
$ ./runcluvfy.sh stage -pre crsinst -fixup -n node1,node2,node3
■ The user account that ran CVU does not have privileges to run common operating
system executables on the node
■ The node is missing an operating system patch or a required package
■ The node has exceeded the maximum number of processes or maximum number
of open files, or there is a problem with IPC segments, such as shared memory or
semaphores
Use the cluvfy comp acfs component verification command to check the integrity
of Oracle ASM Cluster File System on all nodes in a cluster.
Syntax
cluvfy comp acfs [-n [node_list] | [all]] [-f file_system] [-verbose]
Parameters
Use the cluvfy comp admprv command to verify user accounts and administrative
permissions for installing Oracle Clusterware and Oracle RAC software, and for
creating an Oracle RAC database or modifying an Oracle RAC database configuration.
Syntax
cluvfy comp admprv [-n node_list]
{ -o user_equiv [-sshonly] |
-o crs_inst [-orainv orainventory_group] |
-o db_inst [-osdba osdba_group] [-fixup [-fixupdir fixup_dir]] |
-o db_config -d oracle_home [-fixup [-fixupdir fixup_dir]] }
[-verbose]
Parameters
Usage Notes
■ By default, the equivalence check does not verify X-Windows configurations, such
as whether you have disabled X-forwarding, whether you have the proper setting
for the DISPLAY environment variable, and so on.
To verify X-Windows aspects during user equivalence checks, set the CV_XCHK_
FOR_SSH_ENABLED key to TRUE in the configuration file that resides in the CV_
HOME/cv/admin/cvu_config directory before you run the cluvfy comp
admprv -o user_equiv command.
Examples
Use the cluvfy comp asm component verification command to check the integrity
of Oracle Automatic Storage Management (Oracle ASM) on all nodes in the cluster.
This check ensures that the ASM instances on the specified nodes are running from the
same Oracle home and that asmlib, if it exists, has a valid version and ownership.
Syntax
cluvfy comp asm [-n node_list | all ] [-verbose]
Parameters
Examples
Starting Disk Groups check to see if at least one Disk Group configured...
Disk Group Check passed. At least one Disk Group configured
Use the cluvfy comp cfs component verification command to check the integrity
of the clustered file system (OCFS for Windows or OCFS2) you provide using the -f
option. CVU checks the sharing of the file system from the nodes in the node list.
Syntax
cluvfy comp cfs [-n node_list] -f file_system [-verbose]
Parameters
Usage Notes
■ This check is supported for OCFS2 version 1.2.1, or higher.
Examples
Syntax
cluvfy comp clocksync [-noctss] [-n node_list [all]] [-verbose]
Parameters
Use the cluvfy comp clu component verification command to check the integrity
of the cluster on all the nodes in the node list.
Syntax
cluvfy comp clu [-n node_list] [-verbose]
Parameters
Example
Use the cluvfy comp clumgr component verification command to check the
integrity of cluster manager subcomponent, or Oracle Cluster Synchronization
Services (CSS), on all the nodes in the node list.
Syntax
cluvfy comp clumgr [-n node_list] [-verbose]
Parameters
Run the cluvfy comp crs component verification command to check the integrity
of the Cluster Ready Services (CRS) daemon on the specified nodes.
Syntax
cluvfy comp crs [-n node_list] [-verbose]
Parameters
Starting with Oracle Database 11g release 2 (11.2.0.2), use the cluvfy comp dhcp
component verification command to verify that the DHCP server exists on the
network and is capable of providing a required number of IP addresses. This
verification also verifies the response time for the DHCP server. You must run this
command as root.
Syntax
# cluvfy comp dhcp -clustername cluster_name [-vipresname vip_resource_name]
[-port dhcp_port] [-n node_list] [-verbose]
Parameters
Usage Notes
Before running this command, ensure that the network resource is offline. Use the
srvctl stop nodeapps command to bring the network resource offline, if
necessary.
Starting with Oracle Database 11g release 2 (11.2.0.2), use the cluvfy comp dns
component verification command to verify that the Grid Naming Service (GNS)
subdomain delegation has been properly set up in the Domain Name Service (DNS)
server.
Run cluvfy comp dns -server on one node of the cluster. On each node of the
cluster run cluvfy comp dns -client to verify the DNS server setup for the
cluster.
Syntax
cluvfy comp dns -server -domain gns_sub_domain -vipaddress gns_vip_address] [-port
dns_port]
[-verbose]
cluvfy comp dns -client -domain gns_sub_domain -vip gns_vip [-port dns_port]
[-last] [-verbose]
Parameters
Usage Notes
■ This command is not supported on Windows operating systems.
■ On the last node specify the -last option to terminate the cluvfy comp dns
-server instance.
■ If the port number is lower than 1024, then you must run CVU as root.
■ Do not run this check while the GNS Oracle Clusterware resource is online.
Use the cluvfy comp freespace component verification command to check the
free space available in the Oracle Clusterware home storage and ensure that there is at
least 5% of the total space available. For example, if the total storage is 10GB, then the
check ensures that at least 500MB of it is free.
Syntax
cluvfy comp freespace [-n node_list | all]
If you choose to include the -n option, then enter a comma-delimited list of node
names on which to run the command. Alternatively, you can specify all after -n to
check all of the nodes in the cluster.
Use the cluvfy comp gns component verification command to verify the integrity
of the Oracle Grid Naming Service (GNS) on the cluster.
Syntax
cluvfy comp gns -precrsinst -domain gns_domain -vip gns_vip [-n node_list]
[-verbose]
Parameters
Use the cluvfy comp gpnp component verification command to check the integrity
of Grid Plug and Play on all of the nodes in a cluster.
Syntax
cluvfy comp gpnp [-n node_list] [-verbose]
Parameters
cluvfy comp ha
Use the cluvfy comp ha component verification command to check the integrity of
Oracle Restart on the local node.
Syntax
cluvfy comp ha [-verbose]
If you include the -verbose option, then CVU prints detailed output.
Syntax
cluvfy comp healthcheck [-collect {cluster|database}] [-db db_unique_name]
[-bestpractice|-mandatory] [-deviations] [-html] [-save [-savedir directory_
path]]
Parameters
Use the component cluvfy comp nodeapp command to check for the existence of
node applications, namely VIP, NETWORK, ONS, and GSD, on all of the specified
nodes.
Syntax
cluvfy comp nodeapp [-n node_list] [-verbose]
Parameters
Use the cluvfy comp nodecon component verification command to check the
connectivity among the nodes specified in the node list. If you provide an interface list,
then CVU checks the connectivity using only the specified interfaces.
Syntax
cluvfy comp nodecon -n node_list [-i interface_list] [-verbose]
Parameters
Usage Notes
■ You can run this command in verbose mode to identify the mappings between the
interfaces, IP addresses, and subnets.
■ Use the nodecon command without the -i option and with -n set to all to use
CVU to:
– Discover all of the network interfaces that are available on the cluster nodes
– Review the interfaces’ corresponding IP addresses and subnets
– Obtain the list of interfaces that are suitable for use as VIPs and the list of
interfaces to private interconnects
– Verify the connectivity between all of the nodes through those interfaces
Examples
Use the cluvfy comp nodereach component verification command to check the
reachability of specified nodes from a source node.
Syntax
cluvfy comp nodereach -n node_list [-srcnode node] [-verbose]
Parameters
Example
Use the cluvfy comp ocr component verification command to check the integrity
of Oracle Cluster Registry (OCR) on all the specified nodes.
Syntax
cluvfy comp ocr [-n node_list] [-verbose]
Parameters
Usage Notes
This command does not verify the integrity of OCR contents. You must use the
OCRCHECK utility to verify the contents of OCR.
Example
Disk group for ocr location “+DATA” available on all the nodes
NOTE:
This check does not verify the integrity of the OCR contents. Execute ‘ocrcheck’
as a privileged user to verify the contents of OCR.
Use the cluvfy comp ohasd component verification command to check the
integrity of the Oracle High Availability Services daemon.
Syntax
cluvfy comp ohasd [-n node_list] [-verbose]
Parameters
Example
Verifying the integrity of the Oracle high availability services daemon on all nodes
in the cluster
To verify that the Oracle High Availability Services daemon is operating correctly on
all nodes in the cluster, use the following command:
cluvfy comp ohasd -n all -verbose
Use the cluvfy comp olr component verification command to check the integrity
of Oracle Local Registry (OLR) on the local node.
Syntax
cluvfy comp olr [-verbose]
If you include the -verbose option, then CVU prints detailed output.
Usage Notes
This command does not verify the integrity of the OLR contents. You must use the
ocrcheck -local command to verify the contents of OCR.
Example
WARNING:
This check does not verify the integrity of the OLR contents. Execute ‘ocrcheck
-local’ as a privileged user to verify the contents of OLR.
Use the cluvfy comp peer component verification command to check the
compatibility and properties of the specified nodes against a reference node. You can
check compatibility for non-default user group names and for different releases of the
Oracle software. This command compares physical attributes, such as memory and
swap space, as well as user and group values, kernel settings, and installed operating
system packages.
Syntax
cluvfy comp peer -n node_list [-refnode node]
[-r {10gR1 | 10gR2 | 11gR1 | 11gR2}] [-orainv orainventory_group]
[-osdba osdba_group] [-verbose]
Parameters
Usage Notes
Peer comparison with the -refnode option compares the system properties of other
nodes against the reference node. If the value does not match (the value is not equal to
reference node value), then CVU flags that comparison as a deviation from the
reference node. If a group or user does not exist on reference node as well as on the
other node, CVU reports this comparison as 'passed' because there is no deviation
from the reference node. Similarly, CVU reports as 'failed' a comparison with a node
that has more total memory than the reference node.
Example
Use the cluvfy comp scan component verification command to check the Single
Client Access Name (SCAN) configuration.
Syntax
cluvfy comp scan [-verbose]
If you include the -verbose option, then CVU prints detailed output.
Example
Use the cluvfy comp software component verification command to check the files
and attributes installed with the Oracle software.
Syntax
cluvfy comp software [-n node_list] [-d oracle_home]
[-r {10gR1 | 10gR2 | 11gR1 | 11gR2}] [-verbose]
Parameters
Example
Verifying the software configuration on all nodes in the cluster for the Oracle
Clusterware home directory.
To verify that the installed files for Oracle Clusterware 11g release 2 are configured
correctly, use a command similar to the following:
cluvfy comp software -n all -verbose
Check: Software
Use the cluvfy comp space component verification command to check for free
disk space at the location you specify in the -l option on all the specified nodes.
Syntax
cluvfy comp space [-n node_list] -l storage_location
-z disk_space {B | K | M | G} [-verbose]
Parameters
Usage Notes
The space component does not support block or raw devices.
See Also: The Oracle Certification site on My Oracle Support for the
most current information about certified storage options:
https://support.oracle.com
Examples
Use the cluvfy comp ssa component verification command to discover and check
the sharing of the specified storage locations. CVU checks sharing for nodes in the
node list.
Syntax
cluvfy comp ssa [-n node_list] [-s storageID_list]
[-t {software | data | ocr_vdisk}] [-verbose]
Parameters
Usage Notes
■ The current release of cluvfy has the following limitations on Linux regarding
shared storage accessibility check.
– Currently NAS storage and OCFS2 (version 1.2.1 or higher) are supported.
– For sharedness checks on NAS, cluvfy commands require that you have
write permission on the specified path. If the cluvfy user does not have write
permission, cluvfy reports the path as not shared.
■ To perform discovery and shared storage accessibility checks for SCSI disks on
Linux systems, CVU requires the CVUQDISK package. If you attempt to use CVU
and the CVUQDISK package is not installed on all of the nodes in your Oracle
RAC environment, then CVU responds with an error. See "Shared Disk Discovery
on Red Hat Linux" on page A-59 for information about how to install the
CVUQDISK package.
Examples
“/dev/sda” is shared
“/dev/sdb” is shared
“/dev/sdc” is shared
Use the cluvfy comp sys component verification command to check that the
minimum system requirements are met for the specified product on all the specified
nodes.
Syntax
cluvfy comp sys [-n node_list] -p {crs | ha | database}
[-r {10gR1 | 10gR2 | 11gR1 | 11gR2}] [-osdba osdba_group]
[-orainv orainventory_group] [-fixup [-fixupdir fixup_dir]] [-verbose]
Parameters
Examples
Use the cluvfy comp vdisk component verification command to check the voting
disks configuration and the udev settings for the voting disks on all the specified
nodes.
See Also: Oracle Grid Infrastructure Installation Guide for Linux for
more information about udev settings
Syntax
cluvfy comp vdisk [-n node_list] [-verbose]
Parameters
se the cluvfy stage -pre acfscfg command to verify your cluster nodes are set
up correctly before configuring Oracle ASM Cluster File System (Oracle ACFS).
Use the cluvfy stage -post acfscfg to check an existing cluster after you
configure Oracle ACFS.
Syntax
cluvfy stage -pre acfscfg -n node_list [-asmdev asm_device_list] [-verbose]
Parameters
Use the cluvfy stage -pre cfs stage verification command to verify your cluster
nodes are set up correctly before setting up OCFS2 or OCFS for Windows.
Use the cluvfy stage -post cfs stage verification command to perform the
appropriate checks on the specified nodes after setting up OCFS2 or OCFS for
Windows.
Syntax
cluvfy stage -pre cfs -n node_list -s storageID_list [-verbose]
Parameters
Examples
Example 2: Check that an OCFS for Windows file system was configured correctly
To check that the configuration of OCFS for Windows completely successfully and that
all nodes have access to this new file system, use a command similar to the following,
where you replace E:\ocfs\db1 with the location of the OCFS for Windows file system
for your cluster:
cluvfy stage -post cfs -n all -f E:\ocfs\db1
Use the cluvfy stage -pre crsinst command to check the specified nodes
before installing Oracle Clusterware. CVU performs additional checks on OCR and
voting disks if you specify the -c and -q options.
Use the cluvfy stage -post crsinst command to check the specified nodes
after installing Oracle Clusterware.
Syntax
cluvfy stage -pre crsinst -n node_list [-r {10gR1 | 10gR2 | 11gR1 | 11gR2}]
[-c ocr_location_list] [-q voting_disk_list] [-osdba osdba_group]
[-orainv orainventory_group] [-asm [-asmgrp asmadmin_group] [-asmdev asm_device_
list]]
[-crshome Grid_home] [-fixup [-fixupdir fixup_dir]
[-networks network_list]
[-verbose]]
Parameters
Table A–28 (Cont.) cluvfy stage [-pre | -post] crsinst Command Parameters
Parameter Description
-crshome Grid_home The location of the Oracle Grid Infrastructure or Oracle
Clusterware home directory. If you do not specify this
option, then the supplied file system location is checked for
sufficient free space for an Oracle Clusterware installation.
-fixup [-fixupdir fixup_ Specifies that if the verification fails, then CVU generates
dir] fixup instructions, if feasible. Use the -fixupdir option to
specify a specific directory in which CVU generates the fixup
instructions. If you do not specify a directory, CVU uses its
work directory.
-networks network_list Checks the network parameters of a comma-delimited list of
networks in the form of "if_name" [:subnet_id
[:public | :cluster_interconnect]].
■ You can use the asterisk (*) wildcard character when
you specify the network interface name (if_name),
such as eth*, to match interfaces.
■ Specify a subnet number for the network interface for
the subnet_id variable and choose the type of network
interface.
-verbose CVU prints detailed output.
Use the cluvfy stage -pre dbcfg command to check the specified nodes before
configuring an Oracle RAC database to verify whether your system meets all of the
criteria for creating a database or for making a database configuration change.
Syntax
cluvfy stage -pre dbcfg -n node_list -d Oracle_home [-fixup [-fixupdir fixup_dir]]
[-verbose]
Parameters
Use the cluvfy stage -pre dbinst command to check the specified nodes before
installing or creating an Oracle RAC database to verify that your system meets all of
the criteria for installing or creating an Oracle RAC database.
Syntax
cluvfy stage -pre dbinst -n node_list [-r {10gR1 | 10gR2 | 11gR1 | 11gR2}]
[-osdba osdba_group] [-d Oracle_home] [-fixup [-fixupdir fixup_dir] [-verbose]
Parameters
Use the cluvfy stage -pre hacfg command to check a local node before
configuring Oracle Restart.
Use the cluvfy stage -post hacfg command to check the local node after
configuring Oracle Restart.
Syntax
cluvfy stage -pre hacfg [-osdba osdba_group] [-orainv orainventory_group]
[-fixup [-fixupdir fixup_dir]] [-verbose]
Parameters
Use the cluvfy stage -post hwos stage verification command to perform
network and storage verifications on the specified nodes in the cluster before installing
Oracle software. This command also checks for supported storage types and checks
each one for sharing.
Syntax
cluvfy stage -post hwos -n node_list [-s storageID_list] [-verbose]
Parameters
Use the cluvfy stage -pre nodeadd command to verify the specified nodes are
configured correctly before adding them to your existing cluster, and to verify the
integrity of the cluster before you add the nodes.
This command verifies that the system configuration, such as the operating system
version, software patches, packages, and kernel parameters, for the nodes that you
want to add, is compatible with the existing cluster nodes, and that the clusterware is
successfully operating on the existing nodes. Run this command on any node of the
existing cluster.
Use the cluvfy stage -post nodeadd command to verify that the specified
nodes have been successfully added to the cluster at the network, shared storage, and
clusterware levels.
Syntax
cluvfy stage -pre nodeadd -n node_list [-vip vip_list]
[-fixup [-fixupdir fixup_dir]] [-verbose]
Parameters
Use the cluvfy stage -post nodedel command to verify that specific nodes
have been successfully deleted from a cluster. Typically, this command verifies that the
node-specific interface configuration details have been removed, the nodes are no
longer a part of cluster configuration, and proper Oracle ASM cleanup has been
performed.
Syntax
cluvfy stage -post nodedel -n node_list [-verbose]
Parameters
Usage Notes
If the cluvfy stage -post nodedel check fails, then repeat the node deletion
procedure.
Enabling Tracing
You can enable tracing by setting the environment variable SRVM_TRACE to true. For
example, in tcsh an entry such as setenv SRVM_TRACE true enables tracing.
The CVU trace files are created in the CV_HOME/cv/log directory by default. Oracle
Database automatically rotates the log files and the most recently created log file has
the name cvutrace.log.0. You should remove unwanted log files or archive them
to reclaim disk place if needed.
CVU does not generate trace files unless you enable tracing. To use a non-default
location for the trace files, set the CV_TRACELOC environment variable to the absolute
path of the desired trace directory.
This section describes the following known limitations for Cluster Verification Utility
(CVU):
■ Database Versions Supported by Cluster Verification Utility
■ Linux Shared Storage Accessibility (ssa) Check Reports Limitations
■ Shared Disk Discovery on Red Hat Linux
3. Set the CVUQDISK_GRP environment variable to the operating system group that
should own the CVUQDISK package binaries. If CVUQDISK_GRP is not set, then,
by default, the oinstall group is the owner’s group.
# set CVUQDISK_GRP=oinstall
# rpm -q cvuqdisk
cvuqdisk-1.0.2-1
# rpm -e cvuqdisk-1.0.2-1
5. Install the latest CVUQDISK package by running the command rpm -iv
cvuqdisk-1.0.6-1.rpm.
# cd /u01/oradba
# rpm -iv cvuqdisk-1.0.6-1.rpm
Resource Attributes
This section lists and describes attributes used when you register applications as
resources in Oracle Clusterware. Use these attributes with the crsctl add
resource command, as follows:
$ crsctl add resource resource_name -type resource_type
{[-attr "attribute_name=’attribute_value’, attribute_name=’attribute_value’
, ..."] | [-file file_name]}
List attribute-value pairs in a comma-delimited list after the -attr flag and enclose
the value of each attribute in single quotation marks (''). Some resource attributes
you cannot configure and are read only.
Alternatively, you can create a text file that contains the attribute-value pairs. For
example:
PLACEMENT=favored
HOSTING_MEMBERS=node1 node2 node3
RESTART_ATTEMPTS@CARDINALITYID(1)=0
RESTART_ATTEMPTS@CARDINALITYID(2)=0
FAILURE_THRESHOLD@CARDINALITYID(1)=2
FAILURE_THRESHOLD@CARDINALITYID(2)=4
FAILURE_INTERVAL@CARDINALITYID(1)=300
FAILURE_INTERVAL@CARDINALITYID(2)=500
CHECK_INTERVAL=2
CARDINALITY=2
This section describes the following resource attributes that you can configure when
registering an application as a resource in Oracle Clusterware:
■ ACL
■ ACTION_SCRIPT
■ ACTIVE_PLACEMENT
■ AGENT_FILENAME
■ AUTO_START
■ CARDINALITY
■ CHECK_INTERVAL
■ DEGREE
■ DESCRIPTION
■ ENABLED
■ FAILURE_INTERVAL
■ FAILURE_THRESHOLD
■ HOSTING_MEMBERS
■ LOAD
■ NAME
■ OFFLINE_CHECK_INTERVAL
■ PLACEMENT
■ RESTART_ATTEMPTS
■ SCRIPT_TIMEOUT
■ SERVER_POOLS
■ START_DEPENDENCIES
■ START_TIMEOUT
■ STOP_DEPENDENCIES
■ STOP_TIMEOUT
■ TYPE
■ UPTIME_THRESHOLD
ACL
Defines the owner of a resource and the access privileges granted to various operating
system users and groups. The resource owner defines the operating system user of the
owner and its privileges. You configure this optional attribute when you create a
resource. If you do not configure this attribute, then the value is based on the identity
of the process creating the resource. You can change the value of the attribute if such a
change is allowed based on the existing privileges of the resource.
Note: All operating system user names and user groups, including
owner, pgrp, user, and group, must be registered on all servers in
the cluster.
In the string:
■ owner: The operating system user that owns a resource and the user under which
the action script or application-specific agent runs, followed by the privileges of
the owner.
■ pgrp: The operating system group that is the primary group of the owner of a
resource, followed by the privileges of members of the primary group.
■ other: Operating system users that are neither the owner nor member of the
primary group
■ r: The read option, which gives the ability to only see a resource, its state, and
configuration
■ w: The write option, which gives the ability to modify a resource's attributes and to
delete the resource
■ x: The execute option, which gives the ability to start, stop, and relocate a resource
By default, the identity of the client that creates a resource is the owner. Also by
default, root, and the user specified in owner have full privileges. You can grant
required operating system users and operating system groups their privileges by
adding the following lines to the ACL attribute:
user:user_name:rwx
group:group_name:rwx
Usage Example
ACL=owner:user_1:rwx,pgrp:osdba:rwx,other::r-
In the preceding example, the owner of the resource is user_1, whose primary group
is osdba. The user, user_1, has all privileges, as does the osdba group, while other
users can only view the resource.
ACTION_SCRIPT
An absolute file name that includes the path and file name of an action script. The
agent specified in the AGENT_FILENAME attribute calls the script specified in the
ACTION_SCRIPT attribute.
Usage Example
ACTION_SCRIPT=fully_qualified_path_to_action_script
ACTIVE_PLACEMENT
When set to 1, Oracle Clusterware uses this attribute to reevaluate the placement of a
resource during addition or restart of a cluster server. For resources where
PLACEMENT=favored, Oracle Clusterware may relocate running resources if the
resources run on a non-favored server when a favored one joins the cluster.
Usage Example
ACTIVE_PLACEMENT=1
AGENT_FILENAME
A fully qualified file name of an agent program that a resource type uses to manage its
resources. Every resource type must have an agent program to manage its resources.
Resource types use agent programs by either specifying a value for this attribute or
inheriting it from their base resource type. There are two script agents included with
Oracle Clusterware 11g release 2 (11.2): application and scriptagent. Oracle
Clusterware uses the application script agent for resources of the deprecated
application resource type. The default value for this attribute is scriptagent.
Usage Example
AGENT_FILENAME=%Grid_home%/bin/application
AUTO_START
Indicates whether Oracle Clusterware automatically starts a resource after a cluster
server restart. Valid AUTO_START values are:
■ always: Restarts the resource when the server restarts regardless of the state of
the resource when the server stopped.
■ restore: Restores the resource to the same state that it was in when the server
stopped. Oracle Clusterware attempts to restart the resource if the value of
TARGET was ONLINE before the server stopped.
■ never: Oracle Clusterware never restarts the resource regardless of the state of the
resource when the server stopped.
CARDINALITY
The number of servers on which a resource can run, simultaneously. This is the upper
limit for resource cardinality.
Usage Example
CARDINALITY=1
CHECK_INTERVAL
The time interval, in seconds, between repeated executions of the check action.
Shorter intervals enable more frequent checks but also increase resource consumption
if you use the script agent. Use an application-specific agent to reduce resource
consumption.
Usage Example
CHECK_INTERVAL=60
DEGREE
The number of instances of a cluster resource that can run on a single server.
Usage Example
DEGREE=1
DESCRIPTION
Enter a description of the resource you are adding.
Usage Example
DESCRIPTION=Apache Web server
ENABLED
Oracle Clusterware uses this attribute to manage the state of the resource. Oracle
Clusterware does not attempt to manage a disabled (ENABLED=0) resource either
directly or because of a dependency to another resource. A disabled resource cannot be
started but it can be stopped.
Oracle Clusterware does not actively monitor disabled resources, meaning that Oracle
Clusterware does not check their state. However, when Oracle Clusterware starts, it
does query the state of disabled resources.
Usage Example
ENABLED=1
FAILURE_INTERVAL
The interval, in seconds, before which Oracle Clusterware stops a resource if the
resource has exceeded the number of failures specified by the FAILURE_THRESHOLD
attribute. If the value is zero (0), then tracking of failures is disabled.
Usage Example
FAILURE_INTERVAL=30
FAILURE_THRESHOLD
The number of failures of a resource detected within a specified FAILURE_INTERVAL
for the resource before Oracle Clusterware marks the resource as unavailable and no
longer monitors it. If a resource fails the specified number of times, then Oracle
Clusterware stops the resource. If the value is zero (0), then tracking of failures is
disabled. The maximum value is 20.
Usage Example
FAILURE_THRESHOLD=3
HOSTING_MEMBERS
A space-separated, ordered list of cluster server names that can host a resource. This
attribute is required only when using administrator management, and when the value
of the PLACEMENT attribute is set to favored or restricted. When registering
applications as Oracle Clusterware resources, use the SERVER_POOLS attribute,
instead.
See Also:
■ "Understanding Server Pools" on page 2-4 for more information
about the Generic server pool
■ "LOAD" on page B-7 for more information about this attribute
■ "PLACEMENT" on page B-7 for more information about this
attribute
To obtain a list of candidate node names, run the olsnodes command to display a list
of your server names.
Usage Example
HOSTING_MEMBERS=server1 server2 server3
LOAD
Oracle Clusterware interprets the value of this attribute along with that of the
PLACEMENT attribute. When the value of PLACEMENT is balanced, the value of LOAD
determines where best to place a resource. A nonnegative, numeric value that
quantitatively represents how much server capacity an instance of a resource
consumes relative to other resources. Oracle Clusterware attempts to place resources
on servers with the least total load of running resources.
Usage Example
LOAD=1
NAME
A case-sensitive alphanumeric string that names the resource. Oracle recommends a
naming convention that starts with an alphanumeric prefix, such as myApache, and
complete the name with an identifier to describe it. A resource name can contain any
platform-supported characters except the exclamation point (!) and the tilde (~). A
resource name cannot begin with a period (.) nor with the string ora.
Usage Example
NAME=myApache
OFFLINE_CHECK_INTERVAL
Controls offline monitoring of a resource. The value represents the interval (in
seconds) that Oracle Clusterware monitors a resource when its state is OFFLINE.
Monitoring is disabled if the value is 0.
Usage Example
OFFLINE_CHECK_INTERVAL=30
PLACEMENT
Specifies how Oracle Clusterware selects a cluster server on which to start a resource.
Valid values are balanced, favored, or restricted.
If you set the PLACEMENT attribute to favored or restricted, then you must also
assign values to the SERVER_POOLS and HOSTING_MEMBERS attributes. If you set the
value of the PLACEMENT attribute to balanced, then the HOSTING_MEMBERS
attribute is not required.
See Also:
■ "Application Placement Policies" on page 6-22 for more
information about the PLACEMENT attribute
■ "HOSTING_MEMBERS" on page B-6 for more information about
this attribute
■ "SERVER_POOLS" on page B-8 for more information about this
attribute
Usage Example
PLACEMENT=favored
RESTART_ATTEMPTS
The number of times that Oracle Clusterware attempts to restart a resource on the
resource's current server before attempting to relocate it. A value of 1 indicates that
Oracle Clusterware only attempts to restart the resource once on a server. A second
failure causes Oracle Clusterware to attempt to relocate the resource. A value of 0
indicates that there is no attempt to restart but Oracle Clusterware always tries to fail
the resource over to another server.
Usage Example
RESTART_ATTEMPTS=2
SCRIPT_TIMEOUT
The maximum time (in seconds) for an action to run. Oracle Clusterware returns an
error message if the action script does not complete within the time specified. The
timeout applies to all actions (start, stop, check, and clean).
Usage Example
SCRIPT_TIMEOUT=45
SERVER_POOLS
A space-separated list of the server pools to which a particular resource can belong. If
a resource can run on any server in a cluster, then use the default value, *, unless the
resource is a cluster_resource type, in which case, the default value for the
SERVER_POOLS attribute is empty. Only cluster administrators can specify * as the
value for this attribute.
■ Use the PLACEMENT attribute with the SERVER_POOLS attribute, as follows: If you
set the value of the PLACEMENT attribute to either restricted or favored, then
you must also provide a value for the SERVER_POOLS attribute when using policy
management for the resource.
■ If the value for PLACEMENT is set to balanced, then the resource only runs in the
Generic and Free pools, unless SERVER_POOLS=*.
This attribute creates an affinity between a resource and one or more server pools
regarding placement, and is dependent on the value of the PLACEMENT attribute.
See Also:
■ "Understanding Server Pools" on page 2-4 for more information
about server pools and "Role-Separated Management" on
page 2-10 for more information about cluster administrators
■ "HOSTING_MEMBERS" on page B-6 for more information about
this attribute
■ "PLACEMENT" on page B-7 for more information about this
attribute
Usage Example
SERVER_POOLS=pool1 pool2 pool3
START_DEPENDENCIES
Specifies a set of relationships that Oracle Clusterware considers when starting a
resource. You can specify a space-separated list of dependencies on several resources
and resource types on which a particular resource can depend.
Syntax
START_DEPENDENCIES=dependency(resource_set) [dependency(resource_set)] [...]
If you specify the hard dependency on a resource type for a resource, then the
resource can start if any resource of that particular type is running.
– weak([concurrent:][global:][uniform:]{resource_name |
type:resource_type})—Specify a weak start dependency for a resource
when you want that resource to start despite whether named resources are
running, or not. An attempt to start this resource also attempts to start any
resources on which this resource depends if they are not running.
Use concurrent to specify that Oracle Clusterware can start a dependent
resource while a resource on which it depends is in the process of starting. If
concurrent is not specified, then resources must complete startup before
Oracle Clusterware can start the dependent resource.
Use global to specify that resources are not required to reside on the same
server as a condition to Oracle Clusterware starting the dependent resource.
Use uniform to start all instances of the resource everywhere the resource can
run. If you do not specify a modifier (the default), then the resource starts on
the same server as the resource on which it depends.
If you specify the weak start dependency on a resource type for a resource,
then the resource can start if any resource of that particular type is running.
– attraction([intermediate:]{resource_name | type:resource_
type})—Use the attraction start dependency when you want this
resource to run on the same server with a particular named resource or any
resource of a particular type.
Use intermediate to specify that this resource is attracted to resource
entities on which it depends that are in the INTERMEDIATE state. If not
specified, then resources must be in the ONLINE state to attract the dependent
resource.
If you specify the attraction dependency on a resource type for a resource,
then any resource of that particular type attracts the dependent resource.
– pullup[:always]([intermediate:][global:]{resource_name |
type:resource_type})—When you specify the pullup start dependency
for a resource, then this resource starts as a result of named resources starting.
Use the always modifier for pullup so that Oracle Clusterware starts this
resource despite the value of its TARGET attribute, whether that value is
ONLINE or OFFLINE. Otherwise, if you do not specify the always modifier,
then Oracle Clusterware starts this resource only if the value of the TARGET
attribute is ONLINE for this resource.
Use intermediate to specify that Oracle Clusterware can start this resource
if a resource on which it depends is in either the ONLINE or INTERMEDIATE
state. If not specified, then resources must be in the ONLINE state for Oracle
Clusterware to start this resource.
Use global to specify that resources on which this resource depends are not
required to reside on the same server as a condition to Oracle Clusterware
starting this resource. If not specified, then resources on which this resource
depends must reside on the same server for Oracle Clusterware to start this
resource.
If you specify the pullup dependency on a resource type for a resource, then,
when any resource of that particular type starts, Oracle Clusterware can start
this resource.
– dispersion[:active]([intermediate:]{resource_name |
type:resource_type})—Specify the dispersion start dependency for a
resource that you want to run on a server that is different from the named
resources or resources of a particular type. Resources may still end up running
on the same server, depending on availability of servers.
Use the active modifier to configure the dispersion dependency so that
Oracle Clusterware attempts to relocate the dependent resource to another
server if it is co-located with another resource and another server comes
online. Oracle Clusterware does not relocate resources to newly available
servers unless you specify the active modifier.
Use intermediate to specify that Oracle Clusterware can relocate the
dependent resource if a resource is in either the ONLINE or INTERMEDIATE
state. If not specified, then resources must be in the ONLINE state for
dispersion of the dependent resource to occur.
See Also: "Start Dependencies" on page 6-11 for more details about
start dependencies
START_TIMEOUT
The maximum time (in seconds) in which a start action can run. Oracle Clusterware
returns an error message if the action does not complete within the time specified. If
you do not specify a value for this attribute or you specify 0 seconds, then Oracle
Clusterware uses the value of the SCRIPT_TIMEOUT attribute.
Usage Example
START_TIMEOUT=30
STOP_DEPENDENCIES
Specifies a set of relationships that Oracle Clusterware considers when stopping a
resource.
Syntax
STOP_DEPENDENCIES=dependency(resource_set) [dependency(resource_set)] ...
See Also: "Stop Dependencies" on page 6-14 for more details about
stop dependencies
STOP_TIMEOUT
The maximum time (in seconds) in which a stop or clean action can run. Oracle
Clusterware returns an error message if the action does not complete within the time
specified. If you do not specify this attribute or if you specify 0 seconds, then Oracle
Clusterware uses the value of the SCRIPT_TIMEOUT attribute.
Usage Example
STOP_TIMEOUT=30
See Also:
■ "SCRIPT_TIMEOUT" on page B-8 for more information about this
attribute
■ "START_TIMEOUT" on page B-11 for more information about this
attribute
TYPE
The type of resource indicated when you create a resource. This attribute is required
when creating a resource.
Usage Example
See Also: "Resource Types" on page 6-3 for details of resource types
UPTIME_THRESHOLD
The value for UPTIME_THRESHOLD represents the length of time that a resource must
be up before Oracle Clusterware considers the resource to be stable. By setting a value
for the UPTIME_THRESHOLD attribute, you can indicate the stability of a resource.
Enter values for this attribute as a number followed by a letter that represents seconds
(s), minutes (m), hours (h), days (d), or weeks (w). For example, a value of 7h
represents an uptime threshold of seven hours.
After the time period you specify for UPTIME_THRESHOLD elapses, Oracle
Clusterware resets the value for RESTART_COUNT to 0 at the next resource state
change event, such as stop, start, relocate, or failure. Oracle Clusterware can alert you
when the value for RESTART_COUNT reaches the value that you set for RESTART_
ATTEMPTS. The counter is effectively reset the next time the resource fails or restarts.
The threshold represents the amount of time that restarts are to be counted and
discarded. If the resource fails after the threshold, it will still restart.
See Also:
■ "RESTART_ATTEMPTS" on page B-8 for more information about
this attribute
■ "RESTART_COUNT" on page B-15 for more information about
this attribute
You can view these attributes when you run the crsctl status resource
command on a particular resource. Oracle Clusterware sets these attributes when you
register resources.
■ ACTION_FAILURE_EVENT_TEMPLATE
■ INTERNAL_STATE
■ LAST_SERVER
■ LAST_STATE_CHANGE
■ PROFILE_CHANGE_EVENT_TEMPLATE
■ RESTART_COUNT
■ STATE
■ STATE_CHANGE_EVENT_TEMPLATE
■ STATE_DETAILS
■ TARGET
ACTION_FAILURE_EVENT_TEMPLATE
This is an internally-managed attribute for an ora.* resource. You cannot edit this
attribute.
INTERNAL_STATE
An internally managed, read-only attribute that describes what, if any, action the
policy engine is currently executing on the resource. Possible values and their
meanings are as follows:
■ STARTING: The policy engine is currently starting the resource
■ STOPPING: The policy engine is currently stopping the resource
■ CLEANING: The policy engine is currently cleaning the resource
■ STABLE: The policy engine is not currently executing any action on the resource
Note, however, that the resource can still be locked as part of some other
command.
LAST_SERVER
For cluster_resource-type resources, this is an internally managed, read-only
attribute that contains the name of the server on which the last start action for the
resource succeeded.
For local_resource-type resources, this is the name of the server to which the
resource instance is pinned.
LAST_STATE_CHANGE
An internally managed, read-only attribute that describes when the policy engine
registers the current state of the resource. Note that this may either be the timestamp
of when state of the resource changed or when the policy engine discovered the state,
as occurs when crsd restarts.
PROFILE_CHANGE_EVENT_TEMPLATE
This is an internally-managed attribute for an ora.* resource. You cannot edit this
attribute.
RESTART_COUNT
An internally-managed attribute used by the Oracle Clusterware daemon to count the
number of attempts to restart a resource, starting from zero up to the value specified in
the RESTART_ATTEMPTS attribute. You cannot edit this attribute.
STATE
An internally-managed attribute that reflects the current state of the resource as
reported by Oracle Clusterware. The state of a resource can be one of the following:
■ ONLINE: The resource is online and resource monitoring is enabled (see CHECK_
INTERVAL).
■ OFFLINE: The resource is offline and only offline resource monitoring is enabled,
if configured (see OFFLINE_CHECK_INTERVAL).
■ INTERMEDIATE: The resource is either partially online or was known to be online
before and subsequent attempts to determine its state have failed; resource
monitoring is enabled (see CHECK_INTERVAL).
■ UNKNOWN: The resource is unmanageable and its current state is unknown; manual
intervention is required to resume its operation. A resource in this state is not
monitored.
STATE_CHANGE_EVENT_TEMPLATE
This is an internally-managed attribute for an ora.* resource. You cannot edit this
attribute.
STATE_DETAILS
An internally managed, read-only attribute that contains details about the state of a
resource.
The four resource states—ONLINE, OFFLINE, UNKNOWN, and INTERMEDIATE—may
map to different resource-specific values, such as mounted, unmounted, and open.
Resource agent developers can use the STATE_DETAILS attribute to provide a more
detailed description of this mapping, resource to the resource state.
Providing details is optional. If details are not provided, then Oracle Clusterware uses
only the four possible resource states. Additionally, if the agent cannot provide these
details (as may also happen to the value of the resource state), then Oracle Clusterware
sets the value of this attribute to provide minimal details about why the resource is in
its current state.
TARGET
An internal, read-only attribute that describes the desired state of a resource. Using the
crsctl start resource_name or crsctl stop resource_name commands,
however, can affect the value of this attribute.
HTTPDCONFLOCATION=/etc/httpd/conf/httpd.conf
WEBPAGECHECK=http://<MyVIP>:80/icons/apache_pb.gif
case $1 in
'start')
/usr/sbin/apachectl -k start -f $HTTPDCONFLOCATION
RET=$?
;;
sleep(10)
;;
'stop')
/usr/sbin/apachectl -k stop
RET=$?
;;
'clean')
/usr/sbin/apachectl -k stop
RET=$?
;;
'check')
/usr/bin/wget -q --delete-after $WEBPAGECHECK
RET=$?
;;
*)
RET=0
;;
esac
# 0: success; 1 : error
if [ $RET -eq 0 ]; then
exit 0
else
exit 1
fi
Example B–2 shows the xclock script, which is a simple action script using xclock
available as a default binary on all Linux and UNIX platforms.
BIN_DIR=/usr/X11R6/bin
LOG_DIR=/tmp
BIN_NAME=xclock
DISPLAY=yourhost.domain.com:0.0
export DISPLAY
exit_code=0
if [ ! -d $BIN_DIR ]
then
echo "start failed"
exit 2
fi
PID1=`ps -ef | grep $BIN_NAME | grep -v grep | grep -v xclock_app | awk '{ print
$2 }'`
case $1 in
'start')
if [ "$PID1" != "" ]
then
status_p1="running"
else
if [ -x $BIN_DIR/$BIN_NAME ]
then
umask 002
${BIN_DIR}/${BIN_NAME} & 2>${LOG_DIR}/${BIN_NAME}.log
status_p1="started"
else
echo `basename $0`": $BIN_NAME: Executable not found"
exit_code=1
fi
fi
'stop')
if [ "${PID1}" != "" ]
then
kill -9 ${PID1} && echo "$BIN_NAME daemon killed"
else
echo "$BIN_NAME: no running Process!"
fi
exit $exit_code
;;
'check')
if [ "$PID1" != "" ]
then
echo "running"
exit 0
else
echo "not running"
exit 1
fi
;;*)
echo "Usage: "`basename $0`" {start|stop|check}"
;;
esac
Example B–3 shows an example of a shell script for an agent to monitor a file. When
the agent is started, it creates the file (which is specified through an attribute) and
when it is stopped, it deletes the file. The CHECK action consists of merely checking if
the file exists or not. The variables with the _CRS_ prefix are attribute values that are
provided to the script in its environment.
#
# These messages go into the CRSD agent log file.
echo " ******* `date` ********** "
echo "Action script '$_CRS_ACTION_SCRIPT' for resource[$_CRS_NAME] called for
action $1"
#
case "$1" in
'start')
echo "START entry point has been called.."
echo "Creating the file: $PATH_NAME"
$TOUCH $PATH_NAME
exit 0
;;
'stop')
echo "STOP entry point has been called.."
echo "Deleting the file: $PATH_NAME"
$RM $PATH_NAME
exit 0
;;
'check')
echo "CHECK entry point has been called.."
if [ -e $PATH_NAME ]; then
echo "Check -- SUCCESS"
exit 0
else
echo "Check -- FAILED"
exit 1
fi
;;
'clean')
echo "CLEAN entry point has been called.."
echo "Deleting the file: $PATH_NAME"
$RM -f $PATH_NAME
exit 0
;;
esac
This appendix describes the syntax and command options for the olsnodes
command.
This appendix contains the following topics:
■ Using OLSNODES
– Overview
– Operational Notes
■ Summary of the OLSNODES Command
Using OLSNODES
This section contains topics which relate to using the OLSNODES command.
■ Overview
■ Operational Notes
Overview
The olsnodes command provides the list of nodes and other information for all
nodes participating in the cluster.
You can use this command to quickly check that your cluster is operational, and all
nodes are registered as members of the cluster. This command also provides an easy
method for obtaining the node numbers.
Operational Notes
Usage Information
This command is used by the Cluster Verification Utility (CLUVFY) to obtain a list of
node names when the -n all option is used.
This command utility is located in the $ORA_CRS_HOME/bin directory. You can only
use this command if the CRS daemon is started.
The olsnodes command does not use keywords, but accepts one or more options.
The available options are described in Table C–1.
Syntax
olsnodes [[-n] [-i] [-s] [-t] [node_name | -l [-p]] | [-c]] [-g] [-v]
If you issue the olsnodes command without any command parameters, the
command returns a listing of the nodes in the cluster:
[root@node1]# olsnodes
node1
node2
node3
node4
Usage Notes
■
Examples
Include here the most common uses of this command. For example:
Example 1: List the VIP addresses for all nodes currently in the cluster
To list the VIP addresses for each node that is currently a member of the cluster, use
the command:
[root@node1]# olsnodes -i
node1 168.92.1.1
node2 168.192.2.1
node3 168.192.3.1
node4 168.192.4.1
Example 2: List the node names and node numbers for cluster members
To list the node name and the node number for each node in the cluster, use the
command:
[root@node1]# olsnodes -n
node1 1
node2 2
node3 3
node4 4
Command Reference
The Oracle Interface Configuration Tool (OIFCFG) command-line interface helps you
to define and administer network interfaces. You can use OIFCFG commands Oracle
Clusterware environments to:
■ Allocate and deallocate network interfaces to components
■ Direct components to use specific network interfaces
■ Retrieve component configuration information
This appendix includes the following topics:
■ Starting the OIFCFG Command-Line Interface
■ Summary of the OIFCFG Usage
Before you invoke OIFCFG, ensure that you have started Oracle Clusterware on at
least the local node and preferably on all nodes if you intend to include the -global
option on the command.
Run OIFCFG from the Grid_home/bin/ directory as the user who installed the
Oracle Clusterware software. For example:
$ ./oifcfg
Run the oifcfg -help command to display online help for OIFCFG.
$ ./oifcfg -help
OIFCFG Commands
You can enter any of the OIFCFG commands listed in Table D–1.
-node nodename
The name of the Oracle Clusterware node as listed in the output from the olsnodes
command. Appendix C, "OLSNODES Command Reference" describes the OLSNODES
command.
-global
A network interface can be stored as a global interface (as reported by the iflist
command) or as a node-specific interface:
■ An interface is stored as a global interface when all of the nodes of an Oracle Real
Application Clusters (Oracle RAC) cluster have the same interface connected to
the same subnet. The global interface (and configuring all nodes with the same
network interface for each public subnet and the same network interface for each
private subnet) is not only the recommended configuration, but it is also the
default installation configuration.
■ An interface can be stored as a node-specific (local) interface.
-if if_name
The name by which the interface is configured in the system.
subnet
The subnet number of the interface.
-type if_type
The type of interface: public or cluster_interconnect.
-help
Display online help for OIFCFG commands.
– Associated subnet
– Interface type
The interface type indicates the purpose for which the network is configured.
The supported interface types are:
* public: An interface that can be used for communication with
components external to Oracle RAC instances, such as Oracle Net and
Virtual Internet Protocol (VIP) addresses.
* cluster_interconnect: A private interface used for the cluster
interconnect to provide interinstance or Cache Fusion1 communication.
If you set the interface type to cluster_interconnect, then it affects
instances as they start and changes do not take effect until you restart the
instances.
For example, the following specification identifies qfe0 as a cluster interconnect
located at the address 204.152.65.0:
qfe0/204.152.65.0:cluster_interconnect
■ The Oracle Universal Installer uses OIFCFG to identify and display available
interfaces.
■ The effect of changing the interface names depends on which name you are
changing, and whether you are also changing the IP address. In cases where you
change only the interface names, the ramifications are minor. If you change the
name for the public interface that is stored in the Oracle Cluster Registry (OCR),
you must modify the nodeapps for each node. Therefore, you must stop the
nodeapps for this change to take effect.
■ You must restart Oracle Clusterware on all members of the cluster when you make
global changes. For local changes, you need only to perform a node restart.
Interconnect changes for the database occur at instance startup. However, the
interconnect for Oracle Clusterware might be different.
■ Because interconnects are chosen when instances start, just issuing OIFCFG
commands does not have an immediate effect on the running system. Instead,
changes take effect after restarting the component that might be affected by the
command.
■ Changes you make to cluster-wide network classifications with OIFCFG require
all known cluster nodes to be up so that their Grid Plug and Play profiles can be
updated.
OIFCFG Examples
The following examples show some common uses for the OIFCFG commands.
1
Cache Fusion is a diskless cache coherency mechanism that provides copies of blocks directly
from a holding instance's memory cache to a requesting instance's memory cache.
This command returns values for global public and global cluster_
interconnect, similar to the following:
eth0 172.19.141.0 global public
eth1 172.21.65.0 global cluster_interconnect
Note: Ensure that all nodes are running when you run the setif
command because Oracle cannot update Grid Plug and Play profiles
on nodes that are not running.
For example, the following command deletes the global interface named eth1 for the
subnet 172.21.65.0:
oifcfg delif -global eth1/172.21.65.0
The following command deletes all of the global interfaces assigned with OIFCFG:
oifcfg delif -global
This appendix describes how to administer Oracle Clusterware using the Oracle
Clusterware Control (CRSCTL) utility.
CRSCTL Overview
CRSCTL is an interface between you and Oracle Clusterware, parsing and calling
Oracle Clusterware APIs for Oracle Clusterware objects.
Oracle Clusterware 11g release 2 (11.2) introduces cluster-aware commands with
which you can perform check, start, and stop operations on the cluster. You can run
these commands from any node in the cluster on another node in the cluster, or on all
nodes in the cluster, depending on the operation.
You can use CRSCTL commands to perform several operations on Oracle Clusterware,
such as:
■ Starting and stopping Oracle Clusterware resources
■ Enabling and disabling Oracle Clusterware daemons
■ Checking the health of the cluster
■ Managing resources that represent third-party applications
■ Integrating Intelligent Platform Management Interface (IPMI) with Oracle
Clusterware to provide failure isolation support and to ensure cluster integrity
■ Debugging Oracle Clusterware components
You can run clusterized commands on one node to perform operations on another
node in the cluster. These are referred to as remote operations. This simplifies
administration because, for example, you no longer have to log in to each node to
check the status of the Oracle Clusterware on all of your nodes.
Clusterized commands are completely operating system independent; they rely on the
OHASD (Oracle High Availability Services daemon). If this daemon is running, then
you can perform remote operations, such as the starting, stopping, and checking the
status of remote nodes.
Clusterized commands include the following:
■ crsctl check cluster
■ crsctl start cluster
■ crsctl stop cluster
Operational Notes
Usage Information
■ The CRSCTL utility is located in the Grid_home/bin directory. To run CRSCTL
commands, type in crsctl at the operating system prompt followed by the
command and arguments, as shown in the following example:
crsctl stop crs
If you want help for a specific command, such as start, then enter the command and
append -help to the end, as shown in the following example:
crsctl start -help
You can also use the abbreviations -h or -? (this option functions in Linux, UNIX, and
Windows environments) instead of -help.
Table E–1 lists the commands that are deprecated in Oracle Clusterware 11g release 2
(11.2) and their replacements that you can use to perform the same or similar
functionality. These commands are not supported in an Oracle Restart environment:
You can use the following commands in either the Oracle RAC or the Oracle Restart
environments:
■ crsctl add resource
■ crsctl add type
■ crsctl check css
■ crsctl check evm
■ crsctl delete resource
■ crsctl delete type
■ crsctl get hostname
■ crsctl getperm resource
■ crsctl getperm type
■ crsctl modify resource
■ crsctl modify type
■ crsctl setperm resource
■ crsctl setperm type
■ crsctl start resource
■ crsctl status resource
■ crsctl status type
■ crsctl stop resource
Syntax
crsctl add resource resource_name -type resource_type [-file file_path |
-attr "attribute_name=attribute_value,attribute_name=attribute_value,..."]
[-i] [-f]
Parameters
Usage Notes
■ Both the resource_name and -type resource_type parameters are required.
You can create an associated resource type using the crsctl add type
command.
■ Any user can create a resource but only clusterware administrators can create
resources of type local_resource or resources of type cluster_resource
that have SERVER_POOLS=*.
Once a resource is defined, its ACL controls who can perform particular
operations with it. The Oracle Clusterware administrator list is no longer relevant.
On Windows, a member of the Administrators group has full control over
everything.
■ If an attribute value for an attribute name-value pair contains commas, then the
value must be enclosed in single quotation marks ('').
■ Following is an example of an attribute file:
PLACEMENT=favored
HOSTING_MEMBERS=node1 node2 node3
RESTART_ATTEMPTS@CARDINALITYID(1)=0
RESTART_ATTEMPTS@CARDINALITYID(2)=0
FAILURE_THRESHOLD@CARDINALITYID(1)=2
FAILURE_THRESHOLD@CARDINALITYID(2)=4
FAILURE_INTERVAL@CARDINALITYID(1)=300
FAILURE_INTERVAL@CARDINALITYID(2)=500
CHECK_INTERVAL=2
CARDINALITY=2
■ Do not use this command for any resources with names that begin with ora
because these resources are Oracle resources.
Example
Example 1
To register a VIP as a resource with Oracle Clusterware:
$ crsctl add resource app.appvip -type app.appvip.type -attr "RESTART_ATTEMPTS=2,
START_TIMEOUT=100,STOP_TIMEOUT=100,CHECK_INTERVAL=10,
USR_ORA_VIP=172.16.0.0,
START_DEPENDENCIES=hard(ora.net1.network)pullup(ora.net1.network),
STOP_DEPENDENCIES=hard(ora.net1.network)"
Example 2
To register a resources based on the test_type1 resource type:
$ crsctl add resource r1 -type test_type1 -attr "PATH_NAME=/tmp/r1.txt"
$ crsctl add resource r1 -type test_type1 -attr "PATH_NAME=/tmp/r2.txt"
Syntax
crsctl add type type_name -basetype base_type_name {-attr
"ATTRIBUTE=attribute_name | -file file_path,TYPE={string | int}
[,DEFAULT_VALUE=default_value][,FLAGS=[READONLY][|REQUIRED]]"}
Parameters
See Also: "Resource Types" on page 6-3 for more information about
resource types
Usage Notes
■ Both the type_name and base_type_name parameters are required
■ You can either specify a file containing the type information or you can specify the
type information on the command line
■ Do not use this command for any resource types with names that begin with ora
because these resource types are Oracle resource types
■ You must have read permissions on the base type
Example
To create a resource type for demoActionScript:
# crsctl add type test_type1 -basetype cluster_resource
-attr "ATTRIBUTE=FOO,TYPE=integer,DEFAULT_VALUE=0"
Syntax
crsctl check css
Usage Notes
■
Example
The crsctl check css command returns output similar to the following:
Syntax
crsctl check evm
Usage Notes
■
Example
The crsctl check evm command returns output similar to the following:
CRS-4533: Event Manager is online
Syntax
crsctl delete resource resource_name [-i] [-f]
Parameters
Usage Notes
■ The resource_name parameter is required
■ You must have read and write permissions to delete the specified resources
■ Do not use this command for any resources with names that begin with ora
because these resources are Oracle resources
Example
To delete a resource from Oracle Clusterware:
# crsctl delete resource myResource
Syntax
crsctl delete type type_name [-i]
Usage Notes
■ The type_name parameter is required
■ If you specify -i, then the command fails if Oracle Clusterware cannot process the
request immediately
■ Do not use this command for any resource types with names that begin with ora
because these resource types are Oracle resource types
Example
To delete a resource type, run the following command as who has write permissions
on the resource type:
$ crsctl delete type app.appvip.type
Syntax
crsctl get hostname
Example
Oracle Clusterware returns the host name of the local server:
$ crsctl get hostname
node2
Syntax
crsctl getperm resource resource_name [ {-u user_name | -g group_name} ]
Parameters
Usage Notes
■ The resource_name parameter is required
■ You must have read permission on the specified resources to obtain their
permissions
■ Do not use this command for any resources with names that begin with ora
because these resources are Oracle resources
Example
The crsctl getperm resource command returns output similar to the following,
depending on the command option you choose:
$ crsctl getperm resource app.appvip
Name: app.appvip
owner:root:rwx,pgrp:oinstall:rwx,other::r--
Name: app.appvip
rwx
Name: app.appvip
r--
Syntax
crsctl getperm type resource_type [-u user_name] | [-g group_name]
See Also: "Resource Types" on page 6-3 for more information about
resource types
Parameters
Usage Notes
■ The resource_type parameter is required
■ Do not use this command for any resource types with names that begin with ora
because these resource types are Oracle resource types
Example
The crsctl getperm type command returns output similar to the following:
$ crsctl getperm type app.appvip.type
Name: app.appvip.type
owner:root:rwx,pgrp:oinstall:rwx,other::r--
Syntax
crsctl modify resource resource_name -attr "attribute_name=attribute_value"
[-i] [-f] [-delete]
Parameters
Usage Notes
■ The resource_name parameter is required
■ If an attribute value for an attribute name-value pair contains commas, then the
value must be enclosed in single quotation marks (''). For example:
"START_DEPENDENCIES='hard(res1,res2,res3)'"
■ You must have read and write permissions on the specified resources to modify
them
■ Do not use this command for any resources with names that begin with ora
because these resources are Oracle resources
Example
To modify the attributes of the appsvip resource:
$ crsctl modify resource appsvip -attr USR_ORA_VIP=10.1.220.17 -i
Syntax
crsctl modify type type_name -attr "ATTRIBUTE=attribute_name,TYPE={string | int}
[,DEFAULT_VALUE=default_value [,FLAGS=[READONLY][| REQUIRED]]" [-i] [-f]]
Parameters
See Also: "Resource Types" on page 6-3 for more information about
resource types
Usage Notes
■ The type_name parameter is required
■ Do not use this command for any resource types with names that begin with ora
because these resource types are Oracle resource types
Example
The following example modifies the two type attributes FOO and BAR:
$ crsctl modify type myType.type -attr "ATTRIBUTE=FOO,DEFAULT_VALUE=0
ATTRIBUTE=BAR,DEFAULT_VALUE=baz"
Syntax
crsctl setperm resource resource_name {-u acl_string | -x acl_string |
-o user_name | -g group_name}
Parameters
Usage Notes
■ Do not use this command for any resources with names that begin with ora
because these resources are Oracle resources.
■ You must have read and write permissions on the specified resources to set their
permissions
Example
To grant read, write, and execute permissions on a resource for user Scott:
$ crsctl setperm resource myResource -u user:scott:rwx
Syntax
crsctl setperm type resource_type_name {-u acl_string | -x acl_string |
-o user_name | -g group_name}
Parameters
Usage Notes
■ The resource_type_name parameter is required
■ You must have read and write permissions on the specified resources to set their
permissions
■ Do not use this command for any resource types with names that begin with ora
because these resource types are Oracle resource types
Example
To grant read, write, and execute permissions on a resource type for user Scott:
$ crsctl setperm type resType -u user:scott:rwx
Syntax
crsctl start resource {resource_name [...] | -w filter | -all} [-n server_name]
[-k cid] [-d did] [-env "env1=val1,env2=val2,..."] [-i] [-f]
Parameters
Usage Notes
■ Any one of the three following options is required to specify which resources you
want to start:
– You can specify one or more resources to start
– You can specify a resource filter that Oracle Clusterware uses to match
resources to start
– You can specify the -all option to start all resources on the specified server
■ You must have read and execute permissions on the specified resources to start
them
■ Do not use this command for any resources with names that begin with ora
because these resources are Oracle resources.
Example
To start a resource:
Syntax
crsctl status resource {resource_name [...] | -w "filter"} [-p | -v [-e]] |
[-f | -l | -g] [[-k cid | -n server_name] [-d did]] | [-s -k cid [-d did]] [-t]
Parameters
Usage Notes
■ Either a space-delimited list of resources or a resource filter is required.
■ You must have read permissions on the specified resources to obtain their status.
■ Use crsctl status resource to query the status information of any resource
deployed in the cluster. Oracle recommends, however, that you use the respective
SRCVTL command to query the status information of Oracle (ora.*) resources.
Example
The crsctl status resource command returns output similar to the following:
$ crsctl status resource ora.staii14.vip
NAME=ora.staii14.vip
TYPE=ora.cluster_vip_net1.type
TARGET=ONLINE
STATE=ONLINE on staii14
Syntax
crsctl status type resource_type_name [...]] [-g] [-p] [-f]
Parameters
Table E–13 crsctl status type Command Parameters
Parameter Description
[resource_type_name [...] Specify one or more space-delimited resource type names of
which you want to check the status.
Usage Notes
■ The resource_type_name parameter or a filter is required
Example
The crsctl status type command returns output similar to the following:
$ crsctl status type ora.network.type
TYPE_NAME=ora.network.type
BASE_TYPE=ora.local_resource.type
Syntax
crsctl stop resource {resource_name [...] | -w "filter" | -all} [-n server_name]
[-k cid] [-d did] [-env "env1=val1,env2=val2,..."] [-i] [-f]
Parameters
Usage Notes
■ Any one of the three following options is required to specify which resources you
want to stop:
– You can specify one or more resources to stop
– You can specify a resource filter that Oracle Clusterware uses to match
resources to stop
– You can specify the -all option with the -n server_name option to stop all
resources on a particular server
■ You must have read and execute permissions on the specified resources to stop
them
■ Do not use this command for any resources with names that begin with ora
because these resources are Oracle resources.
Example
To stop a resource:
$ crsctl stop resource -n node1 -k 2
The commands listed in this section manage the Oracle Clusterware stack in an Oracle
RAC environment, which consists of the following:
■ Oracle Clusterware, the member nodes and server pools
■ Oracle ASM (if installed)
■ Cluster Synchronization Services
■ Cluster Time Synchronization Services
You can use the following commands only in an Oracle RAC environment:
■ crsctl add crs administrator
■ crsctl add css votedisk
■ crsctl add serverpool
■ crsctl check cluster
■ crsctl check crs
■ crsctl check resource
■ crsctl check ctss
■ crsctl config crs
■ crsctl delete crs administrator
■ crsctl delete css votedisk
■ crsctl delete node
■ crsctl delete serverpool
■ crsctl disable crs
■ crsctl discover dhcp
■ crsctl enable crs
■ crsctl get clientid dhcp
■ crsctl get css
■ crsctl get css ipmiaddr
■ crsctl get nodename
■ crsctl getperm serverpool
■ crsctl lsmodules
■ crsctl modify serverpool
■ crsctl pin css
■ crsctl query crs administrator
■ crsctl query crs activeversion
■ crsctl query crs releaseversion
■ crsctl query crs softwareversion
■ crsctl query css ipmiconfig
Syntax
crsctl add crs administrator -u user_name [-f]
Parameters
Usage Notes
■ You must run this command as root or a cluster administrator, or an
administrator on Windows systems
■ By default, root, the user that installed Oracle Clusterware, and the * wildcard
are members of the list of users who have Oracle Clusterware administrative
privileges. Run the crsctl delete crs administrator command to remove
the wildcard and enable role-separated management of Oracle Clusterware.
Example
To add a user to the list of Oracle Clusterware administrators:
# crsctl add crs administrator -u scott
Syntax
crsctl add css votedisk path_to_voting_disk [path_to_voting_disk ...] [-purge]
Parameters
Table E–16 crsctl add css votedisk Command Parameters
Parameter Description
path_to_voting_disk A fully qualified path to the voting disk you want to add. To
add multiple voting disks, separate each path with a space.
-purge Removes all existing voting disks at once. You can replace
the existing set of voting files in one operation.
Usage Notes
■ You should have at least three voting disks, unless you have a storage device, such
as a disk array, that provides external redundancy. Oracle recommends that you
do not use more than 5 voting disks. The maximum number of voting disks that is
supported is 15.
Example
To add a voting disk to the cluster:
$ crsctl add css votedisk /stor/grid/ -purge
Use the crsctl add serverpool command to add a server pool that is for hosting
non-database resources (such as application servers) to Oracle Clusterware.
Syntax
crsctl add serverpool server_pool_name {-file file_path |
-attr "attr_name=attr_value[,attr_name=attr_value[,...]]"}
[-i] [-f]
Parameters
Usage Notes
■ The server_pool_name parameter is required.
■ If an attribute value for an attribute name-value pair contains commas, then the
value must be enclosed in single quotation marks ('').
■ Do not use this command for any server pools with names that begin with ora
because these server pools are Oracle server pools.
■ Running this command may result in Oracle Clusterware relocating other servers
between server pools to comply with the new configuration.
■ You must run this command as root or a cluster administrator.
■ Use the crsctl add serverpool command to create server pools that host
non-database resources. To create server pools that host Oracle databases, use the
SRVCTL command utility.
Example
Example 1
To add a server pool named testsp with a maximum size of 5 servers, run the
following command as root or the Oracle Clusterware installation owner:
# crsctl add serverpool testsp -attr "MAX_SIZE=5"
Example 2
Create the sp1_attr file with the attribute values for the sp1 serverpool, each on its
own line, as shown in the following example:
IMPORTANCE=1
MIN_SIZE=1
MAX_SIZE=2
SERVER_NAMES=node3 node4 node5
PARENT_POOLS=Generic
EXCLUSIVE_POOLS=testsp
ACL=owner:oracle:rwx,pgrp:oinstall:rwx,other::r--
Use the following command to create the sp1 server pool using the sp1_attr file as
input:
$ crsctl add serverpool sp1 -file /tmp/sp1_attr
Syntax
crsctl check cluster [-all | [-n server_name [...]]
Usage Notes
■ You can check the status of the Oracle Clusterware stack on all nodes in the cluster
with the -all option or you can specify one or more space-delimited nodes. If
you do not specify either option, Oracle Clusterware checks the status of the
Oracle Clusterware stack on the local server.
■ You can use this cluster-aware command on any node in the cluster.
Example
The crsctl check cluster command returns output similar to the following:
$ crsctl check cluster -all
*****************************************************************
node1:
CRS-4537: Cluster Ready Services is online
CRS-4529: Cluster Synchronization Services is online
CRS-4533: Event Manager is online
*****************************************************************
node2:
CRS-4537: Cluster Ready Services is online
CRS-4529: Cluster Synchronization Services is online
CRS-4533: Event Manager is online
*****************************************************************
Syntax
crsctl check crs
Example
To check the health of Oracle Clusterware on the local server:
$ crsctl check crs
CRS-4638: Oracle High Availablity Services is online
CRS-4537: Cluster Ready Services is onlin
CRS-4529: Cluster Synchronization Services is online
CRS-4533: Event Manager is online
Syntax
crsctl check resource {resource_name [...] | -w "filter" }
[-n node_name] [-k cardinality_id] [-d degree_id] }
Parameters
Usage Notes
■ You must have read and execute permissions on the specified resources to check
them
■ Do not use this command for any resources with names that begin with ora
because these resources are Oracle resources
■ If this command is successful, it only means that a check was issued; it does not
mean the CHECK action has been completed
Example
To initiate the check action inside the application-specific agent of a particular
resource:
$ crsctl check resource appsvip
Syntax
crsctl check ctss
Example
The crsctl check ctss command returns output similar to the following:
CRS-4700: The Cluster Time Synchronization Service is in Observer mode.
or
CRS-4701: The Cluster Time Synchronization Service is in Active mode.
CRS-4702: Offset from the reference node (in msec): 100
Syntax
crsctl config crs
Example
The crsctl config crs command returns output similar to the following:
CRS-4622: Oracle High Availability Services autostart is enabled.
Syntax
crsctl delete crs administrator -u user_name [-f]
Parameters
Usage Notes
■ The user_name parameter is required
Example
To remove a user from the list of cluster administrators:
# crsctl delete crs administrator -u scott
Syntax
crsctl delete css votedisk voting_disk_GUID [voting_disk_GUID [...]]
Parameters
Usage Notes
■ You can use this command only to remove voting disks from non-Oracle ASM
storage devices
■ You can obtain the file universal identifiers of each current voting disk by running
the crsctl query css votedisk command
Example
To remove a voting disk:
$ crsctl delete css votedisk 26f7271ca8b34fd0bfcdc2031805581e
Syntax
crsctl delete node -n node_name
Usage Notes
■ You must be root to run this command
■ The node_name parameter is required
Example
To delete the node named node06 from the cluster, run the following command as
root:
Syntax
crsctl delete serverpool server_pool_name [server_pool_name [...]] [-i]
Usage Notes
■ The server_pool_name parameter is required
■ If you specify -i, then the command fails if Oracle Clusterware cannot process the
request immediately
■ Do not use this command for any server pools with names that begin with ora
because these server pools are Oracle server pools
■ While you can use this command in either environment, it is only useful in the
Oracle RAC environment
Example
To delete a server pool, run the following command as root or the Oracle Clusterware
installation owner:
# crsctl delete serverpool sp1
Syntax
crsctl disable crs
Usage Notes
■ This command only affects the local server
■ If you disable Oracle High Availability Services automatic startup, you must use
the crsctl start crs command to start Oracle High Availability Services
Example
The crsctl disable crs command returns output similar to the following:
CRS-4621: Oracle High Availability Services autostart is disabled.
Syntax
crsctl discover dhcp -clientid clientid [-port port]
Parameters
Usage Notes
■ You must run this command as root
Example
The crsctl discover dhcp command returns output similar to the following:
# crsctl discover dhcp -clientid stmjk0462clr-stmjk01-vip
Syntax
crsctl enable crs
Usage Notes
■ This command only affects the local server
Example
The crsctl enable crs command returns output similar to the following:
CRS-4622: Oracle High Availability Services autostart is enabled.
Syntax
crsctl get clientid dhcp -cluname cluster_name -viptype vip_type
[-vip vip_res_name] [-n node_name]
Parameters
Example
The crsctl get clientid dhcp command returns output similar to the
following:
$ crsctl get clientid dhcp -cluname stmjk0462clr -viptype HOSTVIP -n stmjk01
CRS-10007: stmjk0462clr-stmjk01-vip
Syntax
crsctl get css parameter
Usage Notes
■ Cluster Synchronization Services parameters and their default values include:
clusterguid
diagwait
disktimeout (200 (seconds))
misscount (30 (seconds))
reboottime (3 (seconds))
priority (4 (UNIX), 3 (Windows))
logfilesize (50 (MB))
Example
The crsctl get css disktimeout command returns output similar to the
following:
$ crsctl get css disktimeout
CRS-4678: Successful get disktimeout 200 for Cluster Synchronization Services.
Syntax
crsctl get css ipmiaddr
Usage Notes
■ Run the command under the user account used to install Oracle Clusterware.
■ This command only obtains the IP address stored in the Oracle Local Registry. It
may not be the IP address actually used by IPMI.
Use either ipmiutil or ipmitool as root on the local server to obtain the IP
address used by the IPMI device.
Example
To obtain the IPMI device IP address:
$ crsctl get css ipmiaddr
Syntax
crsctl get nodename
Example
The crsctl get nodename command returns output similar to the following:
node2
Syntax
crsctl getperm serverpool server_pool_name [-u user_name | -g group_name]
Parameters
Usage Notes
■ The server_pool_name parameter is required
■ Do not use this command for any server pools with names that begin with ora
because these server pools are Oracle server pools
■ While you can use this command in either environment, it is only useful in the
Oracle RAC environment
Example
The crsctl getperm serverpool command returns output similar to the
following:
$ crsctl getperm serverpool sp1
NAME: sp1
owner:root:rwx,pgrp:root:r-x,other::r--
crsctl lsmodules
Use the crsctl lsmodules command to list the components of the modules that
you can debug.
Syntax
crsctl lsmodules {mdns | gpnp | css | crf | crs | ctss | evm | gipc}
Usage Notes
You can specify any of the following components:
mdns: Multicast domain name server
gpnp: Grid Plug and Play service
css: Cluster Synchronization Services
crf: Cluster Health Monitor
crs: Cluster Ready Services
ctss: Cluster Time Synchronization Service
evm: Event Manager
gipc: Grid Interprocess Communication
Example
The crsctl lsmodules command returns output similar to the following:
$ crsctl lsmodules evm
List EVMD Debug Module: CLSVER
List EVMD Debug Module: CLUCLS
List EVMD Debug Module: COMMCRS
List EVMD Debug Module: COMMNS
List EVMD Debug Module: CRSOCR
List EVMD Debug Module: CSSCLNT
Syntax
crsctl modify serverpool server_pool_name -attr "attr_name=attr_value
[,attr_name=attr_value[, ...]]" [-i] [-f]
Parameters
Usage Notes
■ You must run this command as root
■ The server_pool_name parameter is required
■ If an attribute value for an attribute name-value pair contains commas, then the
value must be enclosed in single quotation marks (''). For example:
"START_DEPENDENCIES='hard(res1,res2,res3)'"
■ Running this command may result in Oracle Clusterware relocating other servers
between server pools to comply with the new configuration
■ Do not use this command for any server pools with names that begin with ora
because these server pools are Oracle server pools
■ While you can use this command in either environment, it is only useful in the
Oracle RAC environment
Example
To modify an existing server pool, run the following command as root or the Oracle
Clusterware installation owner:
# crsctl modify serverpool sp1 -attr "MAX_SIZE=7"
Syntax
crsctl pin css -n node_name [ node_name [..]]
Usage Notes
■ You can specify a space-delimited list of servers
■ Any pre-11g release 2 (11.2) Oracle software must reside on a pinned server.
■ A node may be unpinned with crsctl unpin css.
■ Deleting a node with the crsctl delete node command implicitly unpins the
node.
Example
To pin the node named node2:
# crsctl pin css -n node2
Syntax
crsctl query crs administrator
Example
The crsctl query crs administrator command returns output similar to the
following:
CRS Administrator List: scott
Syntax
crsctl query crs activeversion
Example
The crsctl query crs activeversion command returns output similar to the
following:
Oracle Clusterware active version on the cluster is [11.2.0.2.0]"
Syntax
crsctl query crs releaseversion
Example
The crsctl query crs releaseversion command returns output similar to the
following:
Oracle High Availablity Services release version on the local node is [11.2.0.2.0]
Syntax
crsctl query crs softwareversion node_name
Usage Notes
■ If you do not provide a node name, then Oracle Clusterware displays the version
of Oracle Clusterware running on the local server.
Example
The crsctl query crs softwareversion command returns output similar to
the following:
Oracle Clusterware version on node [node1] is [11.2.0.2.0]
Syntax
crsctl query css ipmiconfig
Usage Notes
■ This command attempts to locate and access the IPMI configuration stored in the
Oracle Cluster Registry (OCR) and should be executed under the account used to
install Oracle Clusterware, or an authorization failure may be reported.
■ An authorization failure may not result when executed under another account, if
the registry contains no IPMI configuration data.
Example
The crsctl query css ipmiconfig command returns output similar to the
following:
CRS-4236: Oracle Clusterware configured to use IPMI
Or
CRS-4237: Oracle Clusterware is not fully configured to use IPMI
Syntax
crsctl query css ipmidevice
Usage Notes
■ This command performs a pre-check during IPMI installation, and is normally
issued only by the installer.
■ This command performs a perfunctory check and a success return does not
guarantee that the IPMI hardware is fully configured for use.
■ There are no special privileges required to run this command.
Example
The crsctl query css ipmidevice command returns output similar to the
following:
CRS-4231: IPMI device and/or driver found
Or
CRS-4218: Unable to access an IPMI device on this system
Syntax
crsctl query css votedisk
Usage Notes
■
Example
The crsctl query css votedisk command returns output similar to the
following:
$ crsctl query css votedisk
## STATE File Universal Id File Name Disk group
-- ----- ----------------- --------- ---------
1. ONLINE 296641fd201f4f3fbf3452156d3b5881 (/ocfs2/host09_vd3) []
2. ONLINE 8c4a552bdd9a4fd9bf93e444223146f2 (/netapp/ocrvf/newvd) []
3. ONLINE 8afeee6ae3ed4fe6bfbb556996ca4da5 (/ocfs2/host09_vd1) []
Located 3 voting disk(s).
Syntax
crsctl query dns {-servers | -name name [-dnsserver DNS_server_address]
[-port port] [-attempts number_of_attempts] [-timeout timeout_in_seconds] [-v]}
Parameters
Example
The crsctl query dns command returns output similar to the following for a DNS
server named stmjk07-vip.stmjk0462.foo.com:
CRS-10024: DNS server returned 192.168.29.250 for name
stmjk07-vip.stmjk0462.foo.com
If you choose the -servers option, then the command returns output similar to the
following:
CRS-10018: the following configuration was found on the system:
CRS-10019: There are 3 domains in search order. They are:
us.foo.com
foo.com
foocorp.com
CRS-10022: There are 3 name servers. They are:
192.168.249.41
192.168.249.52
192.168.202.15
CRS-10020: number of retry attempts for name lookup is: 2
CRS-10021: timeout for each name lookup is: 1
Syntax
crsctl release dhcp -clientid clientid [-port port]
Parameters
Example
The crsctl release dhcp command returns output similar to the following:
$ crsctl release dhcp -clientid stmjk0462clr-stmjk01-vip
Syntax
crsctl relocate resource {resource_name | resource_name | -all -s source_server |
-w "filter"} [-n destination_server] [-k cid] [-env "env1=val1,env2=val2,..."]
[-i] [-f]
Parameters
Usage Notes
■ Any one of the three following options is required to specify which resources you
want to relocate:
– You can specify one particular resource to relocate.
– Or you can specify one particular or all the resources to relocate from a
particular source server.
– Thirdly, you can specify a resource filter that Oracle Clusterware uses to match
resources to relocate.
■ If a resource has a degree ID greater than 1, then Oracle Clusterware relocates all
instances of the resource.
■ You must have read and execute permissions on the specified resources to relocate
them
■ Do not use this command for any resources with names that begin with ora
because these resources are Oracle resources.
Example
To relocate one particular resource from one server to another:
# crsctl relocate resource myResource1 -s node1 -n node3
Syntax
crsctl relocate server server_name [...] -c server_pool_name [-i] [-f]
Parameters
Usage Notes
■ The server_name and -c server_pool_name parameters are required
Example
To move the node6 and node7 servers into the sp1 server pool without disrupting
any active resources on those nodes, use the following command:
$ crsctl relocate server node6 node7 -c sp1
Syntax
crsctl replace discoverystring "absolute_path[,...]"
Parameters
Usage Notes
■ You must be root, the Oracle Clusterware installation owner, or a member of the
Administrators group to run this command.
■ You can run this command on any node in the cluster.
Example
Assume the current discovery string is /oracle/css1/*. To also use voting disk files
in the /oracle/css2/ directory, replace the current discovery string using the
following command:
# crsctl replace discoverystring "/oracle/css1/*,/oracle/css2/*"
Syntax
crsctl replace votedisk [+asm_disk_group | path_to_voting_disk [...]]
Parameters
Table E–30 crsctl replace votedisk Command Parameters
Parameter Description
+asm_disk_group Specify the disk group in Oracle ASM where you want to
locate the voting disk.
path_to_voting_disk [...] A space-delimited list of voting disk file paths for voting
disk files that reside outside of Oracle ASM.
Usage Notes
■ You must be root, the Oracle Clusterware installation owner, or a member of the
Administrators group to run this command.
■ Specify to replace a voting disk in either an Oracle ASM disk group or in some
other storage device.
■ You can run this command on any node in the cluster.
Example
Example 1
To replace a voting disk that is located within Oracle ASM:
$ crsctl replace votedisk +diskgroup1
Example 2
To replace a voting disk that is located on a shared file system:
$ crsctl replace votedisk /mnt/nfs/disk1 /mnt/nfs/disk2
Syntax
crsctl request dhcp -clientid clientid [-port port]
Parameters
Example
The crsctl request dhcp command returns output similar to the following:
$ crsctl request dhcp -clientid stmjk0462clr-stmjk01-vip
Syntax
crsctl set css parameter value
Usage Notes
■ Do not use the crsctl set css command to set the following parameters
unless instructed to do so by My Oracle Support.
■ Cluster Synchronization Services parameters include:
diagwait
disktimeout
logfilesize
misscount
priority
reboottime
Syntax
crsctl set css ipmiaddr ip_address
Usage Notes
■ Run the command under the user account used to install Oracle Clusterware
■ Obtain the IP address used by the IPMI device using either ipmiutil or
ipmitool as root on the local server
■ Oracle Clusterware stores the IP address for IPMI in the configuration store, and
distributes the address as required
■ This command only stores the IPMI IP address on the server from which you run
it
■ This command fails if another server cannot access IPMI at the supplied address
Example
To store the IPMI IP address on a local server and distribute it to other cluster nodes:
$ crsctl set css ipmiaddr 192.0.2.244
Syntax
crsctl set css ipmiadmin ipmi_administrator_name
Usage Notes
■ This command must be run under the user account that installed Oracle
Clusterware.
■ When prompted, provide the new password to associate with the new
administrator account name. Oracle Clusterware stores the name and password
for the local IPMI in the configuration store, and distributes the new credentials as
required.
■ This command only modifies the IPMI administrator on the server from which
you run it.
■ This command fails if another server cannot access the local IPMI at the supplied
address.
Example
To modify the IPMI administrator scott:
$ crsctl set css ipmiadmin scott
Syntax
crsctl setperm serverpool server_pool_name {-u acl_string | -x acl_string |
-o user_name | -g group_name}
Parameters
Usage Notes
■ The server_pool_name parameter is required
■ Do not use this command for any server pools with names that begin with ora
because these server pools are Oracle server pools
■ While you can use this command in either environment, it is only useful in the
Oracle RAC environment
Example
To grant read, write, and execute permissions on a server pool for user Scott Tiger:
crsctl setperm serverpool sp3 -u user:scott.tiger:rwx
Syntax
crsctl start cluster [-all | -n server_name [...]]
Usage Notes
■ You can choose to start the Oracle Clusterware stack on all servers in the cluster,
on one or more named servers in the cluster (separate multiple server names by a
space), or the local server, if you do not specify either -all or -n.
■ You can use this cluster-aware command on any node in the cluster.
Example
To start the Oracle Clusterware stack on two named servers run the following
command as root:
# crsctl start cluster -n node1 node2
Syntax
crsctl start crs
Usage Notes
■ This command starts Oracle High Availability Services only on the local server
Example
To start Oracle High Availability Services on the local server, run the following
command as root:
# crsctl start crs
crsctl start ip
Starting with Oracle Database 11g release 2 (11.2.0.2), use the crsctl start ip
command to start a given IP name or IP address on a specified interface with a
specified subnet mask. Run this command on the server on which you want to bring
up the IP.
Syntax
crsctl start ip -A {IP_name | IP_address}/netmask/interface_name
Parameters
Example
To start an IP on the local server, run the command similar to the following:
Syntax
crsctl start testdns [-address address [-port port]] [-once] [-v]
Parameters
Example
To start a test DNS server on the local server, run the command similar to the
following:
$ crsctl start testdns -address 192.168.29.218 -port 63 -v
crsctl status ip
Starting with Oracle Database 11g release 2 (11.2.0.2), use the crsctl status ip
command to check if a given IP address is up on the network.
Syntax
crsctl status ip -A {IP_name | IP_address}
Parameters
Table E–35 crsctl status ip Command Parameters
Parameter Description
{IP_name | IP_address} Specify either a domain name or an IP address.
If you do not specify a fully-qualified domain name, then
CRSCTL uses a standard name search.
Example
The crsctl status ip command returns output similar to the following:
CRS-10003: IP address 192.168.29.220 could be reached from current node
Syntax
crsctl status server [-p | -v | -f]
Parameters
Example
Example 1
The crsctl status server command returns output similar to the following:
NAME=node1
STATE=ONLINE
NAME=node2
STATE=ONLINE
Example 2
To display the full configuration of a specific server, enter a command similar to the
following:
$ crsctl status server node2 -f
NAME=node2
STATE=ONLINE
ACTIVE_POOLS=Generic ora.orcl
STATE_DETAILS=
Syntax
crsctl status serverpool [-p | -v | -f]
Parameters
Usage Notes
■ The server_pool_name parameter or a filter is required
■ Do not use this command for any server pools with names that begin with ora
because these server pools are Oracle server pools
■ While you can use this command in either environment, it is only useful in the
Oracle RAC environment
Examples
Example 1
To display the full configuration of the server pool sp1:
$ crsctl status serverpool sp1 -f
NAME=spl
IMPORTANCE=1
MIN_SIZE=0
MAX_SIZE=-1
SERVER_NAMES=node3 node4 node5
PARENT_POOLS=Generic
EXCLUSIVE_POOLS=
ACL=owner:oracle:rwx,pgrp:oinstall:rwx,other::r--
ACTIVE_SERVERS=node3 node4
Example 2
To display all the server pools and the servers associated with them, use the following
command:
$ crsctl status serverpool
NAME=Free
ACTIVE_SERVERS=
NAME=Generic
ACTIVE_SERVERS=node1 node2
NAME=ora.orcl
ACTIVE_SERVERS=node1 node2
NAME=sp1
ACTIVE_SERVERS=node3 node4
Example 3
To find a server pool that meets certain criteria, use the following command:
$ crsctl status serverpool -w "MAX_SIZE > 1"
NAME=sp2
ACTIVE_SERVERS=node3 node4
Syntax
crsctl status testdns [-server DNS_server_address] [-port port] [-v]
Parameters
Example
The crsctl status testdns command returns output similar to the following:
CRS-10024: DNS server returned 192.168.28.74 for name
stmjk07-vip.stmjk0462.foo.com
Syntax
crsctl stop cluster [-all | -n server_name [...]] [-f]
Usage Notes
■ If you do not specify -all or one or more space-delimited server names, then
Oracle Clusterware stops the Oracle Clusterware stack on the local server.
■ You can use this cluster-aware command on any node in the cluster.
■ This command attempts to gracefully stop resources managed by Oracle
Clusterware while attempting to stop the Oracle Clusterware stack.
If any resources that Oracle Clusterware manages are still running after you run
the crsctl stop cluster command, then the command fails. Use the -f
option to unconditionally stop all resources and stop the Oracle Clusterware stack.
■ If you intend to stop Oracle Clusterware on all or a list of nodes, then use the
crsctl stop cluster command, because it prevents certain resources from
being relocated to other servers in the cluster before the Oracle Clusterware stack
is stopped on a particular server. If you must stop the Oracle High Availability
Services on one or more nodes, then wait until the crsctl stop cluster
command completes and then run the crsctl stop crs command on any
particular nodes, as necessary.
Example
To stop the Oracle Clusterware stack on a particular server:
# crsctl stop cluster -n node1
Syntax
crsctl stop crs [-f]
Usage Notes
■ This command attempts to gracefully stop resources managed by Oracle
Clusterware while attempting to stop Oracle High Availability Services on the
local server.
If any resources that Oracle Clusterware manages are still running after you run
the crsctl stop crs command, then the command fails. Use the -f option to
unconditionally stop all resources and stop Oracle High Availability Services on
the local server.
■ If you intend to stop Oracle Clusterware on all or a list of nodes, then use the
crsctl stop cluster command, because it prevents certain resources from
being relocated to other servers in the cluster before the Oracle Clusterware stack
is stopped on a particular server. If you must stop the Oracle High Availability
Services on one or more nodes, then wait until the crsctl stop cluster
command completes and then run the crsctl stop crs command on any
particular nodes, as necessary.
■ In Oracle Clusterware 11g release 2 (11.2.0.3), when you run this command in
Solaris Sparc and Solaris X64 environments, drivers remain loaded on shutdown
and subsequent startup. This does not happen in Linux environments.
Example
To stop Oracle High Availability Services on the local server:
# crsctl stop crs
crsctl stop ip
Starting with Oracle Database 11g release 2 (11.2.0.2), use the crsctl stop ip
command to stop a given IP name or IP address on a specified interface with a
specified subnet mask. Run this command on the server on which you want to stop
the IP.
Syntax
crsctl stop ip -A {IP_name | IP_address}/interface_name
Parameters
Example
To stop an IP on the local server, run the command similar to the following:
$ crsctl stop ip -A MyIP.domain.com/eth0
Syntax
crsctl stop testdns [-address address [-port port]] [-domain GNS_domain] [-v]
Parameters
Table E–40 crsctl stop testdns Command Parameters
Parameter Description
-address address Specify the server address for which you started the test
DNS server in the form IP_address/netmask
[/interface_name].
-port port The port on which the DNS server listens. If you do not
specify a port, then it defaults to port 53.
[-domain GNS_domain] Domain for which the server should stop listening.
Example
The crsctl stop testdns command returns output similar to the following:
CRS-10032: successfully stopped the DNS listening daemon running on port 53 on
local node
Syntax
crsctl unpin css -n node_name [node_name [...exit]]
Usage Notes
■ You can specify a space-delimited list of nodes.
■ Unpinned servers that stop for longer than a week are no longer reported by
olsnodes. These servers are dynamic when they leave the cluster, so you do not
need to explicitly remove them from the cluster.
■ Deleting a node with the crsctl delete node command implicitly unpins the
node.
■ During upgrade of Oracle Clusterware, all servers are pinned, whereas after a
fresh installation of Oracle Clusterware 11g release 2 (11.2), all servers you add to
the cluster are unpinned.
■ You cannot unpin a server that has an instance of Oracle RAC that is older than 11g
release 2 (11.2) if you installed Oracle Clusterware 11g release 2 (11.2) on that
server.
Example
To unpin two nodes:
$ crsctl unpin css -n node1 node4
Syntax
crsctl unset css parameter
Usage Notes
■ You can specify the following Cluster Synchronization Services parameters:
– diagwait
– disktimeout
– misscount
– reboottime
– priority
– logfilesize
Example
To restore the reboottime Cluster Synchronization Services parameter to its default
value:
$ crsctl unset css reboottime
Syntax
crsctl unset css ipmiconfig
Usage Notes
■ This command must be run under the user account originally used to configure
IPMI or by a privileged user.
■ This command only clears the IPMI configuration on the server on which you run
it.
■ If Oracle Clusterware was able to access and use the configuration data to be
deleted by this command, then it will continue to do so until you restart Oracle
Clusterware.
Example
To clear the IPMI configuration data from the Oracle Local Registry and restart Oracle
Clusterware to prevent further use of IPMI, log in as root or a member of the
Administrator's group on Windows and run the following commands:
crsctl unset css ipmiconfig
crsctl stop crs
crsctl start crs
The commands listed in this section control Oracle High Availability Services. These
commands manage the Oracle High Availability Services stack in the Oracle Restart
environment, which consists of the Oracle High Availability Services daemon (ohasd),
Oracle ASM (if installed), and Cluster Synchronization Services (if Oracle ASM is
installed). These commands only affect the local server on which you run them.
Syntax
crsctl check has
Usage Notes
■
Example
The crsctl check has command returns output similar to the following:
CRS-4638: Oracle High Availability Services is online
Syntax
crsctl config has
Usage Notes
■
Example
The crsctl config has command returns output similar to the following:
CRS-4622 Oracle High Availability Services autostart is enabled.
Syntax
crsctl disable has
Usage Notes
■
Example
The crsctl disable has command returns output similar to the following:
CRS-4621 Oracle High Availability Services autostart is disabled.
Syntax
crsctl enable has
Usage Notes
■
Example
The crsctl enable has command returns output similar to the following:
CRS-4622 Oracle High Availability Services autostart is enabled.
Syntax
crsctl query has releaseversion
Usage Notes
■
Example
The crsctl query has releaseversion command returns output similar to the
following:
Oracle High Availability Services release version on the local node is
[11.2.0.0.2]
Syntax
crsctl query has softwareversion
Usage Notes
■ If you do not provide a server name, then Oracle Clusterware displays the version
of Oracle Clusterware running on the local server.
Example
The crsctl query has softwareversion command returns output similar to
the following:
Oracle High Availability Services version on the local node is [11.2.0.2.0]
Syntax
crsctl start has
Usage Notes
■
Example
To start Oracle High Availability Services on the local server:
# crsctl start has
Syntax
crsctl stop has [-f]
Usage Notes
■ This command attempts to gracefully stop resources managed by Oracle
Clusterware while attempting to stop Oracle High Availability Services.
If any resources that Oracle Clusterware manages are still running after you run
the crsctl stop has command, then the command fails. Use the -f option to
unconditionally stop all resources and stop Oracle High Availability Services.
Example
To stop Oracle High Availability Services on the local server:
# crsctl stop has
You can use crsctl set log commands as the root user to enable dynamic
debugging for Cluster Ready Services (CRS), Cluster Synchronization Services (CSS),
and the Event Manager (EVM), and the clusterware subcomponents. You can
dynamically change debugging levels using crsctl debug commands. Debugging
information remains in the Oracle Cluster Registry (OCR) for use during the next
startup. You can also enable debugging for resources.
This section covers the following topics:
■ Dynamic Debugging
■ Component Level Debugging
■ Enabling Debugging for Oracle Clusterware Resources
■ Enabling Additional Tracing for Oracle Clusterware Components
Dynamic Debugging
This section includes the following CRSCTL commands that aid in debugging:
■ crsctl set log
Syntax
crsctl set log {[crs | css | evm "component_name=log_level, [...]"] |
[all=log_level]}
You can also set log levels for the agents of specific resources, as follows:
crsctl set log res "resource_name=log_level, [...]"
Usage Notes
■ You can set log levels for various components of the three modules, CRS, CSS, and
EVM. If you choose the all option, then you can set log levels for all components
of one module with one command. Use the crsctl lsmodules command to
obtain a list of components for each module.
■ Enter a comma-delimited list of component name-log level pairs enclosed in
double quotation marks ("").
■ The log_level is a number from 1 to 5 that sets the log level for the component
or resource, where 1 is the least amount of log output and 5 provides the most
detailed log output. The default log level is 2.
■ To set log levels for resources, specify the name of a particular resource, or a
comma-delimited list of resource name-log level pairs enclosed in double
quotation marks ("").
Examples
To set log levels for the CRSRTI and CRSCOMM components of the CRS module:
$ crsctl set log crs "CRSRTI=1,CRSCOMM=2"
You can use crsctl set log and crsctl set trace commands as the root
user to enable dynamic debugging for the various Oracle Clusterware modules.
This section includes the following topics:
■ Enabling Debugging for Oracle Clusterware Modules
■ Creating an Initialization File to Contain the Debugging Level
Run the crsctl set command as the root user, and supply the following
information:
■ module_name: The name of one of the following modules:
mdns: Multicast domain name server
gpnp: Grid Plug and Play service
css: Cluster Synchronization Services
crf: Cluster Health Monitor
crs: Cluster Ready Services
ctss: Cluster Time Synchronization Service
evm: Event Manager
gipc: Grid Interprocess Communication
■ component: The name of a component for one of the modules. See Table E–41 for
a list of all of the components.
■ debugging_level: A number from 1 to 5 to indicate the level of detail you want
the debug command to return, where 1 is the least amount of debugging output
and 5 provides the most detailed debugging output. The default debugging level
is 2.
You can dynamically change the debugging level in the crsctl command or you
can configure an initialization file for changing the debugging level, as described
in "Creating an Initialization File to Contain the Debugging Level" on page E-72.
The following commands show examples of how to enable debugging for the various
modules:
■ To enable debugging for Oracle Clusterware:
crsctl set log crs "CRSRTI:1,CRSCOMM:2"
To obtain a list of components that can be used for debugging, run the crsctl
lsmodules command, as follows:
crsctl lsmodules {mdns | gpnp | css | crf | crs | ctss | evm | gipc}
Note: You do not have to be the root user to run the crsctl
lsmodulues command.
Table E–41 shows the components for the CRS, CSS, and EVM modules, respectively.
Note that some component names are common between the CRS, EVM, and CSS
daemons and may be enabled on that specific daemon. For example, COMMNS is the NS
layer and, because each daemon uses the NS layer, you can enable this specific module
component on any of the daemons to get specific debugging information.
Table E–41 Components for the CRS, CSS, and EVM Modules
CRS Components1 CSS Components2 EVM Components3
CRSUI CLSF EVMD
CRSCOMM CSSD EVMDMAIN
CRSRTI GIPCCM EVMCOMM
CRSMAIN GIPCGM EVMEVT
CRSPLACE GIPCNM EVMAPP
CRSAPP GPNP EVMAGENT
CRSRES OLR CRSOCR
CRSCOMM SKGFD CLUCLS
CRSOCR CSSCLNT
CRSTIMER COMMCRS
CRSEVT COMMNS
CRSD
CLUCLS
CSSCLNT
COMMCRS
COMMNS
1
Obtain the list of CRS components using the crsctl lsmodules crs command.
2
Obtain the list of CSS components using the crsctl lsmodules css command.
3
Obtain the list of EVM components using the crsctl lsmodules evm command.
Example 1
To set debugging levels on specific cluster nodes, include the -nodelist keyword
and the names of the nodes, as follows:
crsctl set log crs "CRSRTI:1,CRSCOMM:2" -nodelist node1,node2
Using the crsctl set log crs command, you can debug the OCR components
listed in Table E–45. The components listed in Table E–45 can also be used for the
Oracle Local Registry (OLR) except for OCRMAS and OCRASM. You can also use
them for OCR and OLR clients, except for OCRMAS and OCRSRV. Some OCR and
OLR clients are OCRCONFIG, OCRDUMP, and so on.
You can also use an initialization file when using OCR utilities. The initialization file
for ocrconfig, ocrdump, and ocrcheck is:
Grid_home/srvm/admin/ocrlog.ini
You can enable debugging for Oracle Clusterware resources by running the crsctl
set log command, using the following syntax:
crsctl set log res "resource_name=debugging_level"
Run the crsctl set log command as the root user, and supply the following
information:
■ resource_name: The name of the resource to debug.
■ debugging_level: A number from 1 to 5 to indicate the level of detail you want
the debug command to return, where 1 is the least amount of debugging output
and 5 provides the most detailed debugging output. The default debugging level
is 2.
You can dynamically change the debugging level in the crsctl command or you
can configure an initialization file for changing the debugging level, as described
in "Creating an Initialization File to Contain the Debugging Level" on page E-72.
To obtain a list of resources that can be used for debugging, run the crsctl status
resource command.
Example 1
To generate a debugging log for the VIP resource on node1, issue the following
command:
crsctl set log res "ora.node1.vip:1"
My Oracle Support may ask you to enable tracing to capture additional information.
Because the procedures described in this section may affect performance, only perform
these activities with the assistance of My Oracle Support.
You can enable tracing for Oracle Clusterware resources by running the crsctl set
trace command, using the following syntax:
crsctl set trace module_name "component_name=tracing_level,..."
Run the crsctl set trace command as the root user, and supply the following
information:
■ module_name: The name of one of the following modules:
mdns: Multicast domain name server
gpnp: Grid Plug and Play service
css: Cluster Synchronization Services
crf: Cluster Health Monitor
crs: Cluster Ready Services
ctss: Cluster Time Synchronization Service
evm: Event Manager
gipc: Grid Interprocess Communication
■ component_name: The name of the component for one of the modules. See
Table E–41 for a list of components.
■ tracing_level: A number from 1 to 5 to indicate the level of detail you want
the trace command to return, where 1 is the least amount of tracing output and 5
provides the most detailed tracing output.
Example 1
To generate a trace file for Cluster Synchronization Services, use the following
command:
crsctl set trace "css=3"
This section contains information about using the programming interface (C API) to
Oracle Clusterware (CLSCRS.
■ Overview
■ Operational Notes
■ Deprecated CLSCRS APIs
Overview
CLSCRS is a set of C-based APIs for Oracle Clusterware. The CLSCRS APIs enable you
to manage the operation of entities that are managed by Oracle Clusterware. These
entities include resources, resource types, servers, and server pools. You use the APIs
to register user applications with Oracle Clusterware so that the clusterware can
manage them and maintain high availability. Once an application is registered, you
can manage it and query the application’s status. If you no longer need the
application, then you can stop it and unregister it from Oracle Clusterware.
Oracle Clusterware services are provided by Cluster Ready Services that runs as part
of Oracle Clusterware. The CLSCRS API uses a context that is explicitly named in all
function calls. The API does not store anything at the process or thread level. You can
use the callbacks for diagnostic logging.
Note: You can install the Oracle Clusterware high availability API
from the Oracle Database client installation media.
Operational Notes
This section includes the following topics:
■ Context Initialization and Persistence
■ Threading Support
■ CLSCRS API Data Structures
■ Memory Management
■ Error Handling and Tracing
■ Callback Mechanism
■ Filters
■ Script Agent Usage
■ Help Interface
Threading Support
If initialized with the CLSCRS_FLAG_USETHREADS flag, then the CLSCRS API may
spawn threads internally. Every API function executes in the context of the calling
thread. The API context object may not be used concurrently by multiple threads.
However, no thread-affinity on the part of the client is required. A process may create
multiple API contexts and use those on different threads, subject to the
one-thread-per-one-context-at-a-time rule.
Memory Management
The CLSCRS APIs work on elements and lists. The elements are added to lists. The
memory for both elements and lists is allocated and released through explicit API
calls. It is the caller's responsibility to release the memory that they allocate. However,
when elements are added to lists, only the list must be destroyed: the destruction of
the list destroys its elements implicitly. The elements must be destroyed when they are
not added to any list. For recursive lists, destroying the parent list also destroys any
lists contained within it. The clscrs_sp and clscrs_res elements must be
destroyed by the caller. If they are part of a clscrs_splist or clscrs_reslist,
destroying the list destroys the respective clscrs_sp and clscrs_res entities.
For example, when a resource is created and added to a resource list, only the resource
list must be destroyed, but not the individual resource. Destroying the resource list
releases the memory for the individual resource, too.
Memory is allocated by the API through the following calls:
clscrs_sp_create()
clscrs_res_create()
clscrs_serverpool_create()
clscrs_type_create()
clscrs_splist_create()
clscrs_reslist_create()
clscrs_entity_id_create()
Each of the calls in the preceding list has a corresponding clscrs_*_destroy() call.
The status argument contains a status code about the crsd operation on the
Oracle Clusterware entity. Additionally, the msg argument contains a message
from the crsd about the result of the operation. Though the op_status list
continues to contain the results of the crsd operation for each Oracle Clusterware
entity in the msg argument, usage of the msg argument to get the error codes and
messages has now been deprecated and is not supported for any use of the API on
a new entity. Only pre-existing use cases (for acting on resources, specifically) are
supported. Use the callback function to process any messages returned by the
crsd.
Callback Mechanism
Interactive CLSCRS APIs provide a callback mechanism that the clients can use to
process error messages, warning messages, and progress messages sent by the crsd.
Example F–2 describes how to use the callback mechanism in an interactive API.
You can also print debug trace messages for the API, itself by passing the CLSCRS_
FLAG_TRACE flag when creating the context. The signature for context creation is:
CLSCRS_STAT clscrs_init_crs(clscrs_ctx **ctx, clscrs_msgf2 errf, void *errCtx,
ub4 flags);
For the trace messages to work, you must specify both the CLSCRS_FLAG_TRACE flag
and a clscrs_msgf2 callback mechanism in the clscrs_init_crs API.
The clscrs_msgf2 callback mechanism has the following signature:
typedef void (*clscrs_msgf)(void *usrp, const oratext *msg, sword msglen);
Filters
You can use filters to narrow down Oracle Clusterware entities upon which a CLSCRS
API operates. Simple filters are attribute-value pairs with an operator. Operators must
be surrounded by spaces, as shown in the examples. You can combine simple filters
into expressions called expression filters using Boolean operators.
Supported filter operators are:
=
>
<
!=
co: Contains
st: Starts with
There are two types of filters and CLSCRS has a set of APIs to create these filters:
■ Comparison filter: A simple filter that compares two values. For example:
TYPE = ora.db.type
■ Expression filter: A filter that is created from either a set of comparison filters or
expression filters, or both. For example:
((TYPE = ora.db.type) AND (CHECK_INTERVAL > 50))
You can use filters in the following interactive CLSCRS APIs in place of an entity list:
clscrs_start_resource2
clscrs_stat2
clscrs_stop_resource2
clscrs_check_resource2
clscrs_relocate_resource2
Help Interface
You can find the entire list of CLSCRS APIs, including usage information for each, in
the $ORA_CRS_HOME/crs/demo/clscrsx.h file, along with a demo called
crsapp.c.
The APIs listed in Table F–2 make calls to the Cluster Ready Services daemon (crsd)
to run commands. The crsd must be up and running for these APIs to function.
You can use non-interactive CLSCRS APIs for functions such as context initialization,
preparing request payloads for interactive APIs, and post-processing output of the
interactive APIs. The non-interactive CLSCRS APIs do not call crsd.
A callback error reporting mechanism is not available for the non-interactive CLSCRS
APIs. All interactive CLSCRS APIs, except, clscrs_stat2, use this callback
mechanism. Clients of these APIs also use the callback mechanism to receive error,
warning, and progress messages from the crsd.
You can also use filters to reduce the list of CRS entities. You can also use filters in the
interactive APIs to reduce the list of CRS entities.
Thread Safety
The routines provided to manage API data structures cannot be used with the same
API context in multiple threads concurrently; however, no thread-affinity on the part
of the client is required. A process may invoke these routines on multiple threads
provided that a separate API context is used in each instance.
This appendix describes the syntax of the Oracle Cluster Registry (OCR) configuration
utility, OCRCONFIG, and troubleshooting OCR, which includes descriptions and
usage information for OCRCHECK and OCRDUMP.
This appendix contains the following topics:
■ About OCRCONFIG
– Overview
– Operational Notes
■ OCRCONFIG Command Reference
■ Troubleshooting Oracle Cluster Registry and Diagnostic Output
About OCRCONFIG
This section contains topics which relate to using the OCRCONFIG utility.
■ Overview
■ Operational Notes
Overview
Use the ocrconfig command to manage OCR. Using this utility you can import,
export, add, delete, restore, overwrite, backup, repair, replace, move, upgrade, or
downgrade OCR.
Operational Notes
Usage Information
■ The OCRCONFIG executable is located in the Grid_home/bin directory
■ The ocrconfig command syntax is as follows:
ocrconfig -option
Log Files
The OCRCONFIG utility creates a log file in Grid_home/log/host_name/client.
To change the amount of logging, edit the path in the Grid_
home/srvm/admin/ocrlog.ini file.
ocrconfig -add
Use the ocrconfig -add command to add an OCR location to a storage device or
Oracle Automatic Storage Management (Oracle ASM) disk group. OCR locations that
you add must exist, have sufficient permissions, and, in the case of Oracle ASM disk
groups, must be mounted before you can add them.
Syntax
ocrconfig -add location_name
Usage Notes
■ You must run this command as root.
■ The location_name variable can be a device name, a file name, or the name of
an Oracle ASM disk group. For example:
– /dev/raw/raw1: Ensure that the device exists
– /oradbocfs/crs/data.ocr: You must create an empty (0 byte) OCR
location
– d:\oracle\mirror.ocr: You must create an empty (0 byte) OCR location
– +newdg: Ensure that the disk group exists and is mounted
If you specify an Oracle ASM disk group, the name of the disk group must be
preceded by a plus sign (+).
See Also:
■ Oracle Grid Infrastructure Installation Guide for information about
creating OCR locations and setting correct permissions
■ Oracle Automatic Storage Management Administrator's Guide for
more information about Oracle ASM disk group management
Example
To add an OCR location to the default location in Oracle ASM, data:
# ocrconfig -add +data
ocrconfig -backuploc
Use the ocrconfig -backuploc command to specify an OCR backup directory
location.
Syntax
ocrconfig [-local] -backuploc file_name
Usage Notes
■ You must run this command as root.
■ Use the -local option to specify an OLR backup directory location.
■ The file_name variable can be a full directory path name that is accessible by all
nodes. For example:
– Grid_home/cdata/cluster3/: Ensure that the location exists
– d:\cdata\cluster3: Ensure that the location exists
■ The default location for generating OCR backups on Linux or UNIX systems is
Grid_home/cdata/cluster_name, where cluster_name is the name of your
cluster. The Windows default location for generating OCR backups uses the same
path structure.
■ The default location for generating OLR backups on Linux or UNIX systems is
Grid_home/cdata/host_name, where host_name is the name of the node on
which the OLR resides that you want to back up. The Windows default location
for generating OLR backups uses the same path structure.
Example
To specify an OCR backup location in a directory:
# ocrconfig -backuploc $Grid_home/cdata/cluster3
ocrconfig -delete
Use the ocrconfig -delete command to remove an OCR device or file.
Syntax
ocrconfig -delete file_name
Usage Notes
■ You must run this command as root.
■ The file_name variable can be a device name, a file name, or the name of an
Oracle ASM disk group. For example:
– /dev/raw/raw1
– /oradbocfs/crs/data.ocr
– d:\oracle\mirror.ocr
– +olddg
If you specify an Oracle ASM disk group, the name of the disk group must be
preceded by a plus sign (+).
Example
To remove an OCR location:
# ocrconfig -delete +olddg
ocrconfig -downgrade
Use the ocrconfig -downgrade command to downgrade OCR to an earlier
specified version.
Syntax
ocrconfig -downgrade [-version version_string]
Usage Notes
■ You must run this command as root.
Example
To downgrade OCR to an earlier version:
# ocrconfig -downgrade -version
ocrconfig -export
Use the ocrconfig -export command to export the contents of OCR to a target file.
Syntax
ocrconfig [-local] -export file_name
Usage Notes
■ You must run this command as root.
■ Use the -local option to export the contents of OLR.
■ The file_name variable can be a full path name that is accessible by all nodes.
For example:
– /oradbocfs/crs/data.ocr
– d:\oracle\
Example
To export the contents of OCR to a file:
# ocrconfig -export d:\tmp\a
ocrconfig -import
Use the ocrconfig -import command to import the contents of a target file into
which you exported the contents of OCR back into OCR.
Syntax
ocrconfig [-local] -import file_name
Usage Notes
■ You must run this command as root.
■ Use the -local option to import the contents of OLR from a file.
■ The file_name variable must be a full path name that is accessible by all nodes.
For example:
– /oradbocfs/crs/data.ocr
– d:\oracle\
■ You must shut down Oracle Clusterware before running this command.
Example
To import the contents a file back into OCR:
# ocrconfig -import d:\tmp\a
ocrconfig -manualbackup
Use the ocrconfig -manualbackup command to back up OCR on demand in the
location you specify with the -backuploc option.
Syntax
ocrconfig [-local] -manualbackup
Usage Notes
■ You must run this command as root.
■ Use the -local option to perform a manual backup of OLR.
Example
To back up OCR:
# ocrconfig -manualbackup
ocrconfig -overwrite
Use the ocrconfig -overwrite command to overwrite an OCR configuration in
the OCR metadata with the current OCR configuration information that is found on
the node from which you run this command.
Syntax
ocrconfig -overwrite
Usage Notes
■ You must run this command as root.
Example
To overwrite an OCR configuration:
# ocrconfig -overwrite
ocrconfig -repair
Use the ocrconfig -repair command to repair an OCR configuration on the node
from which you run this command. Use this command to add, delete, or replace an
OCR location on a node that may have been stopped while you made changes to the
OCR configuration in the cluster. OCR locations that you add must exist, have
sufficient permissions, and, in the case of Oracle ASM disk groups, must be mounted
before you can add them.
Syntax
ocrconfig -repair -add file_name | -delete file_name | -replace
current_file_name -replacement new_file_name
Usage Notes
■ You must run this command as root.
■ Oracle High Availability Services must be started to successfully complete the
repair.
■ The Cluster Ready Services daemon must be stopped before running ocrconfig
-repair.
■ The file_name variable can be a valid OCR and either a device name, an
absolute path name of an existing file, or the name of an Oracle ASM disk group.
For example:
– /dev/raw/raw1
– /oradbocfs/crs/data.ocr
– d:\oracle\mirror.ocr
– +newdg
If you specify an Oracle ASM disk group, the name of the disk group must be
preceded by a plus sign (+).
See Also:
■ Oracle Grid Infrastructure Installation Guide for information about
creating OCRs and setting correct permissions
■ Oracle Automatic Storage Management Administrator's Guide for
more information about Oracle ASM disk group management
■ You can only use one option with ocrconfig -repair at a time.
■ Running this command only modifies the local configuration and it and only
affects the current node.
Example
To repair an OCR configuration:
# ocrconfig -repair -delete +olddg
ocrconfig -replace
Use the ocrconfig -replace command to replace an OCR device or file on the
node from which you run this command. OCR locations that you add must exist, have
sufficient permissions, and, in the case of Oracle ASM disk groups, must be mounted
before you can add them.
Syntax
ocrconfig -replace current_location_name -replacement new_location_name
Usage Notes
■ You must run this command as root.
■ The new_location_name variable can be a device name, a file name, or the
name of an Oracle ASM disk group. For example:
– /dev/raw/raw1: Ensure that the device exists
– /oradbocfs/crs/data.ocr: You must create an empty (0 byte) OCR
location
– d:\oracle\mirror.ocr: You must create an empty (0 byte) OCR location
– +newdg: Ensure that the disk group exists and is mounted
If you specify an Oracle ASM disk group, the name of the disk group must be
preceded by a plus sign (+).
See Also:
■ Oracle Grid Infrastructure Installation Guide for information about
creating OCRs and setting correct permissions
■ Oracle Automatic Storage Management Administrator's Guide for
more information about Oracle ASM disk group management
■ You must have at least two OCR devices to use this command. If you do not have
at least two OCR devices, then you must run the ocrconfig -add command to
add a new OCR device followed by the ocrconfig -delete command to delete
the OCR device you want to replace.
Example
To replace an OCR device or file:
# ocrconfig -replace /dev/raw/raw1 -replacement +newdg
ocrconfig -restore
Use the ocrconfig -restore command to restore OCR from an automatically
created OCR backup file.
Syntax
ocrconfig [-local] -restore file_name
Usage Notes
■ You must run this command as root.
■ Before running this command, ensure that the original OCR or OLR files exist. If
the original file does not exist, then you must create an empty file.
– /oradbocfs/crs/BACKUP00.ocr
– d:\oracle\BACKUP01.ocr
■ Ensure that the storage devices that you specify exist and that those devices are
valid.
Example
To restore OCR from a file:
# ocrconfig -restore /oradbocfs/crs/BACKUP00.ocr
ocrconfig -showbackup
Use the ocrconfig -showbackup command to display the backup location,
timestamp, and the originating node name of the backup files. By default, this
command displays information for both automatic and manual backups unless you
specify auto or manual.
Syntax
ocrconfig [-local] -showbackup [auto | manual]
Usage Notes
■ Use the -local option to show manual OLR backup information. The -local
flag functions only with the manual option.
■ You can optionally specify auto or manual to display information about only
automatic backups or only manual backups, respectively:
– auto: Displays information about automatic backups that Oracle Clusterware
created in the past 4 hours, 8 hours, 12 hours, and in the last day and week.
– manual: Displays information about manual backups that you invoke using
the ocrconfig -manualbackup command.
Example
To display manual backup information for OLR:
$ ocrconfig -local -showbackup manual
ocrconfig -upgrade
Only root scripts use the ocrconfig -upgrade command to upgrade OCR from a
previous version.
This section describes various methods for troubleshooting problems with OCR, and
obtaining diagnostic information from the utilities used to manage OCR. You can use
these utilities to troubleshoot OLR.
This section contains the following topics:
■ Troubleshooting Oracle Cluster Registry
■ Using the OCRCHECK Utility
■ Using the OCRDUMP Utility to View Oracle Cluster Registry Content
The OCRCHECK utility displays the version of the OCR’s block format, total space
available and used space, OCRID, and the OCR locations that you have configured.
OCRCHECK performs a block-by-block checksum operation for all of the blocks in all
of the OCRs that you have configured. It also returns an individual status for each file
and a result for the overall OCR integrity check.
Note: You can only use OCRCHECK when the Oracle Cluster Ready
Services stack is ONLINE on all nodes in the cluster.
See Also: "The Oracle Clusterware Stack" on page 1-7 for more
information about the Oracle Cluster Ready Services stack
You can run the ocrcheck -help command to display usage information about this
utility.
The following example shows a sample of the OCRCHECK utility output:
# ocrcheck
Note: The logical corruption check is only performed if you run the
ocrcheck command as root.
The following two examples show samples of the OCRCHECK utility output. Each
example shows only configured OCRs located on an Oracle ASM disk group and on a
raw device.
Version : 3
Total space (kbytes) : 262120
Used space (kbytes) : 2384
Available space (kbytes) : 259736
ID : 1517109829
Device/File Name : +ocrvd11
Device/File integrity check succeeded
Device/File Name : +ocrvd2
Device/File integrity check succeeded
Device/File not configured
Device/File not configured
Device/File not configured
Cluster registry integrity check succeeded
Logical corruption check succeeded
Note: You can use the ocrcheck -local command only when the
Oracle Cluster Ready Services stack and Oracle High Availability
Services stack are OFFLINE on the local node.
See Also: "The Oracle Clusterware Stack" on page 1-7 for more
information about the Oracle Cluster Ready Services and the Oracle
High Availability Services stacks
This section explains how to use the OCRDUMP utility to view OCR and Oracle Local
Registry (OLR) content for troubleshooting. The OCRDUMP utility enables you to
view OCR and OLR contents by writing the content to a file or stdout in a readable
format.
You can use several options for OCRDUMP. For example, you can limit the output to a
key and its descendents. You can also write the contents to an XML file that you can
view using a browser. OCRDUMP writes the OCR keys as ASCII strings and values in
a data type format. OCRDUMP retrieves header information based on a best effort
basis.
OCRDUMP also creates a log file in Grid_home/log/host_name/client. To
change the log level, edit the Grid_home/srvm/admin/ocrlog.ini file.
To change the logging component, edit the entry containing the comploglvl= entry.
For example, to change the log level of the OCRAPI component to 3 and to change the
log level of the OCRRAW component to 5, make the following entry in the ocrlog.ini
file:
comploglvl="OCRAPI:3;OCRRAW:5"
Note: Make sure that you have file creation privileges in the Grid_
home directory before using the OCRDUMP utility.
Displays OCR content from the subtree of the key SYSTEM in the terminal window.
ocrdump -stdout -xml
The following shows the output for the SYSTEM.version key that has integer value
of 3:
[SYSTEM.version]
UB4 (10) : 3
throughput on each of the network interfaces, error rates (if any) and the load
contributed by database instances on the interconnect, including:
■ Overall throughput across the private interconnect
■ Notification if a database instance is using public interface due to
misconfiguration
■ Throughput and errors (if any) on the interconnect
■ Throughput contributed by individual instances on the interconnect
All of this information also is available as collections that have a historic view. This is
useful with cluster cache coherency, such as when diagnosing problems related to
cluster wait events. You can access the Interconnects page by clicking the Interconnect
tab on the Cluster Database home page.
Also, the Oracle Enterprise Manager Cluster Database Performance page provides a
quick glimpse of the performance statistics for a database. Statistics are rolled up
across all the instances in the cluster database in charts. Using the links next to the
charts, you can get more specific information and perform any of the following tasks:
■ Identify the causes of performance issues.
■ Decide whether resources must be added or redistributed.
■ Tune your SQL plan and schema for better optimization.
■ Resolve performance issues
The charts on the Cluster Database Performance page include the following:
■ Chart for Cluster Host Load Average: The Cluster Host Load Average chart in the
Cluster Database Performance page shows potential problems that are outside the
database. The chart shows maximum, average, and minimum load values for
available nodes in the cluster for the previous hour.
■ Chart for Global Cache Block Access Latency: Each cluster database instance has
its own buffer cache in its System Global Area (SGA). Using Cache Fusion, Oracle
RAC environments logically combine each instance's buffer cache to enable the
database instances to process data as if the data resided on a logically combined,
single cache.
■ Chart for Average Active Sessions: The Average Active Sessions chart in the
Cluster Database Performance page shows potential problems inside the database.
Categories, called wait classes, show how much of the database is using a
resource, such as CPU or disk I/O. Comparing CPU time to wait time helps to
determine how much of the response time is consumed with useful work rather
than waiting for resources that are potentially held by other processes.
■ Chart for Database Throughput: The Database Throughput charts summarize any
resource contention that appears in the Average Active Sessions chart, and also
show how much work the database is performing on behalf of the users or
applications. The Per Second view shows the number of transactions compared to
the number of logons, and the amount of physical reads compared to the redo size
for each second. The Per Transaction view shows the amount of physical reads
compared to the redo size for each transaction. Logons is the number of users that
are logged on to the database.
In addition, the Top Activity drilldown menu on the Cluster Database Performance
page enables you to see the activity by wait events, services, and instances. Plus, you
can see the details about SQL/sessions by going to a prior point in time by moving the
slider on the chart.
CHM Services
CHM consists of the following services:
■ System Monitor Service
■ Cluster Logger Service
CHM Repository
The CHM repository, by default, resides within the Grid Infrastructure home and
requires 1 GB of disk space per node in the cluster. You can adjust its size and location,
and Oracle supports moving it to shared storage. You manage the CHM repository
with OCLUMON.
Notes:
■ Oracle recommends that, when you run the Grid_
home/bin/diagcollection.pl script to collect CHM data,
you run the script on all nodes in the cluster to ensure gathering
all of the information needed for analysis.
■ You must run this script as a privileged user.
To run the data collection script on only the node where the cluster logger service is
running:
1. Run the following command to identify the node running the cluster logger
service:
$ Grid_home/bin/oclumon manage -get master
2. Run the following command as a privileged user on the cluster logger service
node to collect all the available data in the Grid Infrastructure Management
Repository:
# Grid_home/bin/diagcollection.pl
■ oclumon version
oclumon debug
Use the oclumon debug command to set the log level for the CHM services.
Syntax
oclumon debug [log daemon module:log_level] [version]
Parameters
Example
The following example sets the log level of the system monitor service (osysmond):
$ oclumon debug log osysmond CRFMOND:3
oclumon dumpnodeview
Use the oclumon dumpnodeview command to view log information from the system
monitor service in the form of a node view.
A node view is a collection of all metrics collected by CHM for a node at a point in
time. CHM attempts to collect metrics every second on every node. Some metrics are
static while other metrics are dynamic.
A node view consists of seven views when you display verbose output:
■ SYSTEM: Lists system metrics such as CPU COUNT, CPU USAGE, and MEM
USAGE
■ TOP CONSUMERS: Lists the top consuming processes in the following format:
metric_name: 'process_name(process_identifier) utilization'
■ FILESYSTEMS: Lists file system metrics, such as total, used, and available space
■ PROTOCOL ERRORS: Lists any protocol errors
You can generate a summary report that only contains the SYSTEM and TOP
CONSUMERS views.
"Metric Descriptions" on page H-7 lists descriptions for all the metrics associated with
each of the views in the preceding list.
Syntax
oclumon dumpnodeview [[-allnodes] | [-n node1 node2] [-last "duration"] |
[-s "time_stamp" -e "time_stamp"] [-v] [-warning]] [-h]
Parameters
Usage Notes
■ The default is to continuously dump node views. To stop continuous display, use
Ctrl+C on Linux and Esc on Windows.
■ Both the local system monitor service (osysmond) and the cluster logger service
(ologgerd) must be running to obtain node view dumps.
Examples
The following example dumps node views from node1, node2, and node3 collected
over the last twelve hours:
$ oclumon dumpnodeview -n node1 node2 node3 -last "12:00:00"
The following example displays node views from all nodes collected over the last
fifteen minutes:
$ oclumon dumpnodeview -allnodes -last "00:15:00"
Metric Descriptions
This section includes descriptions of the metrics in each of the seven views that make
up a node view listed in the following tables.
SYSTEM:
#pcpus: 12 #vcpus: 12 cpuht: N chipname: Intel(R) cpu: 2.43 cpuq: 2
physmemfree: 56883116 physmemtotal: 74369536 mcache: 13615352 swapfree: 18480408
swaptotal: 18480408 ior: 170 iow: 37 ios: 37 swpin: 0 swpout: 0 pgin: 170
pgout: 37 netr: 40.301 netw: 57.211 procs: 437 rtprocs: 33 #fds: 15008
#sysfdlimit: 6815744 #disks: 9 #nics: 5 nicErrors: 0
TOP CONSUMERS:
topcpu: 'osysmond.bin(9103) 2.59' topprivmem: 'java(26616) 296808'
topshm: 'ora_mman_orcl_4(32128) 1222220' topfd: 'ohasd.bin(7594) 150'
topthread: 'crsd.bin(9250) 43'
PROCESSES:
name: 'mdnsd' pid: 12875 #procfdlimit: 8192 cpuusage: 0.19 privmem: 9300
shm: 8604 #fd: 36 #threads: 3 priority: 15 nice: 0
name: 'ora_cjq0_rdbms3' pid: 12869 #procfdlimit: 8192 cpuusage: 0.39
privmem: 10572 shm: 77420 #fd: 23 #threads: 1 priority: 15 nice: 0
name: 'ora_lms0_rdbms2' pid: 12635 #procfdlimit: 8192 cpuusage: 0.19
privmem: 15832 shm: 49988 #fd: 24 #threads: 1 priority: 15 nice: 0
name: 'evmlogger' pid: 32355 #procfdlimit: 8192 cpuusage: 0.0 privmem: 4600
shm: 8756 #fd: 9 #threads: 3 priority: 15 nice: 0
.
.
.
DEVICES:
xvda ior: 0.798 iow: 193.723 ios: 33 qlen: 0 wait: 0 type: SWAP
xvda2 ior: 0.000 iow: 0.000 ios: 0 qlen: 0 wait: 0 type: SWAP
xvda1 ior: 0.798 iow: 193.723 ios: 33 qlen: 0 wait: 0 type: SYS
NICS:
FILESYSTEMS:
mount: /scratch type: ext3 total: 155401100 used: 125927608 available: 21452240
used%: 85 ifree%: 93 [rdbms2 rdbms3 rdbms4 has51]
PROTOCOL ERRORS:
oclumon manage
Use the oclumon manage command to view log information from the system
monitor service.
Syntax
oclumon manage [[-repos {resize size | changesize memory_size |
reploc new_location [[-maxtime size] | [-maxspace memory_size]]}] |
[-get key1 key2 ...]]
Parameters
Usage Notes
Both the local system monitor service and the master cluster logger service must be
running to resize the CHM repository.
Example
The following examples show commands and sample output:
$ oclumon manage -repos reploc /shared/oracle/chm
oclumon version
Use the oclumon version command to obtain the version of CHM that you are
using.
Syntax
oclumon version
Example
This command produces output similar to the following:
Cluster Health Monitor (OS), Version 11.2.0.3.0 - Production Copyright 2011
Oracle. All rights reserved.
The interface_name should be the public interface and netmask of the public
network.
2. Start the test DNS server on the GNS VIP by running the following command (you
must run this command as root if the port number is less than 1024):
# crsctl start testdns -address address [-port port]
This command starts the test DNS server to listen for DNS forwarded packets at
the specified IP and port.
3. Ensure that the GNS VIP is reachable from other nodes by running the following
command as root:
crsctl status ip -A IP_name
Note: The only difference between this step and the previous step is
that you are not giving the -dnsserver DNS_server_address
option. This causes the command to query name servers configured in
/etc/resolv.conf. As in the previous step, the command fails
with same error. Again, look at odnsd*.log to ensure that odnsd
received the queries. If step 5 succeeds but step 6 does not, then you
must check the DNS configuration.
Note: Oracle does not support TFA with Oracle Database 11g release
2 (11.2.0.4).
The TFA daemon periodically checks for new trace directories to add, such as when a
new database instance is created, and also periodically checks whether the trace files
metadata need updating. TFA uses this metadata when performing diagnostic data
collections.
TFA can perform diagnostic collections in two ways, either on demand or
automatically:
■ Use tfactl set to enable automatic collection of diagnostics upon discovery of
a limited set of errors in trace files
■ The tfactl diagcollect command collects trimmed trace files for any
component and specific time range
■ tfactl directory
■ tfactl host
■ tfactl set
■ tfactl diagcollect
tfactl print
Use the tfactl print command to print information from the Berkeley database.
Syntax
tfactl print [status | config | directories | hosts | actions | repository |
cookie]
Parameters
Example
The tfactl print config returns output similar to the following:
Configuration parameter Value
------------------------------------------------------------
TFA Version 2.5.1.5
Automatic diagnostic collection OFF
Trimming of files during diagcollection ON
Repository current size (MB) in node1 526
Repository maximum size (MB) in node1 10240
Trace Level 1
tfactl purge
Use the tfactl purge command to delete diagnostic collections from the TFA
repository that are older than a specific time.
Syntax
tfactl purge -older number[h | d]
tfactl directory
Use the tfactl directory command to add a directory to, or remove a directory
from, the list of directories that will have their trace or log files analyzed. You can also
use this command to change the directory permissions. When a directory is added by
auto discovery, it is added as public, which means that any file in that directory can be
collected by any user that has permission to run the tfactl diagcollect
command. This is only important when sudo is used to allow users other than root
to run TFACTL commands. If a directory is marked as private, then TFA determines
which user is running TFACTL commands and verifies that the user has permissions
to see the files in the directory before allowing any files to be collected.
Note: A user can only add a directory to TFA to which they have
read access, and also that TFA auto collections, when configured, run
as root, and so will always collect all available files.
Syntax
tfactl directory [add directory | remove directory | modify directory -private |
-public]
Parameters
Usage Notes
You must add all trace directory names to the Berkeley database, so that TFA will
collect file metadata in that directory. The discovery process finds most directories but
if new or undiscovered directories are required, then you can add these manually
using the tfactl directory command. When you add a directory using TFACTL,
TFA attempts to determine whether the directory is for the database, Oracle
Clusterware, operating system logs, or some other component, and for which database
or instance. If TFA cannot determine this information, then it returns an error and
requests that you enter the information, similar to the following:
# tfactl directory add /tmp
Failed to add directory to TFA. Unable to determine parameters for directory: /tmp
Please enter component for this Directory [RDBMS|CRS|ASM|INSTALL|OS|CFGTOOLS] :
RDBMS
Please enter database name for this Directory :MYDB
Please enter instance name for this Directory :MYDB1
tfactl host
Use the tfactl host command to add hosts to, or remove hosts from, the TFA
cluster.
Syntax
tfactl host [add host_name | remove host_name]
Usage Notes
Using the tfactl host add command notifies the local TFA about other nodes on
your network. When you add a host, TFA contacts that host and, if TFA is running on
that host, then both hosts synchronize their host list. TFA authenticates that a host can
be added using a cookie. If the host to be added does not have the correct cookie, then
you must retrieve that cookie from an existing host in the cluster and set it on the host
being added, similar to the following:
#tfactl host add node2
After you successfully add the host, all clusterwide commands will activate on all
nodes registered in the Berkeley database.
tfactl set
Use the tfactl set command to adjust the manner in which TFA runs.
Syntax
tfactl set [autodiagcollect=ON | OFF | cookie=Xn | trimfiles=ON | OFF |
tracelevel=1 | 2 | 3 | 4 | reposizeMB=number | repositorydir=directory] [-c]
Parameters
tfactl diagcollect
Use the tfactl diagcollect command to perform on-demand diagnostic
collection. You can configure a number of different parameters to determine how large
or detailed a collection you want. You can specify a specific time of an incident or a
time range for data to be collected, and determine if whole files that have relevant data
should be collected or just a time interval of data from those files.
Syntax
tfactl diagcollect [-all | -database all | database_1,database_2,... | -asm | -crs
| -os | -install]
[-node all | local | node_1,node_2,...][-tag description] [-z file_name]
[-since numberh | d | -from "mmm/dd/yyyy hh:mm:ss" -to "mmm/dd/yyyy hh:mm:ss"
| -for "mmm/dd/yyyy hh:mm:ss" [-nocopy] [-nomonitor]]
Parameters
-tag description Use this parameter to create a subdirectory for the resulting
collection in the TFA repository.
-z file_name Use this parameter to specify an output file name.
-since numberh | d | ■ Specify the -since parameter to collect files that have
-from "mmm/dd/yyyy relevant data for the past specific number of hours (h) or
hh:mm:ss" days (d). By default, using the command with this
-to "mmm/dd/yyyy parameter also trims files that are large and shows files only
hh:mm:ss" | from the specified interval.
-for "mmm/dd/yyyy ■ Specify the -from and -to parameters (you must use these
hh:mm:ss" two parameters together) to collect files that have relevant
data during a specific time interval, and trim data before
this time where files are large.
■ Specify the -for parameter to collect files that have
relevant data for the time given. The files TFACTL collects
will have timestamps in between which the time you
specify after -for is included. No data trimming is done for
this option.
Note: If you specify both date and time, then you must enclose
both values in double quotation marks (""). If you specify only
the date or the time, then you do not have to enclose the single
value in quotation marks.
Examples
■ The following command trims and zips all files updated in the last four hours,
including chmos and osw data, from across the cluster and collects it on the
initiating node:
# tfactl diagcollect
■ The following command trims and zips all files updated in the last eight hours,
including chmos and osw data, from across the cluster and collects it on the
initiating node:
# tfactl diagcollect –all –since 8h
■ The following command trims and zips all files from databases hrdb and fdb
updated in the last one day and collects it on the initiating node:
# tfactl diagcollect -database hrdb,fdb -since 1d -z foo
■ The following command trims and zips all Oracle Clusterware files, operating
system logs, and chmos and osw data from node1 and node2 updated in the last
six hours, and collects it on the initiating node.
# tfactl diagcollect –crs -os -node node1,node2 -since 6h
■ The following command trims and zips all Oracle ASM logs from node1 updated
between July 4, 2013 and July 5, 2013 at 21:00, and collects it on the initiating node:
# tfactl diagcollect -asm -node node1 -from Jul/4/2013 -to "Jul/5/2013
21:00:00"
■ The following command trims and zips all log files updated on July 2, 2013 and
collect at the initiating node:
# tfactl diagcollect -for Jul/2/2013
■ The following command trims and zips all log files updated from 09:00 on July 2,
2013, to 09:00 on July 3, 2013, which is 12 hours before and after the time specified
in the command, and collects it on the initiating node:
# tfactl diagcollect -for "Jul/2/2013 21:00:00"
<after>nonsecurestring</after>
</replace>
<replace>
<before>securestring2</before>
<after>nonsecurestring2</after>
</replace>
Etc…
</replacements>
The location of this alert log on Linux, UNIX, and Windows systems is in the following
directory path, where Grid_home is the name of the location where the Oracle Grid
Infrastructure is installed: Grid_home/log/host_name.
The following example shows the start of the Oracle Cluster Time Synchronization
Service (OCTSS) after a cluster reconfiguration:
[ctssd(12813)]CRS-2403:The Cluster Time Synchronization Service on host stnsp014
is in observer mode.
2009-07-15 23:51:18.292
[ctssd(12813)]CRS-2407:The new Cluster Time Synchronization Service reference node
is host stnsp013.
2009-07-15 23:51:18.961
[ctssd(12813)]CRS-2401:The Cluster Time Synchronization Service started on host
stnsp014.
DRUIDs are used to relate external product messages to entries in a diagnostic log file
and to internal Oracle Clusterware program code locations. They are not directly
meaningful to customers and are used primarily by My Oracle Support when
diagnosing problems.
Note: Oracle Clusterware uses a file rotation approach for log files. If
you cannot find the reference given in the file specified in the
"Details in" section of an alert file message, then this file might
have been rolled over to a rollover version, typically ending in
*.lnumber where number is a number that starts at 01 and
increments to however many logs are being kept, the total for which
can be different for different logs. While there is usually no need to
follow the reference unless you are asked to do so by My Oracle
Support, you can check the path given for roll over versions of the file.
The log retention policy, however, foresees that older logs are to be
purged as required by the amount of logs generated.
action script
A script that defines the start, stop and check actions for a resource. The start action is
invoked while starting the resource, the stop action for stopping the resource, and the
check action while checking the running status of a resource.
administrator managed
Database administrators define on which servers a database resource should run, and
place resources manually as needed. This is the management strategy used in previous
releases.
availability directive
Instructions to Oracle Clusterware to reconfigure the system when a server leaves or
joins a cluster.
cardinality
The number of servers on which a resource can run, simultaneously.
cluster
Multiple interconnected computers or servers that appear as if they are one server to
end users and applications.
cluster-aware
Any application designed to be deployed using clusterware.
cluster resource
A resource that is aware of the cluster environment and subject to cross-node
switchover and failover.
CRS Administrator
A predefined Oracle Clusterware administrator role intended to control the creation of
server pools. A permanent CRS Administrator is either the user (Grid user) that
Glossary-1
dependency
installed Oracle Clusterware in the Grid Infrastructure home or the system superuser
(root in Linux and UNIX, and Administrator in Windows).
dependency
The relationship between two or more resources. and the interaction expressed
between them.
disk group
An Oracle ASM disk group is a collection of disks that Oracle ASM manages as a unit.
Within a disk group, Oracle ASM exposes a file system interface for Oracle Database
files. The content of files that is stored in a disk group is evenly distributed, or striped,
to eliminate hot spots and to provide uniform performance across the disks. Oracle
ASM files may also be optionally mirrored within a disk group. The performance of
disks in a disk group is comparable to the performance of raw devices.
Grid Infrastructure
The software that provides the infrastructure for an enterprise grid architecture. In a
cluster this software includes Oracle Clusterware and Oracle ASM. For a standalone
server, this software includes Oracle Restart and Oracle ASM. Oracle Database 11g
release 2 (11.2) combines these infrastructure products into one software installation
called the Grid Infrastructure home (Grid_home).
fixup script
Oracle Universal Installer detects when minimum requirements for installation are not
completed, and creates shell script programs, called fixup scripts, to resolve many
incomplete system configuration requirements. If Oracle Universal Installer detects an
incomplete task, it prompts you to create a fixup script and then to run the fixup script
in a separate terminal session. You can also generate fixup scripts with certain CVU
commands by using the -fixup flag.
local resource
A resource that runs on the nodes of a cluster but is unaware of anything outside of
the scope of the node.
OCR writer
Each crsd process also acts as an OCR server. One of the crsd processes in the cluster
is the OCR server that performs I/O to the disk group or file, or block or raw device.
Oracle Clusterware
Software that allows groups (clusters) of connected servers to operate or be controlled
as a unit.
Glossary-2
state
policy managed
Database administrators specify the server pool (excluding generic or free) in which
the database resource runs. Oracle Clusterware places the database resource on a
server.
resource
A database, application, or process managed by Oracle Clusterware.
resource state
The state of a particular resource at any given time that determines its availability to
the cluster.
resource type
Defines whether a resource is either a cluster resource or a local resource.
server pool
A logical division of servers in a cluster into a group that hosts applications, databases,
or both.
state
A set of values that describes what the condition of a particular resource.
Glossary-3
state
Glossary-4
Index
B
A
background processes, 1-7
ACL
Baseboard Management Controller (BMC)
resource attribute, B-3 See Intelligent Platform Management Interface
action entry points (IPMI)
defined, 6-8
block-by-block checksum operation, G-12
action script, 6-6
action scripts
actions, 6-8 C
ACTION_FAILURE_EVENT_TEMPLATE Cache Fusion
resource attribute, B-14 communication, D-5
ACTION_SCRIPT CARDINALITY
resource attribute, B-4 resource attribute, B-5
ACTIVE_PLACEMENT cardinality, xxiv
resource attribute, B-4 changing a network interface
addresses, configuring manually, 1-6 network interface
administrative tools changing, 2-23
overview and concepts, 1-12 changing interface names, consequences, 2-23
agent changing VIP addresses, 2-20
defined, 6-3 CHECK_INTERVAL
agent framework resource attribute, B-5
defined, 6-3 checksum operation
AGENT_FILENAME block-by-block, G-12
resource attribute, B-5 CHM
agents See Cluster Health Monitor (CHM)
appagent, 6-2 client-side diagnosability infrastructure (CRSD)
appagent.exe, 6-2 alerts, H-23
scriptagent, 6-2 cloning
scriptagent.exe, 6-2 Oracle Clusterware, 5-1
alert messages Oracle Grid Infrastructure, 5-1
CRSD, H-23 cloning, overview for clusterware, 1-14
log file location, H-23 CLSCRS APIs
application agent, 6-2 callback mechanism, F-4
application VIP data structures, F-3
creating, 6-16 deprecated, F-7
deleting, 6-17 error handling and tracing, F-4
applications filters, F-5
defining a VIP address, 1-15 comparison filter, F-6
highly available, 1-15 expression filter, F-6
managing with CLSCRS commands, F-2 initialization and persistence, F-2
attraction start dependency, 6-12 memory management, F-3
Index-1
overview, F-2 configurations
threading support, F-3 reinitializing OCR, 3-17
CLSCRS commands configuring
overview, F-2 voting disks, 3-1
CLSD-1009 message CRS
resolving, 3-10 See Cluster Ready Services (CRS)
CLSD-1011 message CRS Administrator, 2-10
resolving, 3-10 managing, 2-11
Cluster Health Monitor (CHM), 1-14 CRSCTL
daemons, H-3 checking the Oracle Clusterware status, 3-8
log files, H-13 command reference, E-7
OCLUMON, H-4 commands
services add crs administrator, E-28
cluster logger, H-3 add css votedisk, E-29
system monitor, H-3 add resource, E-8
Cluster Health Monitor (crf) add serverpool, E-30
debugging, E-69 add type, E-11
cluster interconnect check cluster, E-32
Cache Fusion communication, D-5 check crs, E-32
changing private network addresses, 2-22 check css, E-12
Cluster Manager (CSS) check ctss, E-33
log files, H-13 check evm, E-13
Cluster Ready Services (CRS) check has, E-63
defined, 1-7 check resource, E-32
Cluster Ready Services (crs) config crs, E-34
debugging, E-69 config has, E-63
Cluster Ready Services Daemon delete crs administrator, E-34
log files, H-13 delete css votedisk, E-35
cluster resource, 6-3 delete node, E-35
cluster storage delete resource, E-13
recording with OCR, 1-5 delete serverpool, E-36
Cluster Synchronization Services (CSS), 1-8 delete type, E-14
defined, 1-7 disable crs, E-36
Cluster Synchronization Services (css) disable has, E-64
debugging, E-69 discover dhcp, E-36
cluster time management, 2-17 enable crs, E-37
Cluster Time Synchronization Service (CTSS), 2-17 enable has, E-64
Cluster Time Synchronization Service (ctss) get clientid dhcp, E-37
debugging, E-69 get css, E-38
Cluster Verification Utility (CVU) get css ipmiaddr, E-39
log files, H-14 get hostname, E-14
See CVU get nodename, E-39
CLUSTER_INTERCONNECT interface getperm resource, E-14
specifying with OIFCFG, D-5 getperm serverpool, E-39
CLUSTER_INTERCONNECTS initialization getperm type, E-15
parameter, 2-25 lsmodules, E-40
cluster_resource, 6-3 modify resource, E-16
cluster-aware resource, 6-3 modify serverpool, E-41
clusterware, cloning overview, 1-14 modify type, E-18
cluvfy pin css, E-42
See CVU query crs activeversion, E-43
compatibility query crs administrator, E-42
Oracle Clusterware, Oracle ASM, and query crs releaseversion, E-43
database, 1-11 query crs softwareversion, E-43
component parameter query css ipmiconfig, E-43
supplying to CRSCTL commands, E-69 query css ipmidevice, E-44
component_name parameter query css votedisk, E-44
supplying to crsctl set trace command, E-74 query dns, E-45
components query has releaseversion, E-64
initialization file for debugging purposes, E-72 query has softwareversion, E-65
Index-2
release dhcp, E-46 commands
relocate resource, E-46 cluvfy comp acfs, A-13
relocate server, E-48 cluvfy comp admprv, A-14
replace discoverystring, E-49 cluvfy comp asm, A-16
replace votedisk, E-49 cluvfy comp cfs, A-17
request dhcp, E-50 cluvfy comp clocksync, A-18
set css, E-50 cluvfy comp clu, A-19
set css ipmiaddr, E-51 cluvfy comp clumgr, A-20
set css ipmiadmin, E-51 cluvfy comp crs, A-21
set log, E-68 cluvfy comp dns, A-23
setperm resource, E-19 cluvfy comp freespace, A-24
setperm serverpool, E-52 cluvfy comp gns, A-25
setperm type, E-20 cluvfy comp gpnp, A-26
start cluster, E-53 cluvfy comp ha, A-27
start crs, E-54 cluvfy comp healthcheck, A-28
start has, E-65 cluvfy comp nodeapp, A-30
start ip, E-54 cluvfy comp nodecon, 2-21, A-31
start testdns, E-55 cluvfy comp nodereach, A-33
status ip, E-55 cluvfy comp ocr, A-34
status resource, E-21, E-23 cluvfy comp ohasd, A-36
status server, E-56 cluvfy comp olr, A-37
status serverpool, E-57 cluvfy comp peer, A-38
status testdns, E-58 cluvfy comp scan, A-40
status type, E-24 cluvfy comp software, A-41
stop cluster, E-58 cluvfy comp space, A-42
stop crs, E-59 cluvfy comp ssa, A-43
stop has, E-65 cluvfy comp sys, A-45
stop ip, E-60 cluvfy comp vdisk, A-46
stop resource, E-25 cluvfy stage -post acfscfg, A-47
stop testdns, E-60 cluvfy stage -post cfs, A-48
unpin css, E-61 cluvfy stage -post crsinst, A-49
unset css, E-61 cluvfy stage -post hacfg, A-53
unset css ipmiconfig, E-62 cluvfy stage -post hwos, A-54
dual environment commands, E-8 cluvfy stage -post nodeadd, A-55
Oracle RAC environment commands, E-27 cluvfy stage -pre acfscfg, A-47
Oracle Restart environment commands, E-63 cluvfy stage -pre cfs, A-48
CRSCTL commands cluvfy stage -pre crsinst, A-49
cluster aware, 1-13 cluvfy stage -pre dbcfg, A-51
component parameter, E-69 cluvfy stage -pre dbinst, A-52
component_name parameter, E-74 cluvfy stage -pre hacfg, A-53
debug log, E-69 cluvfy stage -pre nodeadd, A-55
debugging_level parameter, E-69, E-73 component verifications
lsmodules, E-70 checking Oracle Clusterware and Oracle
module_name parameter, E-69 Database installations, A-28
overview, 1-13 cluster integrity, A-19
resource_name parameter, E-73 Cluster Manager subcomponent, A-20
set log, E-73 connectivity between cluster nodes, A-31
set trace, E-74 CTSS integrity, A-18
tracing_level parameter, E-74 domain name service (DNS), A-23
crsctl set log, E-69 free space, A-42
crsctl set trace, E-69 Grid Plug and Play service and profile, A-26
crsd background process integrity of high availability, A-27
alert messages, H-23 integrity of OCR, A-34
log files, H-13 integrity of ohasd, A-36
CSS integrity of OLR, A-37
See Cluster Synchronization Services (CSS) integrity of Oracle ACFS, A-13, A-17
cssd integrity of Oracle ASM, A-16
log files, H-13 integrity of voting disks, A-46
CVU node applications, A-30
about, A-1 node comparison, A-38
Index-3
Oracle Clusterware component, A-21 enabling debugging for Oracle Clusterware
Oracle Grid Naming Service (GNS), A-25 resources, E-73
reachability of nodes, A-33 enabling debugging for the CRS, CSS, and EVM
SCAN configuration, A-40 modules, E-69
software distribution across nodes, A-41 enabling tracing for Oracle Clusterware
storage, A-43 components, E-74
system requirements, A-45 entry points
user and permissions, A-14 ABORT, 6-4
difference between runcluvfy.sh and cluvfy, A-5 CHECK, 6-4
installation requirements, A-5 CLSAGFW_FAILED state, 6-5
known issues, A-59 CLSAGFW_ONLINE state, 6-4
node list shortcuts, A-10 CLSAGFW_PARTIAL state, 6-5
online Help system, A-7 CLSAGFW_PLANNED_OFFLINE state, 6-4
overview and concepts, 1-13 CLSAGFW_UNKNOWN state, 6-5
performing verifications, A-3 CLSAGFW_UNPLANNED_OFFLINE
runcluvfy.sh, A-5 state, 6-4
stage verifications CLEAN, 6-4
database configuration, A-51 defined, 6-3
high availability installation, A-53 monitor, 6-4
network and storage on all nodes, A-54 START, 6-4
node installation, A-55 STOP, 6-4
Oracle ACFS, A-48 Event Management (EVM)
Oracle ACFS configuration, A-47 defined, 1-8
Oracle Clusterware installation, A-49 Event Manager (evm)
Oracle RAC installation, A-52 debugging, E-69
UNKNOWN output, A-9 EVM
verbose mode, A-9 log files, H-14
overview, 1-8
See Event Management (EVM)
D
extending Oracle database home
debugging on non-shared storage, 4-4
CRS, CSS, and EVM modules, E-69 on shared storage
Oracle Clusterware resources, E-73 network-attached storage, 4-5
debugging_level parameter Oracle ACFS, 4-5
supplying to CRSCTL commands, E-69, E-73
defining network interfaces
OIFCFG command-line interface, D-1
F
DEGREE failure groups, 3-23
resource attribute, B-5 failure isolation
delif command configuring IPMI for, 2-15
OIFCFG command-line interface, D-6 FAILURE_INTERVAL
deployment scheme resource attribute, B-6
deciding, 6-18 FAILURE_THRESHOLD
DESCRIPTION resource attribute, B-6
resource attribute, B-6 Fast Application Notification (FAN), 1-8
DEVICES features, new, xxi, xxiii
node view, H-5 FILESYSTEMS
diagcollection.pl script, H-23 node view, H-6
diagnostics collection script, H-23 Free server pool, 2-7
diagnostics data described, 2-7
collecting with the diagcollection.pl script, H-23
dispersion start dependency, 6-13
G
modifiers, B-11
DNS, entries example for GNS and SCAN, 1-6 Generic server pool, 2-7
dynamic host configuration protocol (DHCP), 1-6 generic server pool
described, 2-7
getif command
E OIFCFG command-line interface, D-6
ENABLED global interface
resource attribute, B-6 network interface stored as, D-4
Index-4
GNS, 1-5 monitoring clusterware with Oracle Enterprise
See Oracle Grid Naming Service (GNS) Manager, H-1
GNS, and SCAN, 1-6 interface names, consequences of changing, 2-23
GNS, GNS VIP, 1-6 INTERNAL_STATE
Grid Infrastructure resource attribute, B-14
cloning Oracle Clusterware in, 5-1 IPMI
Configuration Wizard, 2-12 modifying administrator, E-51
Grid Interprocess Communication (GIPC), 1-8 obtaining IP address, E-39
Grid Interprocess Communication (gipc) See Intelligent Management Platform Interface
debugging, E-69 (IPMI)
Grid Naming Service, 1-5 storing IP address, E-51
Grid Plug and Play, xxvi
Grid Plug and Play (gpnp)
L
debugging, E-69
Grid Plug and Play (GPNPD), 1-8 LAST_SERVER
resource attribute, B-14
LAST_STATE_CHANGE
H resource attribute, B-14
HAIP listeners
highly available IP address, 2-22 in OCR, 1-5
hard start dependency, 6-11 LOAD
modifiers, B-9 resource attribute, B-7
hard stop dependency, 6-14 local resource, 6-3
modifiers, B-12 local_resource, 6-3
hardware requirements, 1-3 log files
high availability for Cluster Verification Utility (CVU), H-14
and Oracle Clusterware, 1-8 for CSS, H-13
application programming interface, 1-15 for EVM, H-14
framework, 1-15 for Oracle ACFS, H-14
HOSTING_MEMBERS for Oracle Cluster Registry, H-13
resource attribute, B-6 log levels
setting for Oracle Clusterware, E-68
lsmodules parameter
I
with the CRSCTL command, E-70
iflist command
OIFCFG command-line interface, D-5
importing
M
OCR, 3-17 managing applications
initialization files CLSCRS commands, F-2
creating for component-level debugging, E-72 managing Oracle Clusterware
initialization parameters with CRSCTL, 1-13
CLUSTER_INTERCONNECTS, 2-25 manual address configuration, 1-6
installation mDNS
introduction, 1-10 See Multicast Domain Name Service (mDNS)
installations mDNSResponder
configuring voting disks, 3-1 purpose, 1-10
Intelligent Management Platform Interface mirroring
(IPMI), 2-14 OCR (Oracle Cluster Registry), 3-5
configuring for failure isolation, 2-15 module_name parameter
modifying IPMI configuration, 2-16 supplying to CRSCTL commands, E-69
removing IPMI configuration, 2-17 modules
Intelligent Platform Management Interface (IPMI) debugging
CRSCTL commands crf, E-69
get css ipmiaddr, E-39 crs, E-69
query css ipmiconfig, E-43 css, E-69
query css ipmidevice, E-44 ctss, E-69
set css ipmiaddr, E-51 evm, E-69
set css ipmiadmin, E-51 gipc, E-69
unset css ipmiconfig, E-62 gpnp, E-69
Interconnects page Multicast Domain Name Service (mDNS)
Index-5
defined, 1-8 manual backups, 3-10
migrating from Oracle ASM, 3-5
migrating to Oracle ASM, 3-3
N
OCRDUMP utility command examples, G-16
NAME ocr.loc file, 3-7
resource attribute, B-7 on Oracle ASM, xxiv
network interface overriding data loss protection mechanism, 3-9
global, D-4 recording cluster configuration information, 1-3
node-specific, D-4 recording cluster storage, 1-5
OIFCFG syntax, D-4 removing, 3-5, 3-7
network interface card (NIC), 2-22 repairing, 3-5, 3-8
network interfaces replacing, 3-5, 3-8
defining with OIFCFG, D-1 restoring, 3-11
types, D-5 in Oracle Restart, 3-16
updating subnet classification, D-2 on Linux and UNIX systems, 3-12
new features, xxi, xxiii on Windows systems, 3-14
NICS using automatically generated OCR
node view, H-5 backups, 3-11
node view troubleshooting, 3-16, G-11
defined, H-5 upgrading, 3-22
node views viewing content with OCRDUMP, G-15
DEVICES, H-5 OCR configuration tool
FILESYSTEMS, H-6 See OCRCONFIG utility
NICS, H-5 OCRCHECK utility
PROCESSES, H-5 changing the amount of logging, G-14
PROTOCOL ERRORS, H-6 check status of OLR, 3-21
SYSTEM view, H-5 diagnosing OCR problems with, 3-16
TOP CONSUMERS, H-5 log files, G-14
nodes sample output, G-12
adding to a cluster OCRCONFIG utility
on Linux or UNIX, 4-3 administering OLR, 3-21
on Windows, 4-9 commands
deleting from a cluster -add, G-3
on Linux or UNIX, 4-6 -backuploc, G-4
VIP address, 1-5 -delete, G-4
node-specific interface -downgrade, G-5
network interface stored as, D-4 -export, G-5
-import, 3-18, G-5
O -manualbackup, G-6
-overwrite, G-6
OCLUMON -repair, G-7
commands -replace, G-7
debug, H-5 -restore, G-8
dumpnodeview, H-5 -showbackup, G-9
manage, H-11 -upgrade, G-9
version, H-13 log files, G-2
OCR (Oracle Cluster Registry) overview and concepts, 1-14
adding, 3-5, 3-7 syntax, G-2
automatic backups, 3-10 OCRDUMP utility
backing up, 3-10 changing the amount of logging, G-15
contents, 3-2 command examples, G-16
diagnosing problems with OCRDUMP, 3-16 commands, G-16
downgrading, 3-22 backup, G-16
exporting, 3-16 diagnosing OCR problems with, 3-16, G-15
importing dump content of OLR, 3-21
on Windows systems, 3-19 log files, G-15
importing content sample output, G-16
on Linux and UNIX systems, 3-18 syntax and options, G-15
log file location, H-13 SYSTEM.language key output, G-16
managing, 3-2 SYSTEM.version key output, G-16
Index-6
ocr.loc file, 3-7 Cluster Ready Services (CRS), 1-7
ocrlog.ini file Cluster Synchronization Services (CSS), 1-7
editing, G-14, G-15 Event Management (EVM), 1-8
OFFLINE_CHECK_INTERVAL Grid Interprocess Communication (GIPC), 1-8
resource attribute, B-7 Multicast Domain Name Service (mDNS), 1-8
OIFCFG command-line interface oraagent, 1-8
commands, D-3 to D-6 Oracle Grid Naming Service (GNS), 1-8
interface types, D-5 Oracle Notification Service (ONS), 1-8
invoking, D-2 orarootagent, 1-8
overview and concepts, 1-14, D-1 upgrade
syntax, D-3 out-of-place, 1-12
OLR (Oracle Local Registry) Oracle Clusterware Control (CRSCTL)
administering, 3-21 See CRSCTL
backing up, 3-21 Oracle Clusterware home
check status of, 3-21 adding, 4-3, 4-9
defined, 3-21 deleting manually, 4-6
dump content of, 3-21 Oracle Enterprise Manager
exporting to a file, 3-21 adding resources with, 6-20
importing a file, 3-21 adding VIPs with, 6-17
restoring, 3-22 overview and concepts, 1-12
viewing backup files, 3-22 using the Interconnects page to monitor Oracle
viewing content with OCRDUMP, G-15 Clusterware, H-1
OLSNODES command Oracle Grid Infrastructure
reference, C-1 cloning, 5-1
ONS Oracle Grid Naming Service (GNS)
See Oracle Notification Service (ONS) defined, 1-8
operating systems described, 1-5
requirements for Oracle Clusterware, 1-3 Oracle Interface Configuration tool
oraagent see OIFCFG
defined, 1-8 Oracle Local Registry
Oracle ACFS See OLR (Oracle Local Registry)
defined, xxv Oracle Notification Service (ONS)
log files, H-14 defined, 1-8
Oracle agent, 1-8 Oracle RAC One Node, xxi
Oracle ASM Oracle Real Application Clusters
disk groups overview of administration, 1-1
redundancy, 3-23 Oracle Real Application Clusters One Node, xxi
failure group, 3-23 Oracle Restart
migrating OCR locations to, 3-3 restoring OCR, 3-16
OCR residing on, xxiv Oracle root agent, 1-8
Oracle Automatic Storage Management Oracle Trace File Analyzer (TFA) Collector
See Oracle ASM See TFA
Oracle Automatic Storage Management Cluster File Oracle Universal Installer
System Oracle Clusterware installation, 1-10
See Oracle ACFS OracleHAService
Oracle Cluster Registry purpose, 1-10
See OCR (Oracle Cluster Registry) orarootagent
Oracle Clusterware defined, 1-8
adding a home to a new node, 4-3 out-of-place upgrade, 1-12
background processes
on Windows, 1-10
P
debugging
component level, E-69 PLACEMENT
creating an initialization file, E-72 resource attribute, B-7
dynamic, E-68 private network address
defined, 1-1 changing, 2-22
OCR PROCESSES
migrating from Oracle ASM, 3-5 node view, H-5
migrating to Oracle ASM, 3-3 PROFILE_CHANGE_EVENT_TEMPLATE
processes resource attribute, B-15
Index-7
PROTOCOL ERRORS stop dependencies, 6-14
node view, H-6 hard, 6-14, B-12
public interface resource permissions
specifying with OIFCFG, D-5 changing, 6-21
pullup start dependency, 6-13 resource type
modifiers, B-10 cluster_resource, 6-3
defined, 6-3
local_resource, 6-3
R
resource_name parameter
recording cluster configuration information, 1-3 supplying to CRSCTL commands, E-73
recording node membership information resources
voting disk, 1-3 adding, 6-18
redundancy with Oracle Enterprise Manager, 6-20
voting disk, 1-5 defined, 6-2
Redundant Interconnect Usage, 2-22 registering in Oracle Clusterware, 6-7
registering resources, 6-7 RESTART_ATTEMPTS
resource attributes resource attribute, B-8
ACL, B-3 RESTART_COUNT
ACTION_FAILURE_EVENT_TEMPLATE, B-14 resource attribute, B-15
ACTION_SCRIPT, B-4 restoring
ACTIVE_PLACEMENT, B-4 OCR, 3-17
AGENT_FILENAME, B-5 role-separated management, 2-10
AUTO_START, B-5 CRS Administrator, 2-10
CARDINALITY, B-5 horizontal implementation, 2-10
CHECK_INTERVAL, B-5 vertical implementation, 2-10
DEGREE, B-5 runcluvfy.sh, A-5
DESCRIPTION, B-6
ENABLED, B-6
FAILURE_INTERVAL, B-6
S
FAILURE_THRESHOLD, B-6 scalability
HOSTING_MEMBERS, B-6 adding nodes and instances, quick-start
INTERNAL_STATE, B-14 format, 4-3
LAST_SERVER, B-14 SCRIPT_TIMEOUT
LAST_STATE_CHANGE, B-14 resource attribute, B-8
LOAD, B-7 Server Control Utility (SRVCTL), 1-5
NAME, B-7 see SRVCTL
OFFLINE_CHECK_INTERVAL, B-7 server pools
PLACEMENT, B-7 described, 2-4
PROFILE_CHANGE_EVENT_TEMPLATE, B-15 Free, 2-7
RESTART_ATTEMPTS, B-8 Generic, 2-7
RESTART_COUNT, B-15 SERVER_POOLS
SCRIPT_TIMEOUT, B-8 resource attribute, B-8
SERVER_POOLS, B-8 server-centric resource, 6-3
START_DEPENDENCIES, B-9 servers
START_TIMEOUT, B-11 described, 2-2
STATE_CHANGE_EVENT_TEMPLATE, B-15 how Oracle Clusterware assigns, 2-8
STATE_DETAILS, B-15 Oracle Clusterware requirements, 1-3
STOP_DEPENDENCIES, B-11 states, 2-2
STOP_TIMEOUT, B-12 setif command
TARGET, B-15 OIFCFG command-line interface, D-6
TYPE, B-12 Single Client Access Name (SCAN), 1-6
UPTIME_THRESHOLD, B-13 slew time synchronization, 2-18
resource dependencies software requirements, 1-4
defined, 6-10 SRVCTL
start dependencies, 6-11 overview and concepts, 1-13
attraction, 6-12, B-10 srvctl stop nodeapps command, 2-20
dispersion, 6-13, B-11 start effort evaluation
hard, 6-11, B-9 described, 6-15
pullup, 6-13, B-10 START_DEPENDENCIES
weak, 6-12, B-10 resource attribute, B-9
Index-8
START_TIMEOUT out-of-place, 1-12
resource attribute, B-11 upgrades
starting the OIFCFG interface, D-2 and SCANs, 2-19
STATE_CHANGE_EVENT_TEMPLATE UPTIME_THRESHOLD
resource attribute, B-15 resource attribute, B-13
STATE_DETAILS
resource attribute, B-15
V
step time synchronization, 2-18
STOP_DEPENDENCIES versions
resource attribute, B-11 compatibility for Oracle Clusterware, Oracle ASM,
STOP_TIMEOUT and Oracle Database software, 1-11
resource attribute, B-12 VIP, 1-5, 6-16
subnet adding
changing, 2-23 with Oracle Enterprise Manager, 6-17
configuring for VIP address, 1-5 address
syntax changing, 2-20
OCRDUMP utility, G-15 defining for applications, 1-15
SYSTEM requirements, 1-5
node view, H-5 virtual internet protocol address (VIP), 6-16
SYSTEM.language key virtual IP
output, G-16 See VIP
SYSTEM.version key voting disks, 1-5
output, G-16 adding, 3-25
adding to non-Oracle ASM storage, 3-26
adding to Oracle ASM, 3-26
T administering, 3-1
TARGET backing up, 3-24
resource attribute, B-15 deleting, 3-25, 3-26
TFA, H-15 file universal identifier (FUID)
automatic diagnostic collection, H-20 obtaining, 3-26
data redaction feature, H-22 managing, 3-22
on-demand diagnostic collection, H-21 migrating, 3-25
TFACTL migrating to Oracle ASM, 3-26, 3-27
commands modifying not stored on Oracle ASM, 3-26
tfactl diagcollect, H-21 modifying stored on Oracle ASM, 3-26
tfactl directory, H-18 on Oracle ASM, xxiv
tfactl host, H-19 replacing in non-ASM storage, 3-26
tfactl print, H-17 restoring, 3-24
tfactl purge, H-18 storing on Oracle ASM, 3-23
tfactl set, H-20
TFA command-line utility, H-16
W
thread safety, F-9
TOP CONSUMERS weak start dependency, 6-12
node view, H-5 modifiers, B-10
tracing Windows systems
enabling for Oracle Clusterware, E-69 services for clusterware, 1-10
enabling for Oracle Clusterware
components, E-74
Oracle Clusterware components, E-74
tracing_level parameter
supplying to crsctl set trace command, E-74
troubleshooting
OCR, G-11
TYPE
resource attribute, B-12
U
upgrade
migrating storage after, 3-3, 3-5
Index-9
Index-10