Oracle9i Real Application Clusters Installation and Configuration Release 1 (9.0.1) Part Number A89868-02 |
|
Appendix B describes service discovery problems for Oracle Enterprise Manager in Real Application Clusters environments. Specific topics covered in this appendix are:
Discovery of nodes and objects by Oracle Enterprise Manager is robust and rarely fails once a correct configuration is established. Failures typically occur because the Oracle Intelligent Agent was not starting on the node or the configuration is incorrect. If starting the Oracle Intelligent Agent does not resolve the problem, the discovery failure could be due to a more serious configuration issue.
This section covers the following topics:
To understand proper configuration, it is important to understand how discovery works. During discovery, a services.ora
file on the managed nodes is created in the $ORACLE_HOME/network/agent
directory on UNIX operating systems and %ORACLE_HOME%
\network\admin
directory on Windows NT or Windows 2000 operating systems. This file contains information about the nodes and their services (databases, instances and listeners) discovered.
This file is created from the Real Application Clusters configuration information in the shared raw device (or shared cluster file system file maintained by the SRVCTL Utility) and the following sources on the managed nodes:
You must accurately configure each of these components so that discovery succeeds.
Discovery first determines the Real Application Clusters database name and the nodes associated with the database. How it accomplishes this depends on the operating system that the managed system is running on as described under the following headings:
On UNIX operating systems, discovery uses information in the oratab entry for the name of the cluster. The oratab
entry is found in /etc/oratab
or /var/opt/oracle/oratab
. It contains entries of the form:
db_name:$ORACLE_HOME:N
Where db_name is the database name and $ORACLE_HOME
is the Oracle home given to your database. From this entry, the database name is acquired.
Next, discovery executes the following command:
srvctl config -p
db_name
Where db_name was retrieved from oratab,
On some operating systems, such as Sun Solaris, node_list
defaults to the entire cluster and this parameter does not need to be explicitly set. The configuration file must exist even if it has no entries.
On Windows operating systems, discovery locates the listener and instance names for a node with the listener.ora file, located in $ORACLE_HOME/network/admin
on UNIX operating systems and %ORACLE_HOME%\network\admin
on Windows NT or Windows 2000 on the discovered nodes.
Discovery requires the following entries:
(description=
(address=(protocol=tcp)(host=rachp1-pc)(port=1521)))
sid_list_listener=
(
sid_list=
(
sid_desc=
(
sid_name=db1)))
The listener.ora
file created after installation typically contains the configuration for discovery.
See Also:
Oracle9i Real Application Clusters Administration for more information on the listener.ora file. |
The tnsnames.ora
file, located in $ORACLE_HOME/network/admin
on UNIX operating systems and %ORACLE_HOME%\network\admin
on Windows NT or Windows 2000 on the discovered nodes, is read by the discovery process to determine names and address information for the database and instances on a node.
Discovery requires the following entries:
tnsnames.ora
file For example:
db1.us.acme.com= (description= (address=(protocol=tcp)(host=db1-server)(port=1521)) (connect_data= (service_name=db.us.acme.com) (instance_name=db1)))
db.us.acme.com= (description= (load_balance=on) (failover=on) (address_list=(address=
(protocol=tcp)(host=db1-server)(port=1521))(address=
(protocol=tcp)(host=db2-server)(port=1521)) (connect_data= (service_name=db.us.acme.com)))
Discovery results in the creation of:
services.ora
file in the$ORACLE_HOME/network/agent
directory on UNIX operating systems and %ORACLE_HOME%\network\admin
directory on Windows NT or Windows 2000.
The services.ora
file should contain an ops_database
entry for the Real Application Clusters database, that lists the node, database address, and name of the database. The example below shows a database named db.us.acme.com
running on node db1-server
. The database address comes from the db.us.acme.com
net service name in the tnsnames.ora
file.
db.us.acme.com=(ops_database, db1-server, (description=(load_
balance=on)(failover=on)(address_
list=(address=(protocol=tcp)(host=db1-server)
(port=1521))(address=(protocol=tcp)(host=db2-server)(port=1521)))(connect_
data=(service_name=db.us.acme.com)))), db.us.acme.com)
The services.ora
file should also contain an OPS_INSTANCE
entry for the instance that runs on the node. This entry identifies the:
tnsnames.ora
file
The example below shows the instance DB1 runs on node DB1-server, and is listened for by LISTENER_DB1-server:
db1.us.acme.com=(ops_instance, db1-server, (description=(address=(protocol=tcp)(host=db1-server)(port=1521))(connect_ data= (service_name=db.us.acme.com)(instance_name=db1))), db.us.acme.com, listener_db1-server)
nmiconf.log
in $ORACLE_HOME/network/log
directory on UNIX operating systems and %ORACLE_HOME%\network\log
directory on Windows NT or Windows 2000.
If the services.ora
file contains an ORACLE_DATABASE
entry instead of ops_database
and ops_instance
entries, discovery has failed. To resolve this:
On UNIX:
oratab
file is configured correctly.
srvctl config -p
db_name -n node_name
On Windows NT or Windows 2000:
SRVCTL config -p
db_name -n node
On Unix, Windows NT, or Windows 2000, SRVCTL displays the name of the node and the instance for the node. The following example shows a node named NODE1 running an instance named DB1 with a listener named LISTENER_NODE1
.
node1 op1
listener.ora
and tnsnames.ora
file entries to ensure that the required entries are present.
Oracle9i Real Application Clusters Administration for information on troubleshooting with Oracle Enterprise Manager Thread Trace Files, and how to contact Oracle Worldwide Customer Support
See Also:
|
Copyright © 1996-2001, Oracle Corporation. All Rights Reserved. |
|