Last active
January 25, 2017 16:08
-
-
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 :-).
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* @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