cancel
Showing results for 
Search instead for 
Did you mean: 

UME error in Server0

michael_watson
Explorer
0 Kudos
210

Hi guys,

Our portal will no longer start up, getting UME errors in server0. Nothing should have changed that would have caused this problem. I have tried a number of different suggestions, including enabling the sap* user, turning off LDAP, and even redeploying the sap.core.ume component via SDM.

Wondering whether anyone else has had this problem before and can offer a solution.

Here is the error we are getting (same in both the std_server0.out and the defaultTrace files)


  Service deploy started. (14909 ms).
  Service configuration started. (102 ms).
  Service bi~mmr~deployer started. (25 ms).
  Service MigrationService started. (133 ms).
  Service dbpool started. (6633 ms).
  Service UT started. (38 ms).
  Service caf~eu~gp~mail~cf started. (173 ms).
Apr 28, 2008 12:53:10... ...re.server.ume.service.UMEServiceFrame [SAPEngine_System_Thread[impl:5]_81] Fatal: 
  service com.sap.security.core.ume.service ================= ERROR =================
Core service com.sap.security.core.ume.service failed. J2EE Engine cannot be started.
com.sap.engine.frame.ServiceException: Start of UME service failed. Check help topic "Start of UME Service Failed". Technical details: null
	ume.db.connection_pool_type=SAP/BC_UME
	ume.db.connection_pool.j2ee.xatransactions_used=false
	ume.db.connection_pool.j2ee.is_unicode=false
	ume.db.connection_pool.j2ee.oracle_native_driver_used=false: (No text available)
	at com.sap.security.core.server.ume.service.UMEServiceFrame.start(UMEServiceFrame.java:398)
	at com.sap.engine.frame.ApplicationFrameAdaptor.start(ApplicationFrameAdaptor.java:31)
	at com.sap.engine.core.service630.container.ServiceRunner.startApplicationServiceFrame(ServiceRunner.java:214)
	at com.sap.engine.core.service630.container.ServiceRunner.run(ServiceRunner.java:144)
	at com.sap.engine.frame.core.thread.Task.run(Task.java:64)
	at com.sap.engine.core.thread.impl5.SingleThread.execute(SingleThread.java:79)
	at com.sap.engine.core.thread.impl5.SingleThread.run(SingleThread.java:105)
Caused by: com.sap.security.core.persistence.datasource.PersistenceException: null
	ume.db.connection_pool_type=SAP/BC_UME
	ume.db.connection_pool.j2ee.xatransactions_used=false
	ume.db.connection_pool.j2ee.is_unicode=false
	ume.db.connection_pool.j2ee.oracle_native_driver_used=false: (No text available)
	at com.sap.security.core.persistence.datasource.imp.DataBasePersistence.init(DataBasePersistence.java:887)
	at com.sap.security.core.persistence.imp.PrincipalDatabagFactoryInstance.<init>(PrincipalDatabagFactoryInstance.java:444)
	at com.sap.security.core.persistence.imp.PrincipalDatabagFactory.newInstance(PrincipalDatabagFactory.java:164)
	at com.sap.security.core.persistence.imp.PrincipalDatabagFactory.getInstance(PrincipalDatabagFactory.java:117)
	at com.sap.security.core.persistence.imp.PrincipalDatabagFactory.getInstance(PrincipalDatabagFactory.java:63)
	at com.sap.security.core.InternalUMFactory.initializeUME(InternalUMFactory.java:221)
	at com.sap.security.core.server.ume.service.UMEServiceFrame.start(UMEServiceFrame.java:287)
	... 6 more


com.sap.engine.frame.ServiceException: Start of UME service failed. Check help topic "Start of UME Service Failed". Technical details: null
	ume.db.connection_pool_type=SAP/BC_UME
	ume.db.connection_pool.j2ee.xatransactions_used=false
	ume.db.connection_pool.j2ee.is_unicode=false
	ume.db.connection_pool.j2ee.oracle_native_driver_used=false: (No text available)
	at com.sap.security.core.server.ume.service.UMEServiceFrame.start(UMEServiceFrame.java:398)
	at com.sap.engine.frame.ApplicationFrameAdaptor.start(ApplicationFrameAdaptor.java:31)
	at com.sap.engine.core.service630.container.ServiceRunner.startApplicationServiceFrame(ServiceRunner.java:214)
	at com.sap.engine.core.service630.container.ServiceRunner.run(ServiceRunner.java:144)
	at com.sap.engine.frame.core.thread.Task.run(Task.java:64)
	at com.sap.engine.core.thread.impl5.SingleThread.execute(SingleThread.java:79)
	at com.sap.engine.core.thread.impl5.SingleThread.run(SingleThread.java:105)
Caused by: com.sap.security.core.persistence.datasource.PersistenceException: null
	ume.db.connection_pool_type=SAP/BC_UME
	ume.db.connection_pool.j2ee.xatransactions_used=false
	ume.db.connection_pool.j2ee.is_unicode=false
	ume.db.connection_pool.j2ee.oracle_native_driver_used=false: (No text available)
	at com.sap.security.core.persistence.datasource.imp.DataBasePersistence.init(DataBasePersistence.java:887)
	at com.sap.security.core.persistence.imp.PrincipalDatabagFactoryInstance.<init>(PrincipalDatabagFactoryInstance.java:444)
	at com.sap.security.core.persistence.imp.PrincipalDatabagFactory.newInstance(PrincipalDatabagFactory.java:164)
	at com.sap.security.core.persistence.imp.PrincipalDatabagFactory.getInstance(PrincipalDatabagFactory.java:117)
	at com.sap.security.core.persistence.imp.PrincipalDatabagFactory.getInstance(PrincipalDatabagFactory.java:63)
	at com.sap.security.core.InternalUMFactory.initializeUME(InternalUMFactory.java:221)
	at com.sap.security.core.server.ume.service.UMEServiceFrame.start(UMEServiceFrame.java:287)
	... 6 more

[Framework -> criticalShutdown] Core service com.sap.security.core.ume.service failed. J2EE Engine cannot be started.
Apr 28, 2008 12:53:10...            com.sap.engine.core.Framework [SAPEngine_System_Thread[impl:5]_81] Fatal: Critical shutdown was invoked. Reason is: Core service com.sap.security.core.ume.service failed. J2EE Engine cannot be started.
</verbosegc>

Thanks for your help.

Michael

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi,

It looks like you've tried what I would suggest you start with (disabling LDAP access). From my point of view it looks like it cannot access the Internal UME factory which is stored in the SAP system database.

So it looks like the connection to the SAP system database fails.

Try comparing the parameters ume.db.* in the configtool with another system

I've added the code for the init method of the DataBasePersistence class.


    public void init(DSConfigurationModel dsConf)
        throws PersistenceException
    {
        String methodName = "init";
        super.init(dsConf);
        mTrace = InternalUMFactory.getTrace("$Id: //shared_tc/com.sapall.security/645_VAL_REL/src/_core/java/com/sap/security/core/persistence/datasource/imp/DataBasePersistence.java#11 $ from $DateTime: 2007/07/03 11:19:17 $ ($Change: 22807 $)");
        XOPEN_SQL_STATE_CONSTRAINT_VIOLATED = new PersistenceCollection();
        XOPEN_SQL_STATE_CONSTRAINT_VIOLATED.add("23000");
        XOPEN_SQL_STATE_CONSTRAINT_VIOLATED.add("23505");
        mDataBaseStringsPool = new DataBaseStringsPool();
        connectionPool = dsConf.getPrivateAttribute("ume.db.connection_pool_type");
        final IUMParameters props = UMFactory.getProperties();
        if(connectionPool == null)
            connectionPool = props.get("ume.db.connection_pool_type");
        mOrSearchMaxArguments = -1;
        try
        {
            mOrSearchMaxArguments = dsConf.getPrivateAttributeIntValue("ume.db.or_search.max_arguments");
        }
        catch(PersistenceException pex)
        {
            if(mTrace.beInfo())
                mTrace.infoT("init", "Error while reading property \"ume.db.or_search.max_arguments\":" + pex.getMessage(), pex);
        }
        if(mOrSearchMaxArguments < 1)
            mOrSearchMaxArguments = UMFactory.getProperties().getNumber("ume.db.or_search.max_arguments", 50);
        mSearchMaxPrincipalArguments = -1;
        try
        {
            mSearchMaxPrincipalArguments = dsConf.getPrivateAttributeIntValue("ume.db.search.max_principal_arguments");
        }
        catch(PersistenceException pex)
        {
            if(mTrace.beInfo())
                mTrace.infoT("init", "Error while reading property \"ume.db.search.max_principal_arguments\":" + pex.getMessage(), pex);
        }
        if(mSearchMaxPrincipalArguments < 1)
            mSearchMaxPrincipalArguments = UMFactory.getProperties().getNumber("ume.db.search.max_principal_arguments", 1000);
        mOrParentSearchMaxArguments = -1;
        try
        {
            mOrParentSearchMaxArguments = dsConf.getPrivateAttributeIntValue("ume.db.parent_search.max_arguments");
        }
        catch(PersistenceException pex)
        {
            if(mTrace.beInfo())
                mTrace.infoT("init", "Error while reading property \"ume.db.parent_search.max_arguments\":" + pex.getMessage(), pex);
        }
        if(mOrParentSearchMaxArguments < 1)
            mOrParentSearchMaxArguments = UMFactory.getProperties().getNumber("ume.db.parent_search.max_arguments", 500);
        if(connectionPool == null)
            connectionPool = "internal";
        if(connectionPool.equalsIgnoreCase("internal"))
        {
            if(dsConf.getPrivateAttribute("ume.db.connection_pool_type") != null)
                connectionPool = getId() + "_" + connectionPool;
            dataBaseDriver = dsConf.getPrivateAttribute("ume.db.jdbc_driver");
            if(dataBaseDriver == null)
                dataBaseDriver = props.get("ume.db.jdbc_driver");
            dataBaseUser = dsConf.getPrivateAttribute("ume.db.jdbc_user");
            if(dataBaseUser == null)
                dataBaseUser = props.get("ume.db.jdbc_user");
            dataBasePassword = dsConf.getPrivateAttribute("ume.db.jdbc_password");
            if(dataBasePassword == null)
                dataBasePassword = (String)AccessController.doPrivileged(new PrivilegedAction() {

                    public Object run()
                    {
                        return props.getPassword("ume.db.jdbc_password");
                    }

                }
);
            dataBaseUrl = dsConf.getPrivateAttribute("ume.db.jdbc_url");
            if(dataBaseUrl == null)
                dataBaseUrl = props.get("ume.db.jdbc_url");
            int cpMinSize = dsConf.getPrivateAttributeIntValue("ume.db.connection_pool.internal.minsize");
            if(cpMinSize == -1)
                cpMinSize = props.getNumber("ume.db.connection_pool.internal.minsize", 1);
            int cpMaxSize = dsConf.getPrivateAttributeIntValue("ume.db.connection_pool.internal.maxsize");
            if(cpMaxSize == -1)
                cpMaxSize = props.getNumber("ume.db.connection_pool.internal.maxsize", 30);
            int cpMaxIdleConnections = dsConf.getPrivateAttributeIntValue("ume.db.connection_pool.internal.max_idle_connections");
            if(cpMaxIdleConnections == -1)
                cpMaxIdleConnections = props.getNumber("ume.db.connection_pool.internal.max_idle_connections", 5);
            int cpMaxIdleTime = dsConf.getPrivateAttributeIntValue("ume.db.connection_pool.internal.max_connection_idle_time");
            if(cpMaxIdleTime == -1)
                cpMaxIdleTime = props.getNumber("ume.db.connection_pool.internal.max_connection_idle_time", 0x927c0);
            int cpMaxWaitTime = dsConf.getPrivateAttributeIntValue("ume.db.connection_pool.internal.max_wait_process_time");
            if(cpMaxWaitTime == -1)
                cpMaxWaitTime = props.getNumber("ume.db.connection_pool.internal.max_wait_process_time", 0x927c0);
            int cpMonitorInterval = dsConf.getPrivateAttributeIntValue("ume.db.connection_pool.internal.monitor_interval");
            if(cpMonitorInterval == -1)
                cpMonitorInterval = props.getNumber("ume.db.connection_pool.internal.monitor_interval", -1);
            int cpConnectRetrials = dsConf.getPrivateAttributeIntValue("ume.db.connection_pool.internal.connect_retrials");
            if(cpConnectRetrials == -1)
                cpConnectRetrials = props.getNumber("ume.db.connection_pool.internal.connect_retrials", 0);
            int cpReleaseInterval = dsConf.getPrivateAttributeIntValue("ume.db.connection_pool.internal.max_connection_usage_time");
            if(cpReleaseInterval == -1)
                cpReleaseInterval = props.getNumber("ume.db.connection_pool.internal.max_connection_usage_time", 0x927c0);
            int cpReleaseCheckInterval = dsConf.getPrivateAttributeIntValue("ume.db.connection_pool.internal.max_connection_usage_time_check_interval");
            if(cpReleaseCheckInterval == -1)
                cpReleaseCheckInterval = props.getNumber("ume.db.connection_pool.internal.max_connection_usage_time_check_interval", 60000);
            String cpLogPath = dsConf.getPrivateAttributeFileValue("ume.db.connection_pool.internal.monitor_path");
            if(cpLogPath == null)
                cpLogPath = props.getFile("ume.db.connection_pool.internal.monitor_path", dsConf.getConfigurationRootDir().getAbsolutePath());
            String xaTransactionsUsed = dsConf.getPrivateAttribute("ume.db.connection_pool.internal.xatransactions_used");
            if(xaTransactionsUsed == null)
                xaTransactionsUsed = props.get("ume.db.connection_pool.internal.xatransactions_used", "false");
            String isUnicode = dsConf.getPrivateAttribute("ume.db.connection_pool.internal.is_unicode");
            if(isUnicode == null)
                isUnicode = props.get("ume.db.connection_pool.internal.is_unicode", "false");
            String isOracleNativeDriverUsed = dsConf.getPrivateAttribute("ume.db.connection_pool.internal.oracle_native_driver_used");
            if(isOracleNativeDriverUsed == null)
                isOracleNativeDriverUsed = props.get("ume.db.connection_pool.internal.oracle_native_driver_used", "false");
            if(mTrace.beInfo())
            {
                mTrace.infoT("init", "Using database driver: " + dataBaseDriver);
                mTrace.infoT("init", "Using database url: " + dataBaseUrl);
                mTrace.infoT("init", "Using XATransactions: " + xaTransactionsUsed);
                mTrace.infoT("init", "Using Unicode: " + isUnicode);
                mTrace.infoT("init", "Using Oracle native driver: " + isOracleNativeDriverUsed);
                mTrace.infoT("init", "Using database user: " + dataBaseUser);
                mTrace.infoT("init", "Using max. number of arguments for or searches: " + mOrSearchMaxArguments);
                mTrace.infoT("init", "Connection pool Minsize: " + cpMinSize);
                mTrace.infoT("init", "Connection pool Maxsize: " + cpMaxSize);
                mTrace.infoT("init", "Connection pool MaxIdleConnections: " + cpMaxIdleConnections);
                mTrace.infoT("init", "Connection pool MaxIdleTime: " + cpMaxIdleTime);
                mTrace.infoT("init", "Connection pool MaxWaitTime: " + cpMaxWaitTime);
                mTrace.infoT("init", "Connection pool MonitorInterval: " + cpMonitorInterval);
                mTrace.infoT("init", "Connection pool ConnectionRetrials: " + cpConnectRetrials);
                mTrace.infoT("init", "Connection pool ConnectionReleaseInterval: " + cpReleaseInterval);
                mTrace.infoT("init", "Connection pool ConnectionReleaseCheckInterval: " + cpReleaseCheckInterval);
                mTrace.infoT("init", "Connection pool MonitorPath: " + cpLogPath);
            }
            Hashtable mConnectionParameters = new Hashtable();
            mConnectionParameters.put("ume.db.jdbc_driver", dataBaseDriver);
            mConnectionParameters.put("ume.db.jdbc_url", dataBaseUrl);
            mConnectionParameters.put("ume.db.jdbc_user", dataBaseUser);
            mConnectionParameters.put("ume.db.jdbc_password", dataBasePassword);
            try
            {
                boolean xaTransactionsUsedValue = xaTransactionsUsed.equalsIgnoreCase("true");
                if(xaTransactionsUsedValue)
                    mUserTransactionPool = new J2EEUserTransactionPool();
                else
                    mUserTransactionPool = null;
                mConnectionPool = new DataBaseConnectionPool(super.mConfigurationModel.getDataSourceID() + "_cp", cpMinSize, cpMaxSize, cpMaxIdleConnections, cpMaxIdleTime, cpMaxWaitTime, mConnectionParameters, cpConnectRetrials, cpReleaseInterval, cpReleaseCheckInterval, xaTransactionsUsedValue, isUnicode.equalsIgnoreCase("true"), isOracleNativeDriverUsed.equalsIgnoreCase("true"));
            }
            catch(InitializationException iex)
            {
                throw new PersistenceException(iex, iex.getMessage() + "\n\t" + "ume.db.connection_pool_type" + "=" + connectionPool + "\n\t" + "ume.db.jdbc_driver" + "=" + dataBaseDriver + "\n\t" + "ume.db.jdbc_url" + "=" + dataBaseUrl + "\n\t" + "ume.db.jdbc_user" + "=" + dataBaseUser + "\n\t" + "ume.db.jdbc_password" + "=********" + "\n\t" + "ume.db.connection_pool.internal.minsize" + "=" + cpMinSize + "\n\t" + "ume.db.connection_pool.internal.maxsize" + "=" + cpMaxSize + "\n\t" + "ume.db.connection_pool.internal.max_idle_connections" + "=" + cpMaxIdleConnections + "\n\t" + "ume.db.connection_pool.internal.max_connection_idle_time" + "=" + cpMaxIdleTime + "\n\t" + "ume.db.connection_pool.internal.max_wait_process_time" + "=" + cpMaxWaitTime + "\n\t" + "ume.db.connection_pool.internal.connect_retrials" + "=" + cpConnectRetrials + "\n\t" + "ume.db.connection_pool.internal.max_connection_usage_time" + "=" + cpReleaseInterval + "\n\t" + "ume.db.connection_pool.internal.max_connection_usage_time_check_interval" + "=" + cpReleaseCheckInterval + "\n\t" + "ume.db.connection_pool.internal.xatransactions_used" + "=" + xaTransactionsUsed + "\n\t" + "ume.db.connection_pool.internal.is_unicode" + "=" + isUnicode + "\n\t" + "ume.db.connection_pool.internal.oracle_native_driver_used" + "=" + isOracleNativeDriverUsed);
            }
        } else
        {
            String xaTransactionsUsed = null;
            String jtaTransactionsSupported = null;
            String isUnicode = null;
            String isOracleNativeDriverUsed = null;
            Class c = null;
            String xaconstant = null;
            String jtaconstant = null;
            String ucconstant = null;
            String oraconstant = null;
            try
            {
                c = Class.forName("com.sap.security.core.persistence.datasource.imp.J2EEConnectionPool");
                xaconstant = (String)c.getDeclaredField("XA_TRANSACTIONS_USED").get(null);
                jtaconstant = (String)c.getDeclaredField("JTA_SUPPORT_ENABLED").get(null);
                ucconstant = (String)c.getDeclaredField("IS_UNICODE").get(null);
                oraconstant = (String)c.getDeclaredField("IS_ORACLE_NATIVE_DRIVER_USED").get(null);
                xaTransactionsUsed = dsConf.getPrivateAttribute(xaconstant);
                if(xaTransactionsUsed == null)
                    xaTransactionsUsed = props.get(xaconstant, "false");
                jtaTransactionsSupported = dsConf.getPrivateAttribute(jtaconstant);
                if(jtaTransactionsSupported == null)
                    jtaTransactionsSupported = props.get(jtaconstant, "false");
                isUnicode = dsConf.getPrivateAttribute(ucconstant);
                if(isUnicode == null)
                    isUnicode = props.get(ucconstant, "true");
                isOracleNativeDriverUsed = dsConf.getPrivateAttribute(oraconstant);
                if(isOracleNativeDriverUsed == null)
                    isOracleNativeDriverUsed = props.get(oraconstant, "false");
                if(mTrace.beInfo())
                {
                    mTrace.infoT("init", "Using initial context factory: " + dataBaseContextFactory);
                    mTrace.infoT("init", "Using provider url: " + dataBaseProviderUrl);
                    mTrace.infoT("init", "Using XATransactions: " + xaTransactionsUsed);
                    mTrace.infoT("init", "Supporting JTATransactions: " + jtaTransactionsSupported);
                    mTrace.infoT("init", "Using max. number of arguments for or searches: " + mOrSearchMaxArguments);
                    mTrace.infoT("init", "Using Unicode: " + isUnicode);
                    mTrace.infoT("init", "Using Oracle native driver: " + isOracleNativeDriverUsed);
                    mTrace.infoT("init", "Try to lookup: " + connectionPool);
                }
                boolean xaTransactionsUsedValue = xaTransactionsUsed.equalsIgnoreCase("true");
                boolean jtaTransactionsSupportedValue = jtaTransactionsSupported.equalsIgnoreCase("true");
                if(xaTransactionsUsedValue)
                    mUserTransactionPool = new J2EEUserTransactionPool();
                else
                    mUserTransactionPool = null;
                Constructor con = c.getConstructor(new Class[] {
                    java.lang.String.class, Boolean.TYPE, Boolean.TYPE, Boolean.TYPE, Boolean.TYPE
                });
                mConnectionPool = (IConnectionPool)con.newInstance(new Object[] {
                    connectionPool, new Boolean(xaTransactionsUsedValue), new Boolean(jtaTransactionsSupportedValue), new Boolean(isUnicode.equalsIgnoreCase("true")), new Boolean(isOracleNativeDriverUsed.equalsIgnoreCase("true"))
                });
            }
            catch(Exception iex)
            {
                throw new PersistenceException(iex, iex.getMessage() + "\n\t" + "ume.db.connection_pool_type" + "=" + connectionPool + "\n\t" + xaconstant + "=" + xaTransactionsUsed + "\n\t" + ucconstant + "=" + isUnicode + "\n\t" + oraconstant + "=" + isOracleNativeDriverUsed);
            }
        }
        String useDBLocking = dsConf.getPrivateAttribute("ume.db.use_default_transaction_isolation");
        if(useDBLocking == null)
            useDBLocking = props.get("ume.db.use_default_transaction_isolation");
        mDefaultTransactionIsolation = -1;
        if((useDBLocking == null || !"true".equalsIgnoreCase(useDBLocking)) && LockManager.getInstance(".core").isLockingEnabled())
        {
            mDefaultTransactionIsolation = 1;
            if(mTrace.beInfo())
                mTrace.infoT("init", "Using transaction isolation \"TRANSACTION_READ_UNCOMMITTED\"");
        }
        try
        {
            principalsSeparatedInTablesByType = dsConf.getPrivateAttributeBooleanValue("ume.db.table.principals_distributed_by_typeidentifier");
        }
        catch(PersistenceException pex)
        {
            if(mTrace.beInfo())
                mTrace.infoT("init", "Error while reading private property \"ume.db.table.principals_distributed_by_typeidentifier\"", pex);
            principalsSeparatedInTablesByType = false;
        }
        stringValueTable = dsConf.getPrivateAttribute("ume.db.table.strings");
        if(stringValueTable == null)
            stringValueTable = "UME_STRINGS";
        blobValueTable = dsConf.getPrivateAttribute("ume.db.table.blobs");
        if(blobValueTable == null)
            blobValueTable = "UME_BLOBS";
        stringValueTableClient = dsConf.getPrivateAttribute("ume.db.table.strings_client");
        if(stringValueTableClient == null)
            stringValueTableClient = "UME_STRINGS_MANDT";
        blobValueTableClient = dsConf.getPrivateAttribute("ume.db.table.blobs_client");
        if(blobValueTableClient == null)
            blobValueTableClient = "UME_BLOBS_MANDT";
        principalIdColumn = dsConf.getPrivateAttribute("ume.db.column.principalid");
        if(principalIdColumn == null)
            principalIdColumn = "PID";
        clientColumn = dsConf.getPrivateAttribute("ume.db.column.client");
        if(clientColumn == null)
            clientColumn = "MANDT";
        clientHashColumn = dsConf.getPrivateAttribute("ume.db.column.client_hash");
        if(clientHashColumn == null)
            clientHashColumn = "MANDTH";
        nameSpaceColumn = dsConf.getPrivateAttribute("ume.db.column.namespace");
        if(nameSpaceColumn == null)
            nameSpaceColumn = "NAMESP";
        attributeColumn = dsConf.getPrivateAttribute("ume.db.column.attribute");
        if(attributeColumn == null)
            attributeColumn = "ATTR";
        attributeGUIDColumn = dsConf.getPrivateAttribute("ume.db.column.attribute_guid");
        if(attributeGUIDColumn == null)
            attributeGUIDColumn = "ATTRGUID";
        valueColumn = dsConf.getPrivateAttribute("ume.db.column.value");
        if(valueColumn == null)
            valueColumn = "VAL";
        upperValueColumn = dsConf.getPrivateAttribute("ume.db.column.uppercase_value");
        if(upperValueColumn == null)
            upperValueColumn = "UPPERVAL";
        principalIdHashColumn = dsConf.getPrivateAttribute("ume.db.column.principalid_hash");
        if(principalIdHashColumn == null)
            principalIdHashColumn = "PIDH";
        nameSpaceHashColumn = dsConf.getPrivateAttribute("ume.db.column.namespace_hash");
        if(nameSpaceHashColumn == null)
            nameSpaceHashColumn = "NAMESPH";
        attributeHashColumn = dsConf.getPrivateAttribute("ume.db.column.attribute_hash");
        if(attributeHashColumn == null)
            attributeHashColumn = "ATTRH";
        valueHashColumn = dsConf.getPrivateAttribute("ume.db.column.value_hash");
        if(valueHashColumn == null)
            valueHashColumn = "VALH";
        upperValueHashColumn = dsConf.getPrivateAttribute("ume.db.column.uppercase_value_hash");
        if(upperValueHashColumn == null)
            upperValueHashColumn = "UPPERVALH";
        if(mTrace.beInfo())
        {
            mTrace.infoT("init", "Using database table for strings: " + getRealTableName(stringValueTable, null));
            mTrace.infoT("init", "Using database table for blobs: " + getRealTableName(blobValueTable, null));
            mTrace.infoT("init", "Using database table for client dependent strings: " + getRealTableName(stringValueTableClient, null));
            mTrace.infoT("init", "Using database table for client dependent blobs: " + getRealTableName(blobValueTableClient, null));
            StringBuffer sb = new StringBuffer();
            sb.append("|");
            sb.append(principalIdColumn);
            sb.append("|");
            sb.append(nameSpaceColumn);
            sb.append("|");
            sb.append(attributeColumn);
            sb.append("|");
            sb.append(attributeGUIDColumn);
            sb.append("|");
            sb.append(valueColumn);
            sb.append("|");
            sb.append(upperValueColumn);
            sb.append("|");
            sb.append(principalIdHashColumn);
            sb.append("|");
            sb.append(nameSpaceHashColumn);
            sb.append("|");
            sb.append(attributeHashColumn);
            sb.append("|");
            sb.append(valueHashColumn);
            sb.append("|");
            sb.append(upperValueHashColumn);
            sb.append("|");
            sb.append(clientColumn);
            sb.append("|");
            sb.append(clientHashColumn);
            sb.append("|");
            mTrace.infoT("init", "Using database table layout: " + sb.toString());
        }
        super.isInitialized = true;
        if(mConnectionPool.isOracleNativeDriverUsed())
            mOracleUtil = new OracleNativeUtil();
        dbWasEmptyOnStartup = false;
        mCheckUniquenessOfAttributeValues = props.getBoolean("ume.db.check_uniqueness_of_attribute_values", true);
    }

Answers (1)

Answers (1)

michael_watson
Explorer
0 Kudos

Thanks for your assistance - as it turns out, you were correct. The DBPool size was set too high.

Would have been nice for SAP to give an error message to this effect, as it took a number of days to determine the cause, lol.

Michael.