Skip Headers
Oracle® Enterprise Manager Connectors Integration Guide
10g Release 5 (10.2.0.5)

Part Number B32521-06
Go to Documentation Home
Home
Go to Book List
Book List
Go to Table of Contents
Contents
Go to Index
Index
Go to Feedback page
Contact Us

Go to previous page
Previous
Go to next page
Next
PDF · Mobi · ePub

1 Using Connector Web Services Interfaces

This chapter discusses the usage of the Connector Framework interfaces in the following sections:

Connector Framework Overview

The Enterprise Manager Connector Framework extends Enterprise Manager by enabling bidirectional communication between Enterprise Manager and any other management framework systems, either general purpose or specialized. Through the Connector Framework, Enterprise Manager can exchange alerts or events, performance information, root cause analyses, and so forth with other management systems by utilizing their expertise areas. Through the Connector Framework, Enterprise Manager can also delegate management operations to other management systems where they have domain expertise.

The Oracle Enterprise Manager 10g Grid Control Connector Framework 10.2.0.4 provides Web services interfaces, enabling you to send requests to a connector to perform the following tasks:

Universal Limitations

The following universal limitations apply to this release of the Connector Framework.

Note:

For information about patches and workarounds for known issues, see the Oracle Enterprise Manager Connector Framework Release Notes (B31145-01).

Prerequisites

The prerequisites for the Connector Framework require that you ensure the following:

Additionally, for security purposes, the OMS should be set up using HTTPS.

The following sections explain how you can comply with these prerequisites. Refer to "Related Documentation" on page Eviii for documentation resources on setting up your environment.

Complying with System Requirements

The Connector Framework has the following system requirements:

  • Oracle Enterprise Manager Management Server version 10.2.0.2

  • Oracle Enterprise Manager Management Agent version 10.2.0.2

  • Oracle Database version 10.2.0.2

Setting up emcli

For the Connector Framework to function properly, you need to set up emcli by running it as shown:

$ORACLE_HOME/bin/emcli setup –url=<OMS URL> -username=<sysman>

For the Windows OMS, log on as the oms_username in the request model, and set up emcli using the command above.

Assigning Privileges for the Windows Agent

Privileges are required for users running the Agent. For example, to set a privilege for a user/group on Windows Server 2003, do the following:

  1. From the Start menu, select All Programs, then Administrative Tools, then Local Security Policy. The Local Security Settings window appears.

  2. Double-click Local Policies in the left pane, then click User Rights Assignment under it.

  3. From the list in the right pane, right-click the policy you want to assign to a user, then select Properties.

  4. Click the Add User or Group... button. The Select Users or Groups dialog box appears.

  5. Specify the user/group name and click OK.

The following sections discuss privileges for specific platforms.

Windows NT or Windows Server

For Windows NT 4.0 or Windows Server 2003, assign the following privileges for users running the Agent:

  • SE_TCB_NAME / "act as part of the operating system"

  • SE_ASSIGNPRIMARYTOKEN_NAME / "replace a process level token"

  • SE_INCREASE_QUOTA_NAME / "increase quotas"

Assign the following privilege for all users who want to run jobs:

  • SE_BATCH_LOGON_NAME/ "logon as batch user"

Windows XP

SE_TCB_NAME is no longer required to run CreateProcessAsUser, and SE_INCREASE_QUOTA_NAME has a new user-visible string. Consequently, you need to assign the following privileges:

  • SE_ASSIGNPRIMARYTOKEN_NAME / "replace a process level token"

  • SE_INCREASE_QUOTA_NAME / "adjust memory quotas for a process"

Assign the following privilege for all users who want to run jobs:

  • SE_BATCH_LOGON_NAME/ "logon as batch user"

Preparing and Activating the Images

For the RAC provisioning operation (particularly RAC creation) to function properly, you need to prepare and activate the software library images. The following steps explain how to accomplish this:

  1. The Enterprise Manager Agent must be present on the target server. In this release, you need to use one of the following methods to install the Agent on the target computer:

    • Install the Agent from the Oracle Universal Installer (OUI).

    • Download and install the Agent.

    • Push the Agent to a host by selecting the Deployments tab from Enterprise Manager, clicking the Install Agent link from the Deployments page, then clicking the Fresh Install link from the Agent Installation Application page.

  2. Create the base of the RAC image as follows:

    1. Install the clusterware with OCR and the voting disk.

    2. Choose the software-only installation option during the database installation.

    3. Apply version 10.2.0.2 and the optional database patch for bug 4437727.

    4. Start up DBCA and select Manage Templates.

    5. Create a database template:

      — Uncheck Specify Flash Recovery and select IFILE.

      — You do not need to specify anything for the storage section.

  3. Before using the Enterprise Manager Provisioning feature in step 4, create a directory on the Enterprise Manager computer, and set the software library path on Enterprise Manager:

    1. Select the Deployments tab from Enterprise Manager.

    2. Select the Provisioning tab.

    3. Select the Administration tab.

    4. Click Add in the Software Library Configuration section. Your input can be:

      /home/oracle/swlibs

  4. Build Oracle Clusterware and Oracle Database images from this node using the Provisioning feature:

    1. Select the Deployments tab from Enterprise Manager.

    2. Select the Provisioning tab.

    3. Click Create Component. The Create Component wizard appears and guides you through five steps.

      Note that the Files to Exclude for the Oracle Clusterware image are: *.log, *.err, *.out, *.trc, and those for the Oracle Database image are: *.log, *.dbf, sqlnet.ora, tnsnames.ora, listener.ora, and oratab.

  5. Activate the images:

    1. Select the Deployments tab from Enterprise Manager.

    2. Select the Provisioning tab.

    3. From the Components tab, select an image and click Activate to activate the image. Repeat this step for each image you want to activate.

Installing the Connector Framework

You install the Connector Framework to the OMS home. The $ORACLE_HOME in the procedure below refers to the OMS home.

To download and install the Connector Framework, do the following:

  1. Download the Connector Framework installable files from OTN by clicking Downloads, then Enterprise Manager.

  2. Stop OMS by running:

    $ORACLE_HOME/opmn/bin/opmnctl stopall

  3. Start the Oracle Universal Installer (OUI) by running the following command:

    For Linux or Unix:

    $ORACLE_HOME/oui/bin/runInstaller

    For Windows:

    $ORACLE_HOME\oui\bin\setup

  4. When prompted by OUI, locate products.xml in the installation source directory:

    connectors/framework/10.2.0.2/1.0/source/Disk1/stage

  5. Follow the instructions in the OUI screens.

  6. Access the Enterprise Manager Web console from one of the following URLs:

    http://server:port/em/connector/ManagementService

    https://server:port/em/connector/ManagementService

Uninstalling the Connector Framework

The Connector Framework is installed to the OMS home. The $ORACLE_HOME in the procedure below refers to the OMS home. To uninstall the Connector Framework, do the following:

  1. Stop OMS by running:

    $ORACLE_HOME/opmn/bin/opmnctl stopall

  2. Start the Oracle Universal Installer (OUI) by running the following command:

    For Linux or Unix:

    $ORACLE_HOME/oui/bin/runInstaller

    For Windows:

    $ORACLE_HOME\oui\bin\setup

  3. Click Deinstall Products..., open the list under OMS home, then open the list under the connector to be uninstalled.

  4. Select the connector to be uninstalled and Connector Framework 10.2.0.4 under it, then click the Remove… button.

  5. Click Yes for confirmation, then exit OUI.

  6. Manually delete the section in Example 1–1 from $ORACLE_HOME/j2ee/OC4J_EM/applications/em/em/WEB-INF/web.xml:

    Example 1-1 Code for Management Service Interface for Connector Framework

    <description>Management Service Interface for Connector Framework</description>
              <servlet>
                <servlet-name>ManagementService</servlet-name>
                <servlet-class>oracle.j2ee.ws.StatelessJavaRpcWebService</servlet-class>
                <init-param>
                  <param-name>class-name</param-name>
                  <param-value>oracle.sysman.connector.base.mgmtsvc.
                          ManagementServiceImpl</param-value>
                </init-param>
                <init-param>
                  <param-name>interface-name</param-name>
                  <param-value>oracle.sysman.connector.base.mgmtsvc.
                          IManagementService</param-value>
                </init-param>
              </servlet>
              <servlet-mapping>
                <servlet-name>ManagementService</servlet-name>
                <url-pattern>/connector/ManagementService</url-pattern>
              </servlet-mapping>
              <session-config>
                <session-timeout>35</session-timeout>
              </session-config>
              <mime-mapping>
                <extension>html</extension>
                <mime-type>text/html</mime-type>
              </mime-mapping>
              <mime-mapping>
                <extension>txt</extension>
                <mime-type>text/plain</mime-type>
              </mime-mapping>
    
  7. Start OMS by running:

    $ORACLE_HOME/opmn/bin/opmnctl startall

Generating the Web Service Client Stub

To integrate your system with Enterprise Manager through the Web services the Connector Framework exposes, you can generate a stub client from the WSDL file, which you can obtain from the following site:

http://server:port/em/connector/ManagementService?wsdl

Connector Interfaces

The Connector Framework uses models for requests and responses. A request model describes either a query or a desired state of the system. A response model describes the information related to the query or the current state of the system.

The Connector Framework exposes the following interfaces through Web services:

The following sections describe concepts and constructs used in these models.

Target Types

Model and aggregate target types are provided for Connector Framework integration. Table 1–1 shows the model target types and provides a description for each type.

Table 1-1 Model Target Types

Target Type Description

host

Host target.

oracle_database

Single database instance target.

oracle_emrep

Management Services and Repository target.

oracle_emd

Enterprise Manager Agent target.

osm_instance

ASM instance target.

oracle_listener

Listener target.


Table 1–2 shows the aggregate target types and provides a description for each type.

Table 1-2 Model Aggregate Target Types

Target Type Description

cluster

Oracle Clusterware target.

rac_database

Cluster database target.


Property Elements

Property elements are name-value pairs. To set properties, you can insert a value as shown in Example 1–2:

Example 1-2 Setting Properties

<Property>
     <Name>diskList</Name>
     <Value>/dev/raw/raw3</Value>
</Property>

To query properties, you should set xsi:nil="true" as shown in Example 1–3:

Example 1-3 Querying Properties

<Property>
     <Name>status</Name>
     <Value>xsi:nil="true"</Value>
</Property>

Note that the property "host" is returned as a <Host/> element instead of a <Property/> element in the response model. See Chapter 5, "Reference Tables" for more querying properties.

Target Lists

You can obtain lists of targets in the Enterprise Manager repository and members of an aggregate target. Example 1–4 shows how you can query for the list of targets in the Enterprise Manager repository:

Example 1-4 Querying for the List of Targets

<EMModel xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.oracle.com/sysman/connector/msi EMModel.xsd" xmlns="http://xmlns.oracle.com/sysman/connector/msi"> 
<RequestHeader> 
   <RequestID>Test ID</RequestID> 
   <Source>Test Source</Source> 
   <Destination>Oracle</Destination> 
 </RequestHeader> 
 <Credential> 
   <Name>sysman</Name> 
   <Password>sysman</Password> 
 </Credential> 
 <Target> 
   <Name>*</Name> 
   <Type>*</Type> 
   <Host>*</Host> 
 </Target> 
</EMModel>

Example 1–5 shows how you can query for members of an aggregate target:

Example 1-5 Querying for Members of an Aggregate Target

<EMModel xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.oracle.com/sysman/connector/msi EMModel.xsd" xmlns="http://xmlns.oracle.com/sysman/connector/msi">
<RequestHeader>
    <RequestID>Test ID</RequestID> 
   <Source>Test Source</Source> 
   <Destination>Oracle</Destination> 
 </RequestHeader> 
 <Credential> 
   <Name>sysman</Name> 
   <Password>sysman</Password> 
 </Credential>
 <AggregateTarget>
<Name>rac</Name>
<Type>rac_database</Type>
 <Target> 
   <Name>*</Name> 
   <Type>*</Type> 
   <Host>*</Host> 
 </Target>
</AggregateTarget>
</EMModel>

Request and Response Model Schema

Example 1-6 shows the EMModel.xsd schema that applies to all request and response models.

Example 1-6 EMModel.xsd Request and Response Model Schema

<?xml version="1.0" encoding="UTF-8" ?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
            xmlns="http://xmlns.oracle.com/sysman/connector/base/msi" 
            elementFormDefault="qualified">
 <xsd:simpleType name="Name">
  <xsd:restriction base="xsd:string"/>
 </xsd:simpleType>
 <xsd:simpleType name="Type">
  <xsd:restriction base="xsd:string"/>
 </xsd:simpleType>
 <xsd:simpleType name="TargetType">
  <xsd:restriction base="xsd:string"/>
 </xsd:simpleType>
 <xsd:simpleType name="AggregateTargetType">
  <xsd:restriction base="xsd:string">
   <xsd:enumeration value="cluster"/>
   <xsd:enumeration value="rac_database"/>
  </xsd:restriction>
 </xsd:simpleType>
 <xsd:simpleType name="Host">
  <xsd:restriction base="xsd:string"/>
 </xsd:simpleType>
 <xsd:simpleType name="Username">
  <xsd:restriction base="xsd:string"/>
 </xsd:simpleType>
 <xsd:simpleType name="Password">
  <xsd:restriction base="xsd:string"/>
 </xsd:simpleType>
 <xsd:simpleType name="Value">
  <xsd:restriction base="xsd:string"/>
 </xsd:simpleType>
<xsd:simpleType name="RequestID">
  <xsd:restriction base="xsd:string"/>
 </xsd:simpleType>
 <xsd:complexType name="Credential">
  <xsd:sequence>
   <xsd:element name="Name" type="Username"/>
   <xsd:element name="Password" type="Password"/>
  </xsd:sequence>
</xsd:complexType>
 <xsd:complexType name="Threshold">
  <xsd:sequence>
   <xsd:element name="ColumnName" type="xsd:string"/>
   <xsd:element name="Operator" type="xsd:string"/>
   <xsd:element name="WarningValue" type="Value" minOccurs="0"/>
   <xsd:element name="CriticalValue" type="Value" minOccurs="0"/>
   <xsd:element name="Response" type="xsd:string" minOccurs="0"/>
   <xsd:element name="Occurrences" type="xsd:int"/>
</xsd:sequence>
 </xsd:complexType>
 <xsd:complexType name="Metric">
  <xsd:sequence>
   <xsd:element name="Name" type="Name"/><!-- for example, ECM or regular. -->
   <xsd:element name="Type" type="Type"/>
   <xsd:element name="Threshold" type="Threshold" minOccurs="0" maxOccurs="unbounded"/>
  </xsd:sequence>
 </xsd:complexType>
 <xsd:complexType name="Property">
  <xsd:sequence>
   <xsd:element name="Name" type="Name"/>
   <xsd:element name="Value" type="Value" nillable="true"/>
  </xsd:sequence>
 </xsd:complexType>
 <xsd:complexType name="ComplexProperty">
  <xsd:sequence>
   <xsd:element name="Type" type="Type"/>
   <xsd:element name="Property" type="Property" maxOccurs="unbounded"/>
  </xsd:sequence>
 </xsd:complexType>
 <xsd:complexType name="RequestHeader">
  <xsd:sequence>
   <xsd:element name="RequestID" type="RequestID"/>
   <xsd:element name="Source" type="Name"/>
   <xsd:element name="Destination" type="Name"/>
   <xsd:element name="RequestProperty" type="ComplexProperty" minOccurs="0"/>
  </xsd:sequence>
 </xsd:complexType>
<xsd:complexType name="StorageType">
  <xsd:sequence>
   <xsd:element name="Type">
    <xsd:simpleType>
     <xsd:restriction base="xsd:string">
      <xsd:enumeration value="CFS"/>
      <xsd:enumeration value="ASM"/>
      <xsd:enumeration value="RAW"/>
     </xsd:restriction>
    </xsd:simpleType>
   </xsd:element>
   <xsd:element name="Property" type="Property" maxOccurs="unbounded"/>
  </xsd:sequence>
 </xsd:complexType>
 <xsd:complexType name="Job">
  <xsd:sequence>
   <xsd:element name="JobId" type="xsd:string"/>
   <xsd:element name="Target" type="Target" maxOccurs="unbounded" minOccurs="0"/>
   <xsd:element name="JobStatus" type="xsd:int" nillable="true" minOccurs="0"/>
   <xsd:element name="Property" type="Property" minOccurs="0" maxOccurs="unbounded"/>
   <xsd:element name="Parameter" type="Property" minOccurs="0" maxOccurs="unbounded"/>
  </xsd:sequence>
 </xsd:complexType>
 <xsd:complexType name="Target">
  <xsd:sequence>
   <xsd:element name="Name" type="Name"/>
   <xsd:element name="Type" type="TargetType"/>
   <xsd:element name="Host" type="Host" minOccurs="0"/>
   <xsd:element name="Storage" type="StorageType" minOccurs="0"/>
   <xsd:element name="Credential" type="Credential" minOccurs="0"/>
   <xsd:element name="Property" type="Property" minOccurs="0" maxOccurs="unbounded"/>
   <xsd:element name="ComplexProperty" type="ComplexProperty" maxOccurs="unbounded" minOccurs="0"/>
   <xsd:element name="Metric" type="Metric" minOccurs="0" maxOccurs="unbounded"/>
  </xsd:sequence>
</xsd:complexType>
 <xsd:complexType name="AggregateTarget">
  <xsd:sequence>
   <xsd:element name="Name" type="Name"/>
   <xsd:element name="Type" type="AggregateTargetType"/><!-- for Aggregate target, the host is not required. -->
   <xsd:element name="Host" type="Host" minOccurs="0"/>
   <xsd:element name="Storage" type="StorageType" minOccurs="0"/>
   <xsd:element name="Credential" type="Credential" minOccurs="0"/>
   <xsd:element name="Target" type="Target" minOccurs="1" maxOccurs="unbounded"/>
   <xsd:element name="Property" type="Property" minOccurs="0" maxOccurs="unbounded"/>
   <xsd:element name="ComplexProperty" type="ComplexProperty" maxOccurs="unbounded" minOccurs="0"/>
   <xsd:element name="Metric" minOccurs="0" maxOccurs="unbounded"/>
  </xsd:sequence>
 </xsd:complexType>
 <xsd:element name="EMModel">
  <xsd:annotation>
   <xsd:documentation>EM Model in integration.
   </xsd:documentation>
  </xsd:annotation>
  <xsd:complexType>
<xsd:sequence minOccurs="1">
    <xsd:element name="RequestHeader" type="RequestHeader"/>
    <xsd:element name="Credential" minOccurs="1" type="Credential"/>
    <xsd:element name="Job" type="Job" minOccurs="0" maxOccurs="unbounded"/>
    <xsd:element name="AggregateTarget" minOccurs="0" maxOccurs="unbounded" type="AggregateTarget"/>
    <xsd:element name="Target" minOccurs="0" maxOccurs="unbounded" type="Target"/>
   </xsd:sequence>
  </xsd:complexType>
 </xsd:element>
</xsd:schema>

getModel Interface

For this query model, according to the request, the connector fills the empty properties with values and returns a filled XML You can query more than one property in one request.

Example 1–7 shows how you can query the JobStatus property of a job target. For release 10.2.0.4, the JobStatus and Output properties are returned regardless of which properties are requested.

Example 1-7 Querying the Job Status (Request)

<?xml version="1.0" encoding="UTF-8" ?>
<EMModel xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xmlns="http://xmlns.oracle.com/sysman/connector/base/msi">
  <RequestHeader>
    <RequestID>JOBSTATUSQUERY0123456789</RequestID>
    <Source>JP</Source>
    <Destination>Oracle</Destination>
  </RequestHeader>
  <Credential>
    <Name>sysman</Name>
    <Password>welcome1</Password>
  </Credential>
  <Job>
    <JobId>1294ADF5443F9B67E0408EDB0B497568</JobId>
    <Property>
      <Name>JobStatus</Name>
      <Value xsi:nil="true" />
    </Property>
  <!--  <Property>
      <Name>output</Name>
      <Value xsi:nil="true"></Value>
    </Property> -->
  </Job>
</EMModel>

Example 1–8 shows how you can query the database target properties by sending a request.

Example 1-8 Querying Database Target Properties (Request)

<?xml version='1.0' encoding='UTF-8'?>
<EMModel xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xmlns="http://xmlns.oracle.com/sysman/connector/base/msi">
  <RequestHeader>
    <RequestID>DBQUERY0123456789</RequestID>
    <Source>source</Source>
    <Destination>Oracle</Destination>
  </RequestHeader>
  <Credential>
    <Name>sysman</Name>
    <Password>welcome1</Password>
  </Credential>
  <Target>
    <Name>rac33_rac331</Name>
    <Type>oracle_database</Type>
    <!--general properties-->
    <Property>
      <Name>status</Name>
      <Value xsi:nil="true">
      </Value>
    </Property>
    <Property>
      <Name>monitoring agent</Name>
      <Value xsi:nil="true">
      </Value>
    </Property>
    <Property>
      <Name>host</Name>
      <Value xsi:nil="true">
      </Value>
    </Property>
    <Property>
      <Name>homepage</Name>
      <Value xsi:nil="true">
      </Value>
    </Property>
    <Property>
      <Name>version</Name>
      <Value xsi:nil="true">
      </Value>
    </Property>
    <Property>
      <Name>oracle home</Name>
      <Value xsi:nil="true">
      </Value>
    </Property>
    <Property>
      <Name>critical alerts</Name>
      <Value xsi:nil="true">
      </Value>
    </Property>
    <Property>
      <Name>warning alerts</Name>
      <Value xsi:nil="true">
      </Value>
    </Property>
    <Property>
      <Name>critical policy violations</Name>
      <Value xsi:nil="true">
      </Value>
    </Property>
    <Property>
      <Name>warning policy violations</Name>
      <Value xsi:nil="true">
      </Value>
    </Property>
    <Property>
      <Name>compliance score</Name>
      <Value xsi:nil="true">
      </Value>
    </Property>
    <Property>
      <Name>last load time</Name>
      <Value xsi:nil="true">
      </Value>
    </Property>
    <!--db properties-->
    <Property>
      <Name>instance name</Name>
      <Value xsi:nil="true">
      </Value>
    </Property>
    <Property>
      <Name>listener</Name>
      <Value xsi:nil="true">
      </Value>
    </Property>
    <Property>
      <Name>is archiving</Name>
      <Value xsi:nil="true">
      </Value>
    </Property>
    <Property>
      <Name>is flashback logging</Name>
      <Value xsi:nil="true">
      </Value>
    </Property>
  </Target>
</EMModel>

The code for the following query targets is similar to querying the database target (Example 1–8), except that the target types would be different. See Table 1–1 and Table 1–2 for proper target types.

Example 1–9 shows the response you receive when you query the database target properties.

Example 1-9 Querying Database Target Properties (Response)

<?xml version = '1.0' encoding = 'UTF-8'?>
<ns0:EMModel xmlns:xsd="http://www.w3.org/2001/XMLSchema"    xmlns:ns0="http://xmlns.oracle.com/sysman/connector/base/msi" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <ns0:RequestHeader>
      <ns0:RequestID>DBQUERY0123456789</ns0:RequestID>
      <ns0:Source>Oracle</ns0:Source>
      <ns0:Destination>source</ns0:Destination>
   </ns0:RequestHeader>
   <ns0:Credential>
      <ns0:Name>*</ns0:Name>
      <ns0:Password>*</ns0:Password>
   </ns0:Credential>
   <ns0:Target>
      <ns0:Name>rac33_rac331</ns0:Name>
      <ns0:Type>oracle_database</ns0:Type>
      <ns0:Host>bjx33</ns0:Host>
      <ns0:Property>
         <ns0:Name>is archiving</ns0:Name>
         <ns0:Value>0</ns0:Value>
      </ns0:Property>
      <ns0:Property>
         <ns0:Name>monitoring agent</ns0:Name>
         <ns0:Value>https://bjx33:3872/emd/main/</ns0:Value>
      </ns0:Property>
      <ns0:Property>
         <ns0:Name>critical alerts</ns0:Name>
         <ns0:Value>0</ns0:Value>
      </ns0:Property>
      <ns0:Property>
         <ns0:Name>critical policy violations</ns0:Name>
         <ns0:Value>1</ns0:Value>
      </ns0:Property>
      <ns0:Property>
         <ns0:Name>homepage</ns0:Name>
         <ns0:Value>/em/console/database/instance/sitemap?type=
          oracle_database&amp;target=rac33_rac331&amp;event=doLoad</ns0:Value>
      </ns0:Property> 
      <ns0:Property>
         <ns0:Name>last load time</ns0:Name>
         <ns0:Value>1153085627000</ns0:Value>
      </ns0:Property>
      <ns0:Property>
         <ns0:Name>compliance score</ns0:Name>
         <ns0:Value>0.9580851063829787</ns0:Value>
      </ns0:Property>
      <ns0:Property>
         <ns0:Name>warning policy violations</ns0:Name>
         <ns0:Value>9</ns0:Value>
      </ns0:Property>
      <ns0:Property>
         <ns0:Name>status</ns0:Name>
         <ns0:Value>1</ns0:Value>
      </ns0:Property>
      <ns0:Property>
         <ns0:Name>is flashback logging</ns0:Name>
         <ns0:Value>0</ns0:Value>
      </ns0:Property>
      <ns0:Property>
         <ns0:Name>instance name</ns0:Name>
         <ns0:Value>rac331</ns0:Value>
      </ns0:Property>
      <ns0:Property>
         <ns0:Name>version</ns0:Name>
         <ns0:Value>10.2.0.1.0</ns0:Value>
      </ns0:Property>
      <ns0:Property>
         <ns0:Name>warning alerts</ns0:Name>
         <ns0:Value>1</ns0:Value>
      </ns0:Property>
      <ns0:Property>
         <ns0:Name>oracle home</ns0:Name>
         <ns0:Value>/home/oracle/oracle/product/10.2.0/db_1</ns0:Value>
      </ns0:Property>
      <ns0:Property>
         <ns0:Name>listener</ns0:Name>
         <ns0:Value>LISTENER_BJX33_bjx33</ns0:Value>
      </ns0:Property>
   </ns0:Target>
</ns0:EMModel>

Example 1–10 shows how you can query the Listener properties by sending a request.

Example 1-10 Querying Listener Properties (Request)

<?xml version='1.0' encoding='UTF-8'?>
<EMModel xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xmlns="http://xmlns.oracle.com/sysman/connector/base/msi">
  <RequestHeader>
    <RequestID>DBQUERY0123456789</RequestID>
    <Source>source</Source>
    <Destination>Oracle</Destination>
  </RequestHeader>
  <Credential>
    <Name>sysman</Name>
    <Password>welcome1</Password>
  </Credential>
  <Target>
    <Name>LISTENER_BJX33_bjx33</Name>
    <Type>oracle_listener</Type>
    <!--general properties-->
    <Property>
      <Name>status</Name>
      <Value xsi:nil="true">
      </Value>
    </Property>
    <Property>
      <Name>monitoring agent</Name>
      <Value xsi:nil="true">
      </Value>
    </Property>
    <Property>
      <Name>homepage</Name>
      <Value xsi:nil="true">
      </Value>
    </Property>
    <Property>
      <Name>oracle home</Name>
      <Value xsi:nil="true">
      </Value>
    </Property>
    <Property>
      <Name>critical alerts</Name>
      <Value xsi:nil="true">
      </Value>
    </Property>
    <Property>
      <Name>warning alerts</Name>
      <Value xsi:nil="true">
      </Value>
    </Property>
    <Property>
      <Name>critical policy violations</Name>
      <Value xsi:nil="true">
      </Value>
    </Property>
    <Property>
      <Name>warning policy violations</Name>
      <Value xsi:nil="true">
      </Value>
    </Property>
    <Property>
      <Name>compliance score</Name>
      <Value xsi:nil="true">
      </Value>
    </Property>
    <Property>
      <Name>last load time</Name>
      <Value xsi:nil="true">
      </Value>
    </Property>
    <!--listener properties-->
    <Property>
      <Name>alias</Name>
      <Value xsi:nil="true">
      </Value>
    </Property>
    <Property>
      <Name>net address</Name>
      <Value xsi:nil="true">
      </Value>
    </Property>
    <Property>
      <Name>listener.ora location</Name>
      <Value xsi:nil="true">
      </Value>
    </Property>
    <Property>
      <Name>start time</Name>
      <Value xsi:nil="true">
      </Value>
    </Property>
  </Target>
</EMModel>

Example 1–11 shows the response you receive when you query the Listener properties.

Example 1-11 Querying Listener Properties (Response)

<?xml version = '1.0' encoding = 'UTF-8'?>
<ns0:EMModel xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns0="http://xmlns.oracle.com/sysman/connector/base/msi" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <ns0:RequestHeader>
      <ns0:RequestID>DBQUERY0123456789</ns0:RequestID>
      <ns0:Source>Oracle</ns0:Source>
      <ns0:Destination>source</ns0:Destination>
   </ns0:RequestHeader>
   <ns0:Credential>
      <ns0:Name>*</ns0:Name>
      <ns0:Password>*</ns0:Password>
   </ns0:Credential>
   <ns0:Target>
      <ns0:Name>LISTENER_BJX33_bjx33</ns0:Name>
      <ns0:Type>oracle_listener</ns0:Type>
      <ns0:Host>bjx33</ns0:Host>
      <ns0:Property>
         <ns0:Name>monitoring agent</ns0:Name>
         <ns0:Value>https://bjx33:3872/emd/main/</ns0:Value>
      </ns0:Property>
      <ns0:Property>
         <ns0:Name>critical alerts</ns0:Name>
         <ns0:Value>0</ns0:Value>
      </ns0:Property>
      <ns0:Property>
         <ns0:Name>start time</ns0:Name>
         <ns0:Value>16-JUL-2006 23:18:20</ns0:Value>
      </ns0:Property>
      <ns0:Property>
         <ns0:Name>critical policy violations</ns0:Name>
         <ns0:Value>2</ns0:Value>
      </ns0:Property>
      <ns0:Property>
         <ns0:Name>homepage</ns0:Name>
         <ns0:Value>/em/console/net/lsnr/home?type=
          oracle_listener&amp;target=LISTENER_BJX33_bjx33</ns0:Value>
      </ns0:Property>
      <ns0:Property>
         <ns0:Name>last load time</ns0:Name>
         <ns0:Value>1153086286000</ns0:Value>
      </ns0:Property>
      <ns0:Property>
         <ns0:Name>compliance score</ns0:Name>
         <ns0:Value>0.9367741935483871</ns0:Value>
      </ns0:Property>
      <ns0:Property>
         <ns0:Name>warning policy violations</ns0:Name>
         <ns0:Value>2</ns0:Value>
      </ns0:Property>
      <ns0:Property>
         <ns0:Name>status</ns0:Name>
         <ns0:Value>1</ns0:Value>
      </ns0:Property>
      <ns0:Property>
         <ns0:Name>alias</ns0:Name>
         <ns0:Value>LISTENER_BJX33</ns0:Value>
      </ns0:Property>
      <ns0:Property>
         <ns0:Name>net address</ns0:Name>
         <ns0:Value>(ADDRESS=(PROTOCOL=TCP)
          (HOST=219.142.73.17)(PORT=1521))</ns0:Value>
      </ns0:Property>
      <ns0:Property>
         <ns0:Name>warning alerts</ns0:Name>
         <ns0:Value>0</ns0:Value>
      </ns0:Property>
      <ns0:Property>
         <ns0:Name>oracle home</ns0:Name>
         <ns0:Value>/home/oracle/oracle/product/10.2.0/db_1</ns0:Value>
      </ns0:Property>
      <ns0:Property>
         <ns0:Name>listener.ora location</ns0:Name>
         <ns0:Value>/home/oracle/oracle/product/
          10.2.0/db_1/network/admin</ns0:Value>
      </ns0:Property>
   </ns0:Target>
</ns0:EMModel>

Example 1–12 shows how you can query the host properties by sending a request.

Example 1-12 Querying Host Properties (Request)

<?xml version='1.0' encoding='UTF-8'?>
<EMModel xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns="http://xmlns.oracle.com/sysman/connector/base/msi">
 <RequestHeader>
   <RequestID>DBQUERY0123456789</RequestID>
   <Source>source</Source>
   <Destination>Oracle</Destination>
 </RequestHeader>
 <Credential>
   <Name>sysman</Name>
   <Password>welcome1</Password>
 </Credential>
 <Target>
   <Name>cdcjp19.cn.oracle.com</Name>
   <Type>host</Type>
   <!--general properties-->
   <Property>
     <Name>status</Name>
     <Value xsi:nil="true">
     </Value>
   </Property>
   <Property>
     <Name>monitoring agent</Name>
     <Value xsi:nil="true">
     </Value>
   </Property>
   <Property>
     <Name>homepage</Name>
     <Value xsi:nil="true">
     </Value>
   </Property>
   <Property>
     <Name>version</Name>
     <Value xsi:nil="true">
     </Value>
   </Property>
   <Property>
     <Name>critical alerts</Name>
     <Value xsi:nil="true">
     </Value>
   </Property>
   <Property>
     <Name>warning alerts</Name>
     <Value xsi:nil="true">
     </Value>
   </Property>
   <Property>
     <Name>critical policy violations</Name>
     <Value xsi:nil="true">
     </Value>
   </Property>
   <Property>
     <Name>warning policy violations</Name>
     <Value xsi:nil="true">
     </Value>
   </Property>
   <Property>
     <Name>compliance score</Name>
     <Value xsi:nil="true">
     </Value>
   </Property>
   <Property>
     <Name>last load time</Name>
     <Value xsi:nil="true">
     </Value>
   </Property>
   <!--host properties-->
   <Property>
     <Name>cluster</Name>
     <Value xsi:nil="true">
     </Value>
   </Property>
   <Property>
     <Name>cpu utilization</Name>
     <Value xsi:nil="true">
     </Value>
   </Property>
   <Property>
     <Name>memory utilization</Name>
     <Value xsi:nil="true">
     </Value>
   </Property>
   <Property>
     <Name>total io rate</Name>
     <Value xsi:nil="true">
     </Value>
   </Property>
 </Target>
</EMModel>

Example 1–13 shows the response you receive when you query the host properties.

Example 1-13 Querying Host Properties (Response)

<?xml version = '1.0' encoding = 'UTF-8'?>
<ns0:EMModel xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns0="http://xmlns.oracle.com/sysman/connector/base/msi" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <ns0:RequestHeader>
      <ns0:RequestID>DBQUERY0123456789</ns0:RequestID>
      <ns0:Source>Oracle</ns0:Source>
      <ns0:Destination>source</ns0:Destination>
   </ns0:RequestHeader>
   <ns0:Credential>
      <ns0:Name>*</ns0:Name>
      <ns0:Password>*</ns0:Password>
   </ns0:Credential>
   <ns0:Target>
      <ns0:Name>cdcjp19.cn.oracle.com</ns0:Name>
      <ns0:Type>host</ns0:Type>
      <ns0:Host>cdcjp19.cn.oracle.com</ns0:Host>
      <ns0:Property>
         <ns0:Name>monitoring agent</ns0:Name>
         <ns0:Value>https://cdcjp19.cn.oracle.com:3872/emd/main/</ns0:Value>
      </ns0:Property>
      <ns0:Property>
         <ns0:Name>critical alerts</ns0:Name>
         <ns0:Value>0</ns0:Value>
      </ns0:Property>
      <ns0:Property>
         <ns0:Name>critical policy violations</ns0:Name>
         <ns0:Value>5</ns0:Value>
      </ns0:Property>
     <ns0:Property>
         <ns0:Name>homepage</ns0:Name>
         <ns0:Value>/em/console/monitoring/hostOverview$type=host$target=
          cdcjp19.cn.oracle.com</ns0:Value>
      </ns0:Property>
      <ns0:Property>
         <ns0:Name>last load time</ns0:Name>
         <ns0:Value>1153125579000</ns0:Value>
      </ns0:Property>
      <ns0:Property>
         <ns0:Name>compliance score</ns0:Name>
         <ns0:Value>0.755</ns0:Value>
      </ns0:Property>
      <ns0:Property>
         <ns0:Name>total io rate</ns0:Name>
         <ns0:Value>29.72</ns0:Value>
      </ns0:Property>
      <ns0:Property>
         <ns0:Name>warning policy violations</ns0:Name>
         <ns0:Value>2</ns0:Value>
      </ns0:Property>
      <ns0:Property>
         <ns0:Name>status</ns0:Name>
         <ns0:Value>1</ns0:Value>
      </ns0:Property>
      <ns0:Property>
         <ns0:Name>version</ns0:Name>
         <ns0:Value>Red Hat Enterprise Linux AS release 4 (Nahant Update 3)
         </ns0:Value>
      </ns0:Property>
      <ns0:Property>
         <ns0:Name>memory utilization</ns0:Name>
         <ns0:Value>0.9767</ns0:Value>
      </ns0:Property>
      <ns0:Property>
         <ns0:Name>warning alerts</ns0:Name>
         <ns0:Value>4</ns0:Value>
      </ns0:Property>
      <ns0:Property>
         <ns0:Name>cpu utilization</ns0:Name>
         <ns0:Value>0.0161</ns0:Value>
      </ns0:Property>
   </ns0:Target>
</ns0:EMModel>

Example 1–14 shows how you can query the Agent properties by sending a request.

Example 1-14 Querying Agent Properties (Request)

<?xml version='1.0' encoding='UTF-8'?>
<EMModel xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xmlns="http://xmlns.oracle.com/sysman/connector/base/msi">
  <RequestHeader>
    <RequestID>DBQUERY0123456789</RequestID>
    <Source>source</Source>
    <Destination>Oracle</Destination>
  </RequestHeader>
  <Credential>
    <Name>sysman</Name>
    <Password>welcome1</Password>
  </Credential>
  <Target>
    <Name>bjx33:3872</Name>
    <Type>oracle_emd</Type>
    <!--general properties-->
    <Property>
      <Name>status</Name>
      <Value xsi:nil="true">
      </Value>
    </Property>
    <Property>
      <Name>monitoring agent</Name>
      <Value xsi:nil="true">
      </Value>
    </Property>
    <Property>
      <Name>host</Name>
      <Value xsi:nil="true">
      </Value>
    </Property>
    <Property>
      <Name>homepage</Name>
      <Value xsi:nil="true">
      </Value>
    </Property>
    <Property>
      <Name>version</Name>
      <Value xsi:nil="true">
      </Value>
    </Property>
    <Property>
      <Name>oracle home</Name>
      <Value xsi:nil="true">
      </Value>
    </Property>
    <Property>
      <Name>critical alerts</Name>
      <Value xsi:nil="true">
      </Value>
    </Property>
    <Property>
      <Name>warning alerts</Name>
      <Value xsi:nil="true">
      </Value>
    </Property>
    <Property>
      <Name>critical policy violations</Name>
      <Value xsi:nil="true">
      </Value>
    </Property>
    <Property>
      <Name>warning policy violations</Name>
      <Value xsi:nil="true">
      </Value>
    </Property>
    <Property>
      <Name>last load time</Name>
      <Value xsi:nil="true">
      </Value>
    </Property>
    <!--agent properties-->
    <Property>
      <Name>management service</Name>
      <Value xsi:nil="true">
      </Value>
    </Property>
  </Target>
</EMModel>

Example 1–15 shows the response you receive when you query the Agent properties.

Example 1-15 Querying Agent Properties (Response)

<?xml version = '1.0' encoding = 'UTF-8'?>
<ns0:EMModel xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns0="http://xmlns.oracle.com/sysman/connector/base/msi" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <ns0:RequestHeader>
      <ns0:RequestID>DBQUERY0123456789</ns0:RequestID>
      <ns0:Source>Oracle</ns0:Source>
      <ns0:Destination>source</ns0:Destination>
   </ns0:RequestHeader>
   <ns0:Credential>
      <ns0:Name>*</ns0:Name>
      <ns0:Password>*</ns0:Password>
   </ns0:Credential>
   <ns0:Target>
      <ns0:Name>bjx33:3872</ns0:Name>
      <ns0:Type>oracle_emd</ns0:Type>
      <ns0:Host>bjx33</ns0:Host>
      <ns0:Property>
         <ns0:Name>monitoring agent</ns0:Name>
         <ns0:Value>https://bjx33:3872/emd/main/</ns0:Value>
      </ns0:Property>
      <ns0:Property>
         <ns0:Name>management service</ns0:Name>
         <ns0:Value>cdcjp19.cn.oracle.com:1159</ns0:Value>
      </ns0:Property>
      <ns0:Property>
         <ns0:Name>warning alerts</ns0:Name>
         <ns0:Value>0</ns0:Value>
      </ns0:Property>
      <ns0:Property>
         <ns0:Name>critical alerts</ns0:Name>
         <ns0:Value>1</ns0:Value>
      </ns0:Property>
      <ns0:Property>
         <ns0:Name>last load time</ns0:Name>
         <ns0:Value>1153084611000</ns0:Value>
      </ns0:Property>
      <ns0:Property>
         <ns0:Name>homepage</ns0:Name>
         <ns0:Value>/em/console/admin/rep/emdConfig/emdTargetsMain$type=
          oracle*_emd$target=bjx33_3A3872</ns0:Value>
      </ns0:Property>
      <ns0:Property>
         <ns0:Name>critical policy violations</ns0:Name>
         <ns0:Value>0</ns0:Value>
      </ns0:Property>
      <ns0:Property>
         <ns0:Name>oracle home</ns0:Name>
         <ns0:Value>/home/oracle/OracleHomes/agent10g</ns0:Value>
      </ns0:Property>
      <ns0:Property>
         <ns0:Name>status</ns0:Name>
         <ns0:Value>1</ns0:Value>
      </ns0:Property>
      <ns0:Property>
         <ns0:Name>warning policy violations</ns0:Name>
         <ns0:Value>0</ns0:Value>
      </ns0:Property>
      <ns0:Property>
         <ns0:Name>version</ns0:Name>
         <ns0:Value>10.2.0.1.0</ns0:Value>
      </ns0:Property>
   </ns0:Target>
</ns0:EMModel>

Example 1–16 shows how you can query Enterprise Manager Repository properties by sending a request.

Example 1-16 Querying Enterprise Manager Repository Properties (Request)

<?xml version='1.0' encoding='UTF-8'?>
<EMModel xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xmlns="http://xmlns.oracle.com/sysman/connector/base/msi">
  <RequestHeader>
    <RequestID>DBQUERY0123456789</RequestID>
    <Source>source</Source>
    <Destination>Oracle</Destination>
  </RequestHeader>
  <Credential>
    <Name>sysman</Name>
    <Password>welcome1</Password>
  </Credential>
  <Target>
    <Name>Management Services and Repository</Name>
    <Type>oracle_emrep</Type>
    <!--general properties-->
    <Property>
      <Name>status</Name>
      <Value xsi:nil="true">
      </Value>
    </Property>
    <Property>
      <Name>monitoring agent</Name>
      <Value xsi:nil="true">
      </Value>
    </Property>
    <Property>
      <Name>host</Name>
      <Value xsi:nil="true">
      </Value>
    </Property>
    <Property>
      <Name>homepage</Name>
      <Value xsi:nil="true">
      </Value>
    </Property>
    <Property>
      <Name>critical alerts</Name>
      <Value xsi:nil="true">
      </Value>
    </Property>
    <Property>
      <Name>warning alerts</Name>
      <Value xsi:nil="true">
      </Value>
    </Property>
    <Property>
      <Name>critical policy violations</Name>
      <Value xsi:nil="true">
      </Value>
    </Property>
    <Property>
      <Name>warning policy violations</Name>
      <Value xsi:nil="true">
      </Value>
    </Property>
    <Property>
      <Name>last load time</Name>
      <Value xsi:nil="true">
      </Value>
    </Property>
    <!--em properties-->
    <Property>
      <Name>agent count</Name>
      <Value xsi:nil="true">
      </Value>
    </Property>
    <Property>
      <Name>target count</Name>
      <Value xsi:nil="true">
      </Value>
    </Property>
    <Property>
      <Name>administrator count</Name>
      <Value xsi:nil="true">
      </Value>
    </Property>
    <Property>
      <Name>session count</Name>
      <Value xsi:nil="true">
      </Value>
    </Property>
    <Property>
      <Name>database</Name>
      <Value xsi:nil="true">
      </Value>
    </Property>
    <Property>
      <Name>tablespace</Name>
      <Value xsi:nil="true">
      </Value>
    </Property>
    <Property>
      <Name>oms</Name>
      <Value xsi:nil="true">
      </Value>
    </Property>
  </Target>
</EMModel>

Example 1–17 shows the response you receive when you query the Enterprise Manager Repository.

Example 1-17 Querying Enterprise Manager Repository Properties (Response)

<?xml version = '1.0' encoding = 'UTF-8'?>
<ns0:EMModel xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns0="http://xmlns.oracle.com/sysman/connector/base/msi" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <ns0:RequestHeader>
      <ns0:RequestID>DBQUERY0123456789</ns0:RequestID>
      <ns0:Source>Oracle</ns0:Source>
      <ns0:Destination>source</ns0:Destination>
   </ns0:RequestHeader>
   <ns0:Credential>
      <ns0:Name>*</ns0:Name>
      <ns0:Password>*</ns0:Password>
   </ns0:Credential>
   <ns0:Target>
      <ns0:Name>Management Services and Repository</ns0:Name>
      <ns0:Type>oracle_emrep</ns0:Type>
      <ns0:Host>cdcjp19.cn.oracle.com</ns0:Host>
      <ns0:Property>
         <ns0:Name>target count</ns0:Name>
         <ns0:Value>31</ns0:Value>
      </ns0:Property>
      <ns0:Property>
         <ns0:Name>agent count</ns0:Name>
         <ns0:Value>4</ns0:Value>
      </ns0:Property>
      <ns0:Property>
         <ns0:Name>monitoring agent</ns0:Name>
         <ns0:Value>https://cdcjp19.cn.oracle.com:3872/emd/main/</ns0:Value>
      </ns0:Property>
      <ns0:Property>
         <ns0:Name>administrator count</ns0:Name>
         <ns0:Value>4</ns0:Value>
      </ns0:Property>
      <ns0:Property>
         <ns0:Name>session count</ns0:Name>
         <ns0:Value>15</ns0:Value>
      </ns0:Property>
      <ns0:Property>
         <ns0:Name>critical alerts</ns0:Name>
         <ns0:Value>0</ns0:Value>
      </ns0:Property>
      <ns0:Property>
         <ns0:Name>critical policy violations</ns0:Name>
         <ns0:Value>0</ns0:Value>
      </ns0:Property>
      <ns0:Property>
         <ns0:Name>homepage</ns0:Name>
         <ns0:Value>/em/console/health/healthHome$type=oracle*_emrep$target=
          Management_20Services_20and_20Repository</ns0:Value>
      </ns0:Property>
      <ns0:Property>
         <ns0:Name>last load time</ns0:Name>
         <ns0:Value>1153109200000</ns0:Value>
      </ns0:Property>
      <ns0:Property>
         <ns0:Name>warning policy violations</ns0:Name>
         <ns0:Value>0</ns0:Value>
      </ns0:Property>
      <ns0:Property>
         <ns0:Name>status</ns0:Name>
         <ns0:Value>1</ns0:Value>
      </ns0:Property>
      <ns0:Property>
         <ns0:Name>tablespace</ns0:Name>
         <ns0:Value>MGMT_ECM_DEPOT_TS</ns0:Value>
      </ns0:Property>
      <ns0:Property>
         <ns0:Name>tablespace</ns0:Name>
         <ns0:Value>MGMT_TABLESPACE</ns0:Value>
      </ns0:Property>
      <ns0:Property>
         <ns0:Name>warning alerts</ns0:Name>
         <ns0:Value>0</ns0:Value>
      </ns0:Property>
      <ns0:ComplexProperty>
         <ns0:Type>oms</ns0:Type>
         <ns0:Property>
            <ns0:Name>files pending load</ns0:Name>
            <ns0:Value>0</ns0:Value>
         </ns0:Property>
         <ns0:Property>
            <ns0:Name>oldest load file</ns0:Name>
            <ns0:Value>0</ns0:Value>
         </ns0:Property>
         <ns0:Property>
            <ns0:Name>load directory</ns0:Name>
            <ns0:Value>/home/oracle/OracleHomes/oms10g/sysman/recv</ns0:Value>
         </ns0:Property>
         <ns0:Property>
            <ns0:Name>status</ns0:Name>
            <ns0:Value>1</ns0:Value>
         </ns0:Property>
         <ns0:Property>
            <ns0:Name>name</ns0:Name>
            <ns0:Value>cdcjp19.cn.oracle.com:4889_Management_Service</ns0:Value>
         </ns0:Property>
      </ns0:ComplexProperty>
      <ns0:ComplexProperty>
         <ns0:Type>database</ns0:Type>
         <ns0:Property>
            <ns0:Name>type</ns0:Name>
            <ns0:Value>oracle_database</ns0:Value>
         </ns0:Property>
         <ns0:Property>
            <ns0:Name>name</ns0:Name>
            <ns0:Value>emrep.cn.oracle.com</ns0:Value>
         </ns0:Property>
      </ns0:ComplexProperty>
   </ns0:Target>
</ns0:EMModel>

Example 1–18 shows how you can query the RAC properties by sending a request.

Example 1-18 Querying RAC Properties (Request)

<?xml version='1.0' encoding='UTF-8'?>
<EMModel xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xmlns="http://xmlns.oracle.com/sysman/connector/base/msi">
  <RequestHeader>
    <RequestID>CLUSTERDBQUERY0123456789</RequestID>
    <Source>source</Source>
    <Destination>Oracle</Destination>
  </RequestHeader>
  <Credential>
    <Name>sysman</Name>
    <Password>welcome1</Password>
  </Credential>
  <Target>
    <Name>rac33</Name>
    <Type>rac_database</Type>
    <!--general properties-->
    <Property>
      <Name>status</Name>
      <Value xsi:nil="true">
      </Value>
    </Property>
    <Property>
      <Name>monitoring agent</Name>
      <Value xsi:nil="true">
      </Value>
    </Property>
    <Property>
      <Name>host</Name>
      <Value xsi:nil="true">
      </Value>
    </Property>
    <Property>
      <Name>homepage</Name>
      <Value xsi:nil="true">
      </Value>
    </Property>
    <Property>
      <Name>version</Name>
      <Value xsi:nil="true">
      </Value>
    </Property>
    <Property>
      <Name>oracle home</Name>
      <Value xsi:nil="true">
      </Value>
    </Property>
    <Property>
      <Name>critical alerts</Name>
      <Value xsi:nil="true">
      </Value>
    </Property>
    <Property>
      <Name>warning alerts</Name>
      <Value xsi:nil="true">
      </Value>
    </Property>
    <Property>
      <Name>critical policy violations</Name>
      <Value xsi:nil="true">
      </Value>
    </Property>
    <Property>
      <Name>warning policy violations</Name>
      <Value xsi:nil="true">
      </Value>
    </Property>
    <Property>
      <Name>compliance score</Name>
      <Value xsi:nil="true">
      </Value>
    </Property>
    <Property>
      <Name>last load time</Name>
      <Value xsi:nil="true">
      </Value>
    </Property>
    <!--cluster database properties-->
    <Property>
      <Name>cluster</Name>
      <Value xsi:nil="true">
      </Value>
    </Property>
    <Property>
      <Name>database name</Name>
      <Value xsi:nil="true">
      </Value>
    </Property>
    <Property>
      <Name>is archiving</Name>
      <Value xsi:nil="true">
      </Value>
    </Property>
  </Target>
</EMModel>

Example 1–19 shows the response you receive when you query the RAC properties.

Example 1-19 Querying RAC Properties (Response)

<?xml version = '1.0' encoding = 'UTF-8'?>
<ns0:EMModel xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns0="http://xmlns.oracle.com/sysman/connector/base/msi" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <ns0:RequestHeader>
      <ns0:RequestID>CLUSTERDBQUERY0123456789</ns0:RequestID>
      <ns0:Source>Oracle</ns0:Source>
      <ns0:Destination>source</ns0:Destination>
   </ns0:RequestHeader>
   <ns0:Credential>
      <ns0:Name>*</ns0:Name>
      <ns0:Password>*</ns0:Password>
   </ns0:Credential>
   <ns0:Target>
      <ns0:Name>rac33</ns0:Name>
      <ns0:Type>rac_database</ns0:Type>
      <ns0:Host>bjx33</ns0:Host>
      <ns0:Property>
         <ns0:Name>is archiving</ns0:Name>
         <ns0:Value>0</ns0:Value>
      </ns0:Property>
      <ns0:Property>
         <ns0:Name>monitoring agent</ns0:Name>
         <ns0:Value>https://bjx33:3872/emd/main/</ns0:Value>
      </ns0:Property>
      <ns0:Property>
         <ns0:Name>database name</ns0:Name>
         <ns0:Value>rac33</ns0:Value>
      </ns0:Property>
      <ns0:Property>
         <ns0:Name>critical alerts</ns0:Name>
         <ns0:Value>0</ns0:Value>
      </ns0:Property>
      <ns0:Property>
         <ns0:Name>critical policy violations</ns0:Name>
         <ns0:Value>9</ns0:Value>
      </ns0:Property>
      <ns0:Property>
         <ns0:Name>homepage</ns0:Name>
         <ns0:Value>/em/console/rac/racSitemap?event=doLoad&amp;
          type=rac_database&amp;target=rac33</ns0:Value>
      </ns0:Property>
      <ns0:Property>
         <ns0:Name>last load time</ns0:Name>
         <ns0:Value>1153084601000</ns0:Value>
      </ns0:Property>
      <ns0:Property>
         <ns0:Name>compliance score</ns0:Name>
         <ns0:Value>0.8763636363636365</ns0:Value>
      </ns0:Property>
      <ns0:Property>
         <ns0:Name>warning policy violations</ns0:Name>
         <ns0:Value>2</ns0:Value>
      </ns0:Property>
      <ns0:Property>
         <ns0:Name>status</ns0:Name>
         <ns0:Value>1</ns0:Value>
      </ns0:Property>
      <ns0:Property>
         <ns0:Name>cluster</ns0:Name>
         <ns0:Value>crs33</ns0:Value>
      </ns0:Property>
      <ns0:Property>
         <ns0:Name>version</ns0:Name>
         <ns0:Value>10.2.0.1.0</ns0:Value>
      </ns0:Property>
      <ns0:Property>
         <ns0:Name>warning alerts</ns0:Name>
         <ns0:Value>0</ns0:Value>
      </ns0:Property>
      <ns0:Property>
         <ns0:Name>oracle home</ns0:Name>
         <ns0:Value>/home/oracle/oracle/product/10.2.0/db_1</ns0:Value>
      </ns0:Property>
   </ns0:Target>
</ns0:EMModel>

Example 1–20 shows how you can query the Oracle Clusterware properties by sending a request.

Example 1-20 Querying Oracle Clusterware Properties (Request)

<?xml version='1.0' encoding='UTF-8'?>
<EMModel xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xmlns="http://xmlns.oracle.com/sysman/connector/base/msi">
  <RequestHeader>
    <RequestID>CLUSTERQUERY0123456789</RequestID>
    <Source>source</Source>
    <Destination>Oracle</Destination>
  </RequestHeader>
  <Credential>
    <Name>sysman</Name>
    <Password>welcome1</Password>
  </Credential>
  <Target>
    <Name>crs33</Name>
    <Type>cluster</Type>
    <!--general properties-->
    <Property>
      <Name>status</Name>
      <Value xsi:nil="true">
      </Value>
    </Property>
    <Property>
      <Name>monitoring agent</Name>
      <Value xsi:nil="true">
      </Value>
    </Property>
    <Property>
      <Name>homepage</Name>
      <Value xsi:nil="true">
      </Value>
    </Property>
    <Property>
      <Name>version</Name>
      <Value xsi:nil="true">
      </Value>
    </Property>
    <Property>
      <Name>oracle home</Name>
      <Value xsi:nil="true">
      </Value>
    </Property>
    <Property>
      <Name>critical alerts</Name>
      <Value xsi:nil="true">
      </Value>
    </Property>
    <Property>
      <Name>warning alerts</Name>
      <Value xsi:nil="true">
      </Value>
    </Property>
    <Property>
      <Name>critical policy violations</Name>
      <Value xsi:nil="true">
      </Value>
    </Property>
    <Property>
      <Name>warning policy violations</Name>
      <Value xsi:nil="true">
      </Value>
    </Property>
    <Property>
      <Name>last load time</Name>
      <Value xsi:nil="true">
      </Value>
    </Property>
    <!--cluster properties-->
    <Property>
      <Name>cluster database</Name>
      <Value xsi:nil="true">
      </Value>
    </Property>
  </Target>
</EMModel>

Example 1–21 shows the response you receive when you query the Oracle Clusterware properties.

Example 1-21 Querying Oracle Clusterware Properties (Response)

<?xml version = '1.0' encoding = 'UTF-8'?>
<ns0:EMModel xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns0="http://xmlns.oracle.com/sysman/connector/base/msi" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <ns0:RequestHeader>
      <ns0:RequestID>CLUSTERQUERY0123456789</ns0:RequestID>
      <ns0:Source>Oracle</ns0:Source>
      <ns0:Destination>source</ns0:Destination>
   </ns0:RequestHeader>
   <ns0:Credential>
      <ns0:Name>*</ns0:Name>
      <ns0:Password>*</ns0:Password>
   </ns0:Credential>
   <ns0:Target>
      <ns0:Name>crs33</ns0:Name>
      <ns0:Type>cluster</ns0:Type>
      <ns0:Host>bjx33</ns0:Host>
      <ns0:Property>
         <ns0:Name>monitoring agent</ns0:Name>
         <ns0:Value>https://bjx33:3872/emd/main/</ns0:Value>
      </ns0:Property>
      <ns0:Property>
         <ns0:Name>cluster database</ns0:Name>
         <ns0:Value>rac33</ns0:Value>
      </ns0:Property>
      <ns0:Property>
         <ns0:Name>warning alerts</ns0:Name>
         <ns0:Value>6</ns0:Value>
      </ns0:Property>
      <ns0:Property>
         <ns0:Name>critical alerts</ns0:Name>
         <ns0:Value>0</ns0:Value>
      </ns0:Property>
      <ns0:Property>
         <ns0:Name>last load time</ns0:Name>
         <ns0:Value>1153084469000</ns0:Value>
      </ns0:Property>
      <ns0:Property>
         <ns0:Name>homepage</ns0:Name>
         <ns0:Value>/em/console/rac/cluster/racClusterSitemap?event=
             doLoad&amp;type=cluster&amp;target=crs33</ns0:Value>
      </ns0:Property>
      <ns0:Property>
         <ns0:Name>critical policy violations</ns0:Name>
         <ns0:Value>0</ns0:Value>
      </ns0:Property>
      <ns0:Property>
         <ns0:Name>oracle home</ns0:Name>
         <ns0:Value>/home/oracle/oracle/product/10.2.0/crs</ns0:Value>
      </ns0:Property>
      <ns0:Property>
         <ns0:Name>status</ns0:Name>
         <ns0:Value>1</ns0:Value>
      </ns0:Property>
      <ns0:Property>
         <ns0:Name>warning policy violations</ns0:Name>
         <ns0:Value>0</ns0:Value>
      </ns0:Property>
      <ns0:Property>
         <ns0:Name>version</ns0:Name>
         <ns0:Value>2.1</ns0:Value>
      </ns0:Property>
   </ns0:Target>
</ns0:EMModel>

setModel Interface

For this provisioning model, the connector compares the state described in the request model with the current state of the system and decides what action to take. If the request is valid, the operation is taken asynchronously. A job ID is immediately returned to the requester. The requester can use the job ID to query the job status later.

The setModel API supports the following provisioning operations:

Prerequisites for the Windows OMS

For the setModel jobs to succeed on Windows OMS, you need to change the Log On property for the Oracleagent10gAgent service from Local System Account to oms_username/oms_password as specified in the request model. For example, to change the Log On property for Windows Server 2003, do the following:

  1. From the Start menu, select All Programs, then Administrative Tools, then Services.

  2. Right-click Oracleagent10gAgent in the list of services, then select Properties.

  3. Select the Log On tab, then select This account.

  4. Enter the oms_username and oms_password to be specified in your setModel request model, then click OK.

  5. Right-click Oracleagent10gAgent in the list of services and click Stop.

  6. Right-click Oracleagent10gAgent in the list of services and click Start.

Creating a RAC

Example 1–22 and Example 1–23 show how to send a request to the connector to create a one-node RAC with the following parameters:

  • Enterprise Manager Host Target Name — bjx33.cn.oracle.com

  • One-node RAC Name — RAC33

  • Cluster Name — CRS33

  • Instance Name — RAC33_RAC331

  • Storage Type — ASM

  • Language — Japanese

    Note:

    The default target name for a RAC instance in Enterprise Manager is <rac_name>_<rac_instance_name>. In Example 1–22 and Example 1–23, the Enterprise Manager target name is RAC33_RAC331. The Connector Framework uses this default naming rule. Make sure that you pass the correct target name in the request.

Example 1-22 Creating a One-node RAC (Linux platform with ASM storage)

<?xml version = '1.0' encoding = 'UTF-8'?>
<EMModel xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xmlns="http://xmlns.oracle.com/sysman/connector/base/msi">
  <RequestHeader>
    <RequestID>INITIALCREATION1234567890</RequestID>
    <Source>Oracle</Source>
    <Destination>Oracle</Destination>
    <RequestProperty>
      <Type>Singleton</Type>
      <Property>
        <Name>Platform</Name>
        <Value>Linux</Value>
      </Property>
    </RequestProperty>
  </RequestHeader>
  <Credential>
    <Name>sysman</Name>
    <Password>welcome1</Password>
  </Credential>
  <AggregateTarget>
    <Name>CRS33</Name>
    <Type>cluster</Type>
    <Target>
      <Name>bjx33.cn.oracle.com</Name>
      <Type>host</Type>
      <Host>bjx33.cn.oracle.com</Host>
      <Credential>
        <Name>oracle</Name>
        <Password>welcome1</Password>
      </Credential>
      <Property>
        <Name>CRS_HOME</Name>
        <Value>/home/oracle/oracle/product/10.2.0/crs</Value>
      </Property>
      <Property>
        <Name>ORACLE_HOME_NAME</Name>
        <Value>OraCrs10g_home</Value>
      </Property>
      <Property>
        <Name>publicNode</Name>
        <Value>bjx33</Value>
      </Property>
      <Property>
        <Name>privateNode</Name>
        <Value>bjx33-priv</Value>
      </Property>
      <Property>
        <Name>vipNode</Name>
        <Value>bjx33-vip</Value>
      </Property>
    </Target>
    <Property>
      <Name>softwareImageName</Name>
      <Value>crs33</Value>
    </Property>
    <Property>
      <Name>s_ocrpartitionlocation</Name>
      <Value>/dev/raw/raw6</Value>
    </Property>
    <Property>
      <Name>s_votingdisklocation</Name>
      <Value>/dev/raw/raw11</Value>
    </Property>
  </AggregateTarget>
  <AggregateTarget>
    <Name>RAC33</Name>
    <Type>rac_database</Type>
    <Storage>
      <Type>ASM</Type>
      <Property>
          <Name>diskGroupName</Name>
          <Value>DATA33</Value>
      </Property>
      <Property>
          <Name>diskList</Name>
          <Value>/dev/raw/raw2</Value>
      </Property>
      <Property>
          <Name>redundancy</Name>
          <Value>external</Value>
      </Property>
      <Property>
          <Name>asmPassword</Name>
          <Value>welcome1</Value>
      </Property>
    </Storage>
    <Target>
      <Name>RAC33_RAC331</Name>
      <Type>oracle_database</Type>
      <Host>bjx33.cn.oracle.com</Host>
      <Credential>
        <Name>oracle</Name>
        <Password>welcome1</Password>
      </Credential>
      <Property>
        <Name>ORACLE_HOME</Name>
        <Value>/home/oracle/oracle/product/10.2.0/db_1</Value>
      </Property>
      <Property>
        <Name>ORACLE_HOME_NAME</Name>
        <Value>OraDb10g_home1</Value>
      </Property>
      <Property>
        <Name>db_username</Name>
        <Value>sys</Value>
      </Property>
      <Property>
        <Name>db_password</Name>
        <Value>welcome1</Value>
      </Property>
      <Property>
        <Name>oms_username</Name>
        <Value>oracle</Value>
      </Property>
      <Property>
        <Name>oms_password</Name>
        <Value>welcome1</Value>
      </Property>    
    </Target>
    <Property>
      <Name>templateName</Name>
      <Value>General_Purpose.dbc</Value>
    </Property>
    <Property>
      <Name>gdbName</Name>
      <Value>RAC33</Value>
    </Property>
    <Property>
      <Name>sid</Name>
      <Value>RAC33</Value>
    </Property>
    <Property>
      <Name>characterSet</Name>
      <Value>JA16EUC</Value>
    </Property>
    <Property>
      <Name>nationalCharacterSet</Name>
      <Value>AL16UTF16</Value>
    </Property>
    <Property>
      <Name>initParams</Name>
      <Value>nls_territory=japan,nls_language=japanese</Value>
    </Property>
    <Property>
      <Name>softwareImageName</Name>
      <Value>db33</Value>
    </Property>
  </AggregateTarget>
</EMModel>

Note that for the Windows platform job shown in Example 1–23, the connector creates the C:\temp directory on the target computer if it does not already exist when running the Create RAC job.

Example 1-23 Creating a One-node RAC (Windows platform with CFS storage)

<?xml version = '1.0' encoding = 'UTF-8'?>
<EMModel xmlns="http://xmlns.oracle.com/sysman/connector/base/msi" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.oracle.com/sysman/connector/base/msi/EMModel.xsd">
   <RequestHeader>
      <RequestID>RACCreation</RequestID>
      <Source>ORACLE</Source>
      <Destination>Oracle</Destination>
      <RequestProperty>
         <Type>Singleton</Type>
         <Property>
            <Name>Platform</Name>
            <Value>Windows</Value>
         </Property>
      </RequestProperty>
   </RequestHeader>
   <Credential>
      <Name>sysman</Name>
      <Password>welcome1</Password>
   </Credential>
   <AggregateTarget>
      <Name>CRS33</Name>
      <Type>cluster</Type>
      <Target>
         <Name>bjx33.cn.oracle.com</Name>
         <Type>host</Type>
         <Host>bjx33.cn.oracle.com</Host>
         <Credential>
            <Name>oracle</Name>
            <Password>welcome1</Password>
         </Credential>
         <Property>
            <Name>CRS_HOME</Name>
            <Value>D:\oracle\product\10.2.0\crs</Value>
         </Property>
         <Property>
            <Name>ORACLE_HOME_NAME</Name>
            <Value>OraCrs10g_home</Value>
         </Property>
         <Property>
            <Name>publicNode</Name>
            <Value>bjx33</Value>
         </Property>
         <Property>
            <Name>privateNode</Name>
            <Value>bjx33-priv</Value>
         </Property>
         <Property>
            <Name>vipNode</Name>
            <Value>bjx33-vip</Value>
         </Property>
      </Target>
      <Property>
         <Name>softwareImageName</Name>
         <Value>cfs10202</Value>
      </Property>
      <Property>
         <Name>RESPONSEFILE_VERSION</Name>
         <Value>2.2.1.0.0</Value>
      </Property>
      <Property>
         <Name>sl_OHPartitionsAndSpace_valueFromDlg</Name>
         <Value>{"1","1","10000","1","I:","3"}</Value>
      </Property>
      <Property>
         <Name>ret_PrivIntrList</Name>
         <Value>{"Public:219.142.73.0:1","Interconnect:10.0.0.0:2"}</Value>
      </Property>
   </AggregateTarget>
   <AggregateTarget>
      <Name>RAC33</Name>
      <Type>rac_database</Type>
      <Storage>
         <Type>CFS</Type>
         <Property>
            <Name>datafileDestination</Name>
            <Value>I:</Value>
         </Property>
      </Storage>
      <Target>
         <Name>RAC33_RAC331</Name>
         <Type>oracle_database</Type>
         <Host>bjx33.cn.oracle.com</Host>
         <Credential>
            <Name>oracle</Name>
            <Password>welcome1</Password>
         </Credential>
         <Property>
            <Name>ORACLE_HOME</Name>
            <Value>D:\oracle\product\10.2.0\db_1</Value>
         </Property>
         <Property>
            <Name>ORACLE_HOME_NAME</Name>
            <Value>OraDb10g_home1</Value>
         </Property>
         <Property>
            <Name>db_username</Name>
            <Value>sys</Value>
         </Property>
         <Property>
            <Name>db_password</Name>
            <Value>welcome1</Value>
         </Property>
         <Property>
            <Name>oms_username</Name>
            <Value>oracle</Value>
         </Property>
         <Property>
            <Name>oms_password</Name>
            <Value>welcome1</Value>
         </Property>
      </Target>
      <Property>
         <Name>templateName</Name>
         <Value>cfs10202.dbc</Value>
      </Property>
      <Property>
         <Name>gdbName</Name>
         <Value>RAC16</Value>
      </Property>
      <Property>
         <Name>sid</Name>
         <Value>RAC16</Value>
      </Property>
      <Property>
         <Name>characterSet</Name>
         <Value>JA16EUC</Value>
      </Property>
      <Property>
         <Name>nationalCharacterSet</Name>
         <Value>AL16UTF16</Value>
      </Property>
      <Property>
         <Name>initParams</Name>
         <Value>nls_territory=japan,nls_language=japanese</Value>
      </Property>
      <Property>
         <Name>softwareImageName</Name>
         <Value>cfsdb10202</Value>
      </Property>
   </AggregateTarget>
</EMModel>

Example 1–24 shows that the response model will have a job ID for this request.

Example 1-24 Job ID in CreateRAC Response Model

<EMModel xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
         xmlns="http://xmlns.oracle.com/sysman/connector/base/msi"> 
  <RequestHeader> 
    <RequestID>INITIALCREATION1234567890</RequestID> 
    <Source>JP</Source> 
    <Destination>Oracle</Destination> 
  </RequestHeader> 
  <Credential> 
    <Name>*</Name> 
    <Password>*</Password> 
  </Credential> 
  <Job> 
    <JobId>12320443534534534543</JobId> 
    <JobStatus>2</JobStatus> 
  </Job> 
</EMModel>

Note:

A job can be executed more than once. To query the status and output of a particular execution, you need both the job ID and execution ID. In this release, the Connector Framework always submits a one-time job, so the job ID is sufficient to query the status and output of the job. In most cases, the job ID is the same as the execution ID.

Adding a Node to an Existing RAC

Example 1–25 and Example 1–26 build on the one-node RAC (RAC33) in Example 1–22 and Example 1–23 by adding another host. Example 1–25 and Example 1–26 show how to send a request to the connector to create a two-node RAC with the following parameters:

  • Enterprise Manager Host Target Name — bjx32.cn.oracle.com

  • Instance Name — RAC33_RAC332

For an Add Node job, although the value of the s_ocrpartitionlocation and s_votingdisklocation properties specified in the cluster <AggregateTarget> are not used, you still need to specify them. You can set them to the same value as the Create RAC job.

<Storage> is required for an Add Node job if the storage type is ASM. This is not required for other storage types. When the storage type is ASM, only the asmPassword property is required in the request model for the Add Node job.

Example 1-25 Adding a Node to an Existing RAC (Linux platform with ASM storage)

<?xml version='1.0' encoding='UTF-8'?>
<EMModel xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xmlns="http://xmlns.oracle.com/sysman/connector/base/msi">
  <RequestHeader>
    <RequestID>ADDNODE1234567890</RequestID>
    <Source>JP</Source>
    <Destination>Oracle</Destination>
    <RequestProperty>
      <Type>Singleton</Type>
      <Property>
        <Name>Platform</Name>
        <Value>Linux</Value>
      </Property>
    </RequestProperty>
  </RequestHeader>
  <Credential>
    <Name>sysman</Name>
    <Password>welcome1</Password>
  </Credential>
  <AggregateTarget>
    <Name>CRS33</Name>
    <Type>cluster</Type>
    <Target>
      <Name>bjx33.cn.oracle.com</Name>
      <Type>host</Type>
      <Host>bjx33.cn.oracle.com</Host>
      <Credential>
        <Name>oracle</Name>
        <Password>welcome1</Password>
      </Credential>
      <Property>
        <Name>CRS_HOME</Name>
        <Value>/home/oracle/oracle/product/10.2.0/crs</Value>
      </Property>
      <Property>
        <Name>publicNode</Name>
        <Value>bjx33</Value>
      </Property>
    </Target>
    <Target>
      <Name>bjx32.cn.oracle.com</Name>
      <Type>host</Type>
      <Host>bjx32.cn.oracle.com</Host>
      <Credential>
        <Name>oracle</Name>
        <Password>welcome1</Password>
      </Credential>
      <Property>
        <Name>CRS_HOME</Name>
        <Value>/home/oracle/oracle/product/10.2.0/crs</Value>
      </Property>
      <Property>
        <Name>ORACLE_HOME_NAME</Name>
        <Value>OraCrs10g_home</Value>
      </Property>
      <Property>
        <Name>publicNode</Name>
        <Value>bjx32</Value>
      </Property>
      <Property>
        <Name>privateNode</Name>
        <Value>bjx32-priv</Value>
      </Property>
      <Property>
        <Name>vipNode</Name>
        <Value>bjx32-vip</Value>
      </Property>
    </Target>
    <Property>
      <Name>s_ocrpartitionlocation</Name>
      <Value>/dev/raw/raw6</Value>
    </Property>
    <Property>
      <Name>s_votingdisklocation</Name>
      <Value>/dev/raw/raw11</Value>
    </Property>
  </AggregateTarget>
  <AggregateTarget>
    <Name>RAC33</Name>
    <Type>rac_database</Type>
    <Storage>
      <Type>ASM</Type>
      <Property>
          <Name>asmPassword</Name>
          <Value>welcome1</Value>
      </Property>
    </Storage>
    <Target>
      <Name>RAC33_RAC331</Name>
      <Type>oracle_database</Type>
      <Host>bjx33.cn.oracle.com</Host>
      <Credential>
        <Name>oracle</Name>
        <Password>welcome1</Password>
      </Credential>
      <Property>
        <Name>ORACLE_HOME</Name>
        <Value>/home/oracle/oracle/product/10.2.0/db_1</Value>
      </Property>
    </Target>
    <Target>
      <Name>RAC33_RAC332</Name>
      <Type>oracle_database</Type>
      <Host>bjx32.cn.oracle.com</Host>
      <Credential>
        <Name>oracle</Name>
        <Password>welcome1</Password>
      </Credential>
      <Property>
        <Name>ORACLE_HOME</Name>
        <Value>/home/oracle/oracle/product/10.2.0/db_1</Value>
      </Property>
      <Property>
        <Name>ORACLE_HOME_NAME</Name>
        <Value>OraDb10g_home1</Value>
      </Property>
      <Property>
        <Name>db_username</Name>
        <Value>sys</Value>
      </Property>
      <Property>
        <Name>db_password</Name>
        <Value>welcome1</Value>
      </Property>
      <Property>
        <Name>oms_username</Name>
        <Value>oracle</Value>
      </Property>
      <Property>
        <Name>oms_password</Name>
        <Value>welcome1</Value>
      </Property>
    </Target>
  </AggregateTarget>
</EMModel>

Note that for the Windows platform job shown in Example 1–26, the connector creates the C:\temp directory on the target computer if it does not already exist when running the Create RAC job.

Example 1-26 Adding a Node to an Existing RAC (Windows platform with CFS storage)

<?xml version = '1.0' encoding = 'UTF-8'?>
<EMModel xmlns="http://xmlns.oracle.com/sysman/connector/base/msi" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.oracle.com/sysman/connector/base/msi/EMModel.xsd">
   <RequestHeader>
      <RequestID>RACAddNode</RequestID>
      <Source>Oracle</Source>
      <Destination>Oracle</Destination>
      <RequestProperty>
         <Type>Singleton</Type>
         <Property>
            <Name>Platform</Name>
            <Value>Windows</Value>
         </Property>
      </RequestProperty>
   </RequestHeader>
   <Credential>
      <Name>sysman</Name>
      <Password>welcome1</Password>
   </Credential>
   <AggregateTarget>
      <Name>CRS33</Name>
      <Type>cluster</Type>
      <Target>
         <Name>bjx33.cn.oracle.com</Name>
         <Type>host</Type>
         <Host>bjx33.cn.oracle.com</Host>
         <Credential>
            <Name>oracle</Name>
            <Password>welcome1</Password>
         </Credential>
         <Property>
            <Name>publicNode</Name>
            <Value>bjx33</Value>
         </Property>
         <Property>
            <Name>CRS_HOME</Name>
            <Value>d:\oracle\product\10.2.0\crs</Value>
         </Property>
      </Target>
      <Target>
         <Name>bjx32.cn.oracle.com</Name>
         <Type>host</Type>
         <Host>bjx32.cn.oracle.com</Host>
         <Credential>
            <Name>oracle</Name>
            <Password>welcome1</Password>
         </Credential>
         <Property>
            <Name>CRS_HOME</Name>
            <Value>d:\oracle\product\10.2.0\crs</Value>
         </Property>
         <Property>
            <Name>ORACLE_HOME_NAME</Name>
            <Value>OraCrs10g_home</Value>
         </Property>
         <Property>
            <Name>publicNode</Name>
            <Value>bjx32</Value>
         </Property>
         <Property>
            <Name>privateNode</Name>
            <Value>bjx32-priv</Value>
         </Property>
         <Property>
            <Name>vipNode</Name>
            <Value>bjx32-vip</Value>
         </Property>
      </Target>
      <Property>
         <Name>RESPONSEFILE_VERSION</Name>
         <Value>2.2.1.0.0</Value>
      </Property>
      <Property>
         <Name>sl_OHPartitionsAndSpace_valueFromDlg</Name>
         <Value>{"1","1","10000","1","I:","3"}</Value>
      </Property>
      <Property>
         <Name>ret_PrivIntrList</Name>
         <Value>{"Public:219.142.73.0:1","Interconnect:10.0.0.0:2"}</Value>
      </Property>
   </AggregateTarget>
   <AggregateTarget>
      <Name>RAC33</Name>
      <Type>rac_database</Type>
      <Target>
         <Name>RAC33_RAC331</Name>
         <Type>oracle_database</Type>
         <Host>bjx33.cn.oracle.com</Host>
         <Credential>
            <Name>oracle</Name>
            <Password>welcome1</Password>
         </Credential>
         <Property>
            <Name>ORACLE_HOME</Name>
            <Value>d:\oracle\product\10.2.0\db_1</Value>
         </Property>
      </Target>
      <Target>
         <Name>RAC33_RAC332</Name>
         <Type>oracle_database</Type>
         <Host>bjx32.cn.oracle.com</Host>
         <Credential>
            <Name>oracle</Name>
            <Password>welcome1</Password>
         </Credential>
         <Property>
            <Name>ORACLE_HOME</Name>
            <Value>d:\oracle\product\10.2.0\db_1</Value>
         </Property>
         <Property>
            <Name>ORACLE_HOME_NAME</Name>
            <Value>OraDb10g_home1</Value>
         </Property>
         <Property>
            <Name>db_username</Name>
            <Value>sys</Value>
         </Property>
         <Property>
            <Name>db_password</Name>
            <Value>welcome1</Value>
         </Property>
         <Property>
           <Name>oms_username</Name>
           <Value>oracle</Value>
         </Property>
         <Property>
           <Name>oms_password</Name>
           <Value>welcome1</Value>
         </Property>
      </Target>
   </AggregateTarget>
</EMModel>

Example 1–27 shows that the response model will have a job ID for the request.

Example 1-27 Job ID in ExtentRAC Response Model

<EMModel xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
         xmlns="http://xmlns.oracle.com/sysman/connector/base/msi"> 
  <RequestHeader> 
    <RequestID>ADDNODE1234567890</RequestID> 
    <Source>JP</Source> 
    <Destination>Oracle</Destination> 
  </RequestHeader> 
  <Credential> 
    <Name>*</Name> 
    <Password>*</Password> 
  </Credential> 
  <Job> 
    <JobId>12320443534534534543</JobId> 
    <JobStatus>2</JobStatus> 
  </Job> 
</EMModel>

Deleting a Node from an Existing RAC

Example 1–28 and Example 1–29 show how to send a request to the connector to remove the second node that was added in Example 1–25 and Example 1–26.

Note:

When deleting an inaccessible node, an initialization error appears for steps S3 and S5. You can ignore these errors, which are caused by inaccessible targets.

Example 1-28 Scaling a Two-node RAC to a One-node RAC (Linux platform with ASM storage)

<?xml version = '1.0' encoding = 'UTF-8'?>
<EMModel xmlns="http://xmlns.oracle.com/sysman/connector/base/msi" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.oracle.com/sysman/connector/base/msi/EMModel.xsd">
   <RequestHeader>
      <RequestID>DeleteNode</RequestID>
      <Source>Oracle</Source>
      <Destination>Oracle</Destination>
      <RequestProperty>
         <Type>Singleton</Type>
         <Property>
            <Name>Platform</Name>
            <Value>Linux</Value>
         </Property>
      </RequestProperty>
   </RequestHeader>
   <Credential>
      <Name>sysman</Name>
      <Password>welcome1</Password>
   </Credential>
   <AggregateTarget>
      <Name>CRS33</Name>
      <Type>cluster</Type>
      <Target>
         <Name>bjx33.cn.oracle.com</Name>
         <Type>host</Type>
         <Host>bjx33.cn.oracle.com</Host>
         <Property>
            <Name>CRS_HOME</Name>
            <Value>/home/oracle/oracle/product/10.2.0/crs</Value>
         </Property>
      </Target>
   </AggregateTarget>
   <AggregateTarget>
      <Name>RAC33</Name>
      <Type>rac_database</Type>
      <Target>
         <Name>RAC33_RAC331</Name>
         <Type>oracle_database</Type>
         <Host>bjx33.cn.oracle.com</Host>
         <Credential>
            <Name>oracle</Name>
            <Password>welcome1</Password>
         </Credential>
         <Property>
            <Name>ORACLE_HOME</Name>
            <Value>/home/oracle/oracle/product/10.2.0/db_1</Value>
         </Property>
         <Property>
            <Name>db_username</Name>
            <Value>sys</Value>
         </Property>
         <Property>
            <Name>db_password</Name>
            <Value>welcome1</Value>
         </Property>
         <Property>
            <Name>oms_username</Name>
            <Value>oracle</Value>
         </Property>
         <Property>
            <Name>oms_password</Name>
            <Value>welcome1</Value>
         </Property>
      </Target>
   </AggregateTarget>
</EMModel>

Example 1-29 Scaling a Two-node RAC to a One-node RAC (Windows platform with CFS storage)

<?xml version = '1.0' encoding = 'UTF-8'?>
<EMModel xmlns="http://xmlns.oracle.com/sysman/connector/base/msi" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.oracle.com/sysman/connector/base/msi/EMModel.xsd">
   <RequestHeader>
      <RequestID>DeleteNode</RequestID>
      <Source>Oracle</Source>
      <Destination>Oracle</Destination>
      <RequestProperty>
         <Type>Singleton</Type>
         <Property>
            <Name>Platform</Name>
            <Value>Windows</Value>
         </Property>
      </RequestProperty>
   </RequestHeader>
   <Credential>
      <Name>sysman</Name>
      <Password>welcome1</Password>
   </Credential>
   <AggregateTarget>
      <Name>CRS33</Name>
      <Type>cluster</Type>
      <Target>
         <Name>bjx33.cn.oracle.com</Name>
         <Type>host</Type>
         <Host>bjx33.cn.oracle.com</Host>
         <Property>
            <Name>CRS_HOME</Name>
            <Value>d:\oracle\product\10.2.0\crs</Value>
         </Property>
      </Target>
   </AggregateTarget>
   <AggregateTarget>
      <Name>RAC33</Name>
      <Type>rac_database</Type>
      <Target>
         <Name>RAC33_RAC331</Name>
         <Type>oracle_database</Type>
         <Host>bjx33.cn.oracle.com</Host>
         <Credential>
            <Name>oracle</Name>
            <Password>welcome1</Password>
         </Credential>
         <Property>
            <Name>ORACLE_HOME</Name>
            <Value>d:\oracle\product\10.2.0\db_1</Value>
         </Property>
         <Property>
            <Name>db_username</Name>
            <Value>sys</Value>
         </Property>
         <Property>
            <Name>db_password</Name>
            <Value>welcome1</Value>
         </Property>
         <Property>
            <Name>oms_username</Name>
            <Value>oracle</Value>
         </Property>
         <Property>
            <Name>oms_password</Name>
            <Value>welcome1</Value>
         </Property>
      </Target>
      <Property>
         <Name>oms_delete_all_targets</Name>
         <Value>true</Value>
      </Property>
   </AggregateTarget>
</EMModel>

Example 1–30 shows that the response model will have a job ID for the request.

Example 1-30 Job ID in Delete Node Response Model

<EMModel xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
         xmlns="http://xmlns.oracle.com/sysman/connector/base/msi"> 
  <RequestHeader> 
    <RequestID>DELETENODE1234567890</RequestID> 
    <Source>JP</Source> 
    <Destination>Oracle</Destination> 
  </RequestHeader> 
  <Credential> 
    <Name>*</Name> 
    <Password>*</Password> 
  </Credential> 
  <Job> 
    <JobId>12320443534534534543</JobId> 
    <JobStatus>2</JobStatus> 
  </Job> 
</EMModel>

Handling an Error Case

When an error occurs after you submit a request model, an error code is returned in the <RequestHeader/> of the response model. See Chapter 6, "Error Messages and Debugging" for the cause of the error and how to fix it. Example 1–31 shows what occurs when you send a delete node job request to a three-node RAC. Error code CNTR - 0015 appears, which means that the action is not supported and you should delete one node.

Example 1-31 Attempting to Scale a Three-node RAC to a One-node RAC

<?xml version = '1.0' encoding = 'UTF-8'?>
<EMModel xmlns="http://xmlns.oracle.com/sysman/connector/base/msi" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.oracle.com/sysman/connector/base/msi/EMModel.xsd">
   <RequestHeader>
      <RequestID>DeleteNode</RequestID>
      <Source>Oracle</Source>
      <Destination>Oracle</Destination>
      <RequestProperty>
         <Type>Singleton</Type>
         <Property>
            <Name>Platform</Name>
            <Value>Windows</Value>
         </Property>
      </RequestProperty>
   </RequestHeader>
   <Credential>
      <Name>sysman</Name>
      <Password>welcome1</Password>
   </Credential>
   <AggregateTarget>
      <Name>CRS33</Name>
      <Type>cluster</Type>
      <Target>
         <Name>bjx33.cn.oracle.com</Name>
         <Type>host</Type>
         <Host>bjx33.cn.oracle.com</Host>
         <Property>
            <Name>CRS_HOME</Name>
            <Value>d:\oracle\product\10.2.0\crs</Value>
         </Property>
      </Target>
   </AggregateTarget>
   <AggregateTarget>
      <Name>RAC33</Name>
      <Type>rac_database</Type>
      <Target>
         <Name>RAC33_RAC331</Name>
         <Type>oracle_database</Type>
         <Host>bjx33.cn.oracle.com</Host>
         <Credential>
            <Name>oracle</Name>
            <Password>welcome1</Password>
         </Credential>
         <Property>
            <Name>ORACLE_HOME</Name>
            <Value>d:\oracle\product\10.2.0\db_1</Value>
         </Property> 
         <Property>
            <Name>db_username</Name>
            <Value>sys</Value>
         </Property>
         <Property>
            <Name>db_password</Name>
            <Value>welcome1</Value>
         </Property>
         <Property>
            <Name>oms_username</Name>
            <Value>oracle</Value>
         </Property>
         <Property>
            <Name>oms_password</Name>
            <Value>welcome1</Value>
         </Property>
      </Target>
      <Property>
         <Name>oms_delete_all_targets</Name>
         <Value>true</Value>
      </Property>
   </AggregateTarget>
</EMModel>

Example 1–32 shows the response model for Example 1–31.

Example 1-32 Response Model for a Three-node RAC to a One-node RAC

<?xml version = '1.0' encoding = 'UTF-8'?> 
<ns0:EMModel xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
xmlns:ns0="http://xmlns.oracle.com/sysman/connector/base/msi" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
  <ns0:RequestHeader> 
    <ns0:RequestID>DeleteNode</ns0:RequestID> 
    <ns0:Source>Oracle</ns0:Source> 
    <ns0:Destination>Oracle</ns0:Destination> 
    <ns0:RequestProperty> 
      <ns0:Type>Error</ns0:Type> 
      <ns0:Property> 
        <ns0:Name>Message</ns0:Name> 
        <ns0:Value>CNTR-0015</ns0:Value> 
      </ns0:Property> 
    </ns0:RequestProperty> 
  </ns0:RequestHeader> 
  <ns0:Credential> 
    <ns0:Name>******</ns0:Name> 
    <ns0:Password>******</ns0:Password> 
  </ns0:Credential> 
  <ns0:AggregateTarget> 
    <ns0:Name>CRS33</ns0:Name> 
    <ns0:Type>cluster</ns0:Type> 
    <ns0:Target> 
      <ns0:Name>bjx33.cn.oracle.com</ns0:Name> 
      <ns0:Type>host</ns0:Type> 
      <ns0:Host>bjx33.cn.oracle.com</ns0:Host> 
      <ns0:Property> 
        <ns0:Name>CRS_HOME</ns0:Name> 
        <ns0:Value>d:\oracle\product\10.2.0\crs</ns0:Value> 
      </ns0:Property> 
    </ns0:Target> 
  </ns0:AggregateTarget> 
  <ns0:AggregateTarget> 
    <ns0:Name>RAC33</ns0:Name> 
    <ns0:Type>rac_database</ns0:Type> 
    <ns0:Target> 
      <ns0:Name>RAC33_RAC331</ns0:Name> 
      <ns0:Type>oracle_database</ns0:Type> 
      <ns0:Host>bjx33.cn.oracle.com</ns0:Host> 
      <ns0:Credential> 
        <ns0:Name>oracle</ns0:Name> 
        <ns0:Password>welcome1</ns0:Password> 
      </ns0:Credential> 
      <ns0:Property> 
        <ns0:Name>ORACLE_HOME</ns0:Name> 
        <ns0:Value>d:\oracle\product\10.2.0\db_1</ns0:Value> 
      </ns0:Property> 
         <ns0:Property>
            <ns0:Name>db_username</ns0:Name>
            <ns0:Value>sys</ ns0:Value>
         </ns0:Property>
         <ns0:Property>      
            <ns0:Name>db_password</ns0:Name>
            <ns0:Value>welcome1</ns0:Value>
         </ns0:Property>
         <ns0:Property>
            <ns0:Name>oms_username</ns0:Name>
            <ns0:Value>oracle</ns0:Value>
         </ns0:Property>
         <ns0:Property>
            <ns0:Name>oms_password</ns0:Name>
            <ns0:Value>welcome1</ns0:Value>
         </ns0:Property>
    </ns0:Target> 
  </ns0:AggregateTarget> 
</ns0:EMModel>