Skip to content

Instantly share code, notes, and snippets.

@vegaasen
Last active January 25, 2017 16:08
Show Gist options
  • Save vegaasen/3e0cfb4fb8f14389bdaef7ad2f8ff5a8 to your computer and use it in GitHub Desktop.
Save vegaasen/3e0cfb4fb8f14389bdaef7ad2f8ff5a8 to your computer and use it in GitHub Desktop.
Use this to simplify the calculation of your OIM Oracle installation. It helped us atleast :-).
/**
* @author <a href="mailto:[email protected]">vegaraa</a>
* @version ??.10.2016
* @link https://support.oracle.com/epmos/main/downloadattachmentprocessor?attachid=1539554.1%3AOIM11GR2_TUNING&action=inline
* @link https://docs.oracle.com/cd/E52734_01/core/ASPER/oim.htm#ASPER495
*/
public class CalculateOimThreads {
private static final int NUM_DB_CPU_INSTANCES = 1;
// Look at the scheduled task in OIM
private static final int NUM_EVALUATE_USERS_THREADS = 1;
// duh..
private static final int NODES = 1;
// Summary of JDBC Data Sources > oimOperationsDB
private static int dbConnections = 0;
public static void main(String... args) {
calculateOIMOperationsDB();
calculateOIMWorkManager();
calculateOIMMDBWorkManager();
calculateOIMAuditWorkManager();
calculateOIMUIWorkManager();
}
private static void calculateOIMOperationsDB() {
//(8*# DB CPU)
dbConnections = Math.round(8 * NUM_DB_CPU_INSTANCES) / NODES;
System.out.println("oimOperationsDB => (connections) " + dbConnections);
}
private static void calculateOIMWorkManager() {
//Round(2/3[(total number of DB connections -5)/n)-10])
System.out.println("OIMWorkManager => " + Math.round((((dbConnections - NUM_EVALUATE_USERS_THREADS) / NODES) - 10) * 0.66));
}
private static void calculateOIMMDBWorkManager() {
//Round(1/3[(total number of DB connections -5)/n)-10])
System.out.println("OIMMDBWorkManager => " + Math.round((((dbConnections - NUM_EVALUATE_USERS_THREADS) / NODES) - 10) * 0.33));
}
private static void calculateOIMAuditWorkManager() {
// no calculation - just recommended
System.out.println("OIMAuditWorkManager => " + 5);
}
private static void calculateOIMUIWorkManager() {
// no calculation - just recommended
System.out.println("OIMUIWorkManager => " + 10);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment