J.2 Improving the Throughput of the Inventory Storer

You can now improve the throughput of the Inventory Storer by deploying multiple Root Servers to directly store the inventory data to the Oracle 9.2.0.6 Inventory database.

The following sections provide more information:

J.2.1 Factors to be Considered Before Deployment

  • Network Topology: The Root Servers and the Database server must be located in the same LAN.

  • Frequency of Scans Received by the Inventory Server: Large number of scans to be processed within a short duration. For example, scanning 25000 servers every day.

  • Scan Type: An initial FULL scan storage would take more time compared to subsequent DELTA scan times.

  • Total number of Root Servers: If the size of the scan files is smaller, you can achieve a better throughput by deploying a maximum of 6 to 8 Root Servers. But if you deploy more than 8 servers, the throughput might degrade. All servers that you plan to deploy must be receive approximately equivalent number of scans.

J.2.2 Procedure to Improve the Throughput

  1. Stop the Inventory service and the Inventory database.

  2. Configure a minimum of two Root Servers but a maximum of eight Root Servers to store the inventory data to an Oracle 9.2.0.6 Inventory database.

  3. Ensure that the Database server has the following requirements:

    • Three physical disks

    • Each disk has a drive with at least 30 GB free disk space

    • Two Pentium IV processors with 2.4 GHz and 2 GB RAM

    For example, on Windows assume that the C drive is on disk1, the E drive on disk2, and the F drive on disk3. And the F drive contains the database files.

  4. Create the following directory structure for database files on all the three drives:

    drive_name\zenworks\inventory\oracle\database
    

    For example:

     c:\zenworks\inventory\oracle\database\
    
    f:\zenworks\inventory\oracle\database\
    
    e:\zenworks\inventory\oracle\database\
    

    Let's assume that all the inventory database files are present in f:\zenworks\inventory\oracle\database.

  5. Move the following database files from f:\zenworks\inventory\oracle\database as explained below:

    • Move log1.ora, cim8.ora, cim81.ora, cim82.ora and index1.ora to c:\zenworks\inventory\oracle\database.

    • Move the following files to e:\zenworks\inventory\oracle\database:

      • rbs1.ora
      • tmp1.ora
      • cim1.ora
      • cim2.ora
      • cim21.ora
      • cim3.ora
      • cim4.ora
      • cim5.ora
      • cim51.ora
      • cim7.ora
      • cim71.ora
      • cim72.ora
      • INDEX2.ORA
  6. Edit the f:\zenworks\inventory\oracle\database\init.ora file to set values for the following parameters as mentioned:

    db_cache_size=700000000 or above
    
    shared_pool_size = 300000000 or above
    
    pga_aggregate_target=300000000 or above
    
    sort_area_size=10000000 or above
    
    log_buffer = 1024000 or above
    
    compatible=8.1.6.0.0 or above
    
    open_cursors=2048
    
    session_cached_cursors=2048
    
    processes=200
    
  7. Extract the platform-specific atlasperf_alterctrl.sql from ZENworks_installation_directory\zenworks\inv\server\wminv\properties\sql.zip.

    If Oracle is running on Windows, extract atlasperf_alterctrl.sql from the oracle\winntspecific directory within sql.zip.

    If Oracle is running on Unix, extract atlasperf_alterctrl.sql from the oracle\unixspecific directory within sql.zip.

  8. Modify the file paths in atlasperf_alterctrl.sql, if required, and execute atlasperf_alterctrl.sql at the SQLPLUS prompt.

  9. Start the Inventory database.

  10. Extract the \oracle\common\atlasperf_alterfreelist.sql file from ZENworks_installation_directory\zenworks\inv\server\wminv\ properties\sql.zip, and execute atlasperf_alterfreelist.sql at the SQLPLUS prompt.

  11. Open the Oracle Enterprise Manager console, and ensure that all the indices and primary key constraints of the following tables are set to Degree of the Parallel option - Default, NOLOGGING and Free Lists is 10:

    • zenworks.t$installedproduct
    • cim.t$product
    • mw_dba.installedsoftwarepatch
    • mw_dba.patch
    • mw_dba."file"
    • mw_dba.installedfile
  12. On all Inventory servers, edit ZENworks_installation_directory\zenworks\inv\server\wminv\ properties\storerdebug.properties to set the value of the following parameters as mentioned:

    filebatchupdate=true
    
    cursorclosedelay=500
    
  13. Start the Inventory services on all the Inventory servers that are connected to this database.

J.2.3 Recommendations for Administering the ZENworks Inventory Server

  • Avoid or minimize the frequency of importing or removing servers because it would result in many FULL scans.

  • Avoid NDS time out of sync situation because it may trigger FULL scans.

  • Trigger FULL scan on the Inventory service object only if required because it would trigger FULL scans on all inventoried machines connected to the Inventory server.

  • Balance the load of inventory scan and zip files on each server.

  • Stagger the inventory scan and the roll-up schedule.

  • Avoid scheduling too many frequent scans and roll-ups such as daily scans and daily roll-ups.

  • Minimize the scanning of unknown application files and tune the software dictionary. For more information, see Section 16.3.30, Base-lining the Software Dictionary Deployment.

J.2.4 Recommendations for Administering the Inventory Database

  • Resize the Oracle SGA parameters appropriately to handle the concurrent updates.

  • Configure appropriate database server hardware requirements such as adding memory, disks.

  • If required, rebuild the indices in the database and scatter them to different tablespaces. Do not have more than one index of the same table on a tablespace.

  • Scatter the data files on multiple physical disks.

  • Apply the standard recommendations as suggested in the Oracle administration or Performance guides.

  • Use a dedicated network between the Inventory server and the Inventory database. For example, 100 MBPS.

  • Add enough rollback segments and properly size them to avoid the ORA-01555 error.

  • If a large number of servers are processed for FULL scan, delete old database and use a new database.