Skip Headers
Oracle® Identity Manager Best Practices Guide
Release 9.0.3

Part Number B32451-01
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
View PDF

3 Tuning Oracle Database for Oracle Identity Manager

As with any enterprise class business application, there is no simple procedure for tuning that works for all systems. This section describes one sample configuration and outlines principles for tuning.

Oracle Identity Manager has many configuration options. The best way to identify bottlenecks and optimize performance is to monitor key database performance indicators in your production environment and adjust the configuration from time to time. This chapter serves as a guideline to help you choose the initial baseline database configuration.

This chapter discusses the following topics:

Sample Instance Configuration Parameters

The following parameter settings are based on a server with 4 CPUs and 8GB RAM

Table 3-1 Sample Configuration Parameters

Parameter Recommended Initial Settings for Oracle9i Recommended Initial Settings for Oracle10g

compatible

9.2.0.0.0

10.2.0.2.0

cursor_sharing

EXACT

EXACT

db_block_size

8192

8192

db_cache_size

3200M

3200M

db_keep_cache_size

800M

800M

log_buffer

14289920

14289920

shared_pool_size

500M

500M

db_file_multiblock_read_count

16

16

db_writer_processes

2

2

hash_join_enabled

TRUE

Not applicable

java_pool_size

300M

300M

open_cursors

600

600

optimizer_feature_enable

9.2.0

10.2.0.2

optimizer_index_cost_adj

Between 0 and 20

Between 0 and 20

pga_aggregate_target

1100M

1100M

workarea_size_policy

AUTO

AUTO

processes

Set the processes parameter to the maximum number of concurrent users + the number of background processes + the number of SQL*PLUS and other user processes + 10 (as an extra cushion)

Set the processes parameter to the maximum number of concurrent users + the number of background processes + the number of SQL*PLUS and other user processes + 10 (as an extra cushion)

query_rewrite_enabled

TRUE

TRUE

query_rewrite_integrity

TRUSTED

TRUSTED

session_cached_cursors

300

300


Physical Data Placement

The out-of-the-box installation of Oracle Identity Manager uses only one physical tablespace to store database objects. Oracle Identity Manager database objects belong to one of the following categories:

For better performance, create multiple locally managed tablespaces and store each category of database object in a dedicated tablespace. This optimizes storage for efficient data access. Oracle recommends that you place the following User Profile Audit (UPA) component tables and indexes in their own tablespaces:

These tables can store significant amounts of historical data and can be used by historical reports.

The database schema includes the following tables for reconciliation data:

If your environment generates a large amount of reconciliation data, move these tables to a new tablespace. Use the locally managed tablespaces with automatic extent allocation.

You can use performance metrics to identify tables that are accessed frequently, or hot tables. To reduce I/O contention, move hot tables to dedicated tablespaces. See "Database Performance Monitoring" for more on performance metrics.

Pinning Sequences and Stored Procedures in System Global Area (SGA)

Oracle Identity Manager uses sequence objects to generate unique record identifiers. Oracle Identity Manager also uses stored procedures to perform specific database operations. To optimize performance in production, pin the sequence objects and stored procedures in SGA. A script named create_db_trigger.sql is shipped with the Oracle Identity Manager installation for this purpose. The create_db_trigger.sql script is written for the Oracle Identity Manager database account SYSADM. It is a sample Oracle login account.

This script is located in the following installation directory:

\installServer\Xellerate\db\oracle

To pin the sequence objects and stored procedures:

  1. Log in as SYS.

  2. Start Oracle SQL*Plus (the Oracle client tool), at a command prompt, by typing the following command:

    sqlplus /nolog
    
    
  3. Connect to the Oracle instance as SYS user with SYSDBA role.

    For example, type the following command:

    CONNECT SYS/sys_password@db_instance AS SYSDBA
    
    

    Where sys_password is the password for the SYS user account, and db_instance is the Net 8 service name for connecting to the database instance.

    For example:

    CONNECT SYS/sys@xeltest AS SYSDBAConnected.
    
    
  4. Edit the create_db_trigger.sql script in a text editor, and specify your actual Oracle Identity Manager database account name.

  5. In create_db_trigger.sql, substitute all references to sysadm with the account name you actually used.

    For example, if your Oracle Identity Manager database account name is myschema, edit your script as follows:

    create or replace trigger cache_seq after startup on database beginmyschema.pin_obj;-- pin all sysadm's sequences in shared_poolmyschema.pin_sp;-- pin all commonly executed XELL stored procedures/functionsend;/
    
    
  6. Run the create_db_trigger.sql script.

    This script creates a database trigger that is fired every time the database starts up. Any subsequent database bounces automatically pin the sequences and stored procedures in SGA.

  7. While connected to Oracle as the SYS user, run the following commands:

    EXEC database_user.PIN_OBJ;EXEC database_user.PIN_SP;
    
    

    Where database_user is the database account.

    Run these commands only once during initial schema creation. Bouncing the Oracle server is not required.

Database Performance Monitoring

To identify performance bottlenecks, you can monitor real-time performance metrics for the Oracle Identity Manager database.

Perform the following at regular intervals: