Oracle® Beehive Installation Guide Release 2 (2.0.1.8) for Linux x86 Part Number E16641-07 |
|
|
PDF · Mobi · ePub |
This chapter describes how to install and configure Oracle Beehive to support deployment on multiple Oracle Real Application Clusters (Oracle RAC) nodes. It covers the following topics:
Note:
You may use Database Configuration Assistant (DBCA) to create Oracle RAC nodes. However, refer to My Oracle Support Note 342419.1 to properly configure the LOCAL_LISTENER initialization parameter.This module uses the following naming conventions:
Global service name of the Oracle RAC database to be used: MYDB
Number of Oracle RAC nodes: R
SID of first Oracle RAC node: MyDB1
SID of second Oracle RAC node: MyDB2
SID of R
th Oracle RAC node: MyDBR
Virtual Internet Protocol (VIP) host names and listener port numbers for each Oracle RAC node: HOST-VIP1:PORT1
to HOST-VIPR:PORTR
Oracle Notification Services (ONS) host names and remote port numbers for each Oracle RAC node: ONS_HOST1:ONS_PORT1
to ONS_HOSTR:ONS_PORTR
Note:
The location of the archive redo logs for each Oracle RAC node must be accessible by all nodes in your Oracle RAC database.Refer to "Managing Archived Redo Logs Using RMAN in Oracle Real Application Clusters" in Chapter 5, "Configuring Recovery Manager And Archiving" in Oracle Real Application Clusters Administration and Deployment Guide for more information.
If your Oracle RAC database uses raw storage, you must manually create the tablespace before running the Oracle Beehive Install Wizard.
Note:
If you want to install Oracle Beehive with Oracle Beehive Provisioning Application and you require SSL Oracle Notification Services (ONS) notification, you must follow the steps described in "Enabling Secure ONS Notification".For more information about Oracle Beehive Provisioning Application, refer to "Provisioning Oracle Beehive".
Install Oracle Beehive with the Oracle Beehive Install Wizard. Enter the following database information:
Host and Port: HOST-VIP1:PORT1^HOST-VIP2:PORT2^HOST-VIP3:PORT3
Service Name: Use the global service name (MYDB
).
Note:
During the installation of Oracle Beehive, ensure the first Oracle RAC node (MyDB1
) remains up. Otherwise, the install will fail due to bug 5693566 (Web Services Manager Configuration Assistant will fail).These steps update Oracle Beehive with the Oracle RAC global service name and the multiple database service names:
The file <Oracle home>
/beehive/conf/beehiveconfig.xml
contains the bootstrap database connect information. Take a backup of this file before applying any post-install steps.
Modify the database system object's configuration to specify the ONS remote ports that are listening on your Oracle RAC nodes. The following example specifies two ONS remote ports with the ons_entry
option:
beectl modify_database --database _CURRENT_SITE:Database --ons_entry ONS_HOST1:ONS_PORT1 --ons_entry ONS_HOST2:ONS_PORT2
To determine the ONS remote port, run the following command:
<Oracle Cluster Ready Services home>/bin/onsctl ping
You should see output similar to the following. The ONS remote port is indicated by the highlighted text:
Number of onsconfiguration retrieved, numcfg = 2 onscfg[0] {node = strasha05.us.oracle.com, port = 6200} Adding remote host strasha05.us.oracle.com:6200 onscfg[1] {node = strasha06.us.oracle.com, port = 6200} Adding remote host strasha06.us.oracle.com:6200 ons is running ...
Call beectl activate_configuration
on your Oracle Beehive instance. Afterwards, call beectl modify_local_configuration_files
on the same Oracle Beehive instance.
Note:
Thebeectl modify_local_configuration_files
command will ask you to run this command on all your other Oracle Beehive instances. Do not run this command on all your other instances at this time.
If you have, or plan to have, more than Oracle Beehive instance, refer to "Installing Multiple Oracle Beehive Instances with Oracle RAC".
Restart your Oracle Beehive instance. You may use the beectl restart --all
command.
Note:
You must restart Oracle Beehive (after callingbeectl modify_local_configuration_files
) if you modify the ONS details in the database system object's configuration (as you have done previously).If you have not already done so and you require SSL ONS notification, follow the steps described in "Enabling Secure ONS Notification".
You may ignore this step if your deployment does not require SSL notification.
Note:
You must perform this step if you wish to install Oracle Beehive with Oracle Beehive Provisioning Application. Refer to "Provisioning Oracle Beehive" for more information.This step involves specifying the Oracle Wallet directory in the ons.config
file. As a result, Oracle Cluster Ready Services (CRS) will use SSL when communicating with other nodes (other Oracle RAC nodes and Oracle Beehive instances) and require SSL certificate authentication from all Oracle Notification Services (ONS) instances that try to connect to it.
To enable SSL ONS notification, add the following line to all <Oracle Cluster Ready Services home>
/opmn/conf/ons.config
files of each Oracle RAC node:
walletfile=MY_SECURE_WALLET_DIR
MY_SECURE_WALLET_DIR
is your Oracle Wallet directory. Refer to "Configuring TLS with Oracle Wallet" for information about configuring Oracle Wallet.
Oracle Beehive supports the following ways to install multiple instances Oracle Beehive with Oracle RAC:
Install All Oracle Beehive Instances, then Apply Post-Install Steps
Install One Oracle Beehive Instance, Apply Post-Install Steps, Install Additional Instances
You can install multiple Oracle Beehive instances, then run the post-install steps afterwards on all those instances as described in this module:
Install all your Oracle Beehive instances.
For one instance, apply all the post-installation steps.
For all the other instances, run the following post-installation steps:
Step 3, "Commit Configuration Changes", except run only the beectl modify_local_configuration_files command
.
Alternatively, instead of installing multiple Oracle Beehive instances then running the post-install steps on each one, you may install one Oracle Beehive instance, apply the post-install steps on that instance, then install additional Oracle Beehive instances.
Oracle Beehive Affinity Service enables other Oracle Beehive services to take advantage of the enhanced performance when instances or nodes from your Oracle RAC environment has affinity for any data. Currently, only the event framework, or the Object Event Framework (OEF), and the E-mail Service can take advantage of the Affinity Service.
To enable Oracle Beehive Affinity Service, follow these steps:
Create one database service for each Oracle RAC node with the following command:
srvctl add service -d <database global service name> -s <database service name> -r <Oracle RAC node instance ID>
Note:
These services should run on only one Oracle RAC node and should not failover to other nodes.For example, suppose your database has the global service name BEEHIVE
, and has four Oracle RAC nodes with IDs BEEHIVE1
, BEEHIVE2
, BEEHIVE3
, and BEEHIVE4
. Create four database services (named afserv1
, afserv2
, afserv3
, and afserv4
) with the following commands:
srvctl add service -d BEEHIVE -s afserv1 -r BEEHIVE1 srvctl add service -d BEEHIVE -s afserv2 -r BEEHIVE2 srvctl add service -d BEEHIVE -s afserv3 -r BEEHIVE3 srvctl add service -d BEEHIVE -s afserv4 -r BEEHIVE4
Start the database services you just created. For example:
srvctl start service -d BEEHIVE -s afserv1 srvctl start service -d BEEHIVE -s afserv2 srvctl start service -d BEEHIVE -s afserv3 srvctl start service -d BEEHIVE -s afserv4
Set the property AffinityServiceNames with the connection descriptors of your newly created database services. For example, to set this property with the four database services created in the previous step, call the following command. The example assumes the domain name is example.com
.
Note:
(Line breaks have been inserted in the following example for better readability.)A connect descriptor cannot contain any new line characters (\n
, \r
, or \n\r
); this connect string must be a single-line value.
beectl modify_property --component _CURRENT_SITE:Database --name AffinityServiceNames --value "(DESCRIPTION= (ADDRESS_LIST= (ADDRESS=(PROTOCOL=TCP)(HOST=host1.example.com)(PORT=1521))) (CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=afserv1.example.com)))" --value "(DESCRIPTION= (ADDRESS_LIST= (ADDRESS=(PROTOCOL=TCP)(HOST=host2.example.com)(PORT=1521))) (CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=afserv2.example.com)))" --value "(DESCRIPTION= (ADDRESS_LIST= (ADDRESS=(PROTOCOL=TCP)(HOST=host3.example.com)(PORT=1521))) (CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=afserv3.example.com)))" --value "(DESCRIPTION= (ADDRESS_LIST= (ADDRESS=(PROTOCOL=TCP)(HOST=host4.example.com)(PORT=1521))) (CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=afserv4.example.com)))"
Refer to "Modifying AffinityServiceNames Property" for more information about setting this property.
Activate the configuration with the following command:
beectl activate_configuration
The database framework will immediately start using the Affinity Service.
Note:
You must disable SSL ONS notifications. Follow these steps to do so:Set the property NotificationServerSslEnabled to false:
beectl modify_property --component _CURRENT_SITE:OpmnCluster --name NotificationServerSslEnabled --value false
Activate the configuration:
beectl activate_configuration
To restart a Oracle RAC node with which you have configured Oracle Beehive Affinity Service, follow these steps:
Stop the database service associated with the Oracle RAC node you want to restart.
Restart the Oracle RAC node.
Start the associated database service.
Automated Failover, beectl, and Oracle Beekeeper
If your Oracle RAC database is in the process of performing an automated failover, beectl commands and Oracle Beekeeper instances that are currently running may appear to hang. If this persists for a long period of time, for beectl, terminate the beectl process (with the kill
command, for example) and then run the beectl command again later. For Oracle Beekeeper, restart the Oracle Beekeeper unmanaged OC4J instance with the following commands:
<Oracle Beekeeper home>/opmn/bin/opmnctl stopall <Oracle Beekeeper home>/opmn/bin/opmnctl startall
Modifying AffinityServiceNames Property
If the global service name has been created with the domain name (such as example.com), all the database services should use the same domain name even though they have not been created with the domain name.
Alternatively, you may specify the service name instead of the connection descriptor. For example:
beectl modify_property --component _CURRENT_SITE:Database --name AffinityServiceNames --value afserv1.example.com --value afserv2.example.com --value afserv3.example.com --value afserv4.example.com
If you use service names instead of connection descriptors, Oracle Beehive will use the connection string specified by the property ConnectDescriptor in the _CURRENT_SITE:Database component. For example, you would ensure that the ConnectDescriptor would be set as follows:
beectl list_properties --component _CURRENT_SITE:Database --format xml <?xml version="1.1" encoding="UTF-8"?> <beectl-output resultset="table"> <row> <column name="Property name">AccessSchemas</column> <column name="Property value"></column> </row> ... <row> <column name="Property name">ConnectDescriptor</column> <column name="Property value"> (DESCRIPTION= (ADDRESS_LIST= (LOAD_BALANCE=yes) (FAILOVER=on) (ADDRESS=(PROTOCOL=TCP)(HOST=host1.example.com) (PORT=1521)) (ADDRESS=(PROTOCOL=TCP)(HOST=host2.example.com) (PORT=1521)) (ADDRESS=(PROTOCOL=TCP)(HOST=host3.example.com) (PORT=1521))) (ADDRESS=(PROTOCOL=TCP)(HOST=host4.example.com) (PORT=1521))) (CONNECT_DATA= (SERVER=DEDICATED) (SERVICE_NAME=beehive.us.oracle.com))) </column> </row>
Oracle Beehive does not support multiple connect strings for the same affinity service. However, Oracle Beehive supports multiple listeners for the same affinity service. For example, suppose you have the following entries:
Primary service:
(DESCRIPTION= (ADDRESS_LIST=(ADDRESS= (PROTOCOL=TCP) (HOST=host11-vip.example.com) (PORT=32044))) (CONNECT_DATA= (SERVER=DEDICATED) (SERVICE_NAME=beehive.us.oracle.com)))
Stand-by service:
(DESCRIPTION= (ADDRESS_LIST=(ADDRESS= (PROTOCOL=TCP) (HOST=host2-vip.us.oracle.com) (PORT=32044))) (CONNECT_DATA= (SERVER=DEDICATED) (SERVICE_NAME=beehive.us.oracle.com)))
Use the following connect string for these two services:
(DESCRIPTION= (ADDRESS_LIST= (ADDRESS= (PROTOCOL=TCP) (HOST=host1-vip.us.oracle.com) (PORT=32044)) (ADDRESS= (PROTOCOL=TCP) (HOST=host2-vip.us.oracle.com) (PORT=32044))) (CONNECT_DATA= (SERVER=DEDICATED) (SERVICE_NAME=beehive.us.oracle.com)))