by Guest » 13 Jan 2025, 19:11
Ich habe ein Oracle 19c-System unter Linux mit aktivierter krb5-Authentifizierung über Windows AD KDC. Sowohl der SQLPlus- als auch der JDBC-Zugriff funktionieren einwandfrei. Als ich versuchte, mit ucp (ucp11.jar, ojdbc11.jar) zu testen, stieß ich nur dann auf ORA-12631, wenn ich initialPoolSize > 2 festlegte.
Code: Select all
PoolDataSource pds = PoolDataSourceFactory.getPoolDataSource();
pds.setConnectionFactoryClassName("oracle.jdbc.pool.OracleDataSource");
pds.set(url);
pds.setUser(null); // for krb5 auth
pds.setPassword(null); // for krb5 auth
pds.setInitializePoolSize(3); // failed with ORA-12631
pds.setMinPoolSize(3);
pds.setMaxPoolSize(20);
pds.setTimeoutCheckInterval(120);
pds.setInactiveConnectionTimeout(300);
pds.setConnectionProperties(krbProperties); // krb5 properties like KRB5_CC_NAME
Als ich pds.getConnection() aufrief, wurde ORA-12631 mit initialPoolSize > 2 ausgelöst. Warum funktionierte es nicht für eine größere initialPoolSize? Bei der krb5-Authentifizierung gibt es keinen Benutzer/Passwort. Warum wurde ORA-12631 ausgelöst?
Wenn ich initialPoolSize auf 1 oder 2 setze, könnte ich die Verbindung herstellen und die Datenbank abfragen. Es hat auch funktioniert, wenn ich die krb5-Authentifizierung ausgeschaltet habe.
Ich habe ein Oracle 19c-System unter Linux mit aktivierter krb5-Authentifizierung über Windows AD KDC. Sowohl der SQLPlus- als auch der JDBC-Zugriff funktionieren einwandfrei. Als ich versuchte, mit ucp (ucp11.jar, ojdbc11.jar) zu testen, stieß ich nur dann auf ORA-12631, wenn ich initialPoolSize > 2 festlegte.
[code]PoolDataSource pds = PoolDataSourceFactory.getPoolDataSource();
pds.setConnectionFactoryClassName("oracle.jdbc.pool.OracleDataSource");
pds.set(url);
pds.setUser(null); // for krb5 auth
pds.setPassword(null); // for krb5 auth
pds.setInitializePoolSize(3); // failed with ORA-12631
pds.setMinPoolSize(3);
pds.setMaxPoolSize(20);
pds.setTimeoutCheckInterval(120);
pds.setInactiveConnectionTimeout(300);
pds.setConnectionProperties(krbProperties); // krb5 properties like KRB5_CC_NAME
[/code]
Als ich pds.getConnection() aufrief, wurde ORA-12631 mit initialPoolSize > 2 ausgelöst. Warum funktionierte es nicht für eine größere initialPoolSize? Bei der krb5-Authentifizierung gibt es keinen Benutzer/Passwort. Warum wurde ORA-12631 ausgelöst?
Wenn ich initialPoolSize auf 1 oder 2 setze, könnte ich die Verbindung herstellen und die Datenbank abfragen. Es hat auch funktioniert, wenn ich die krb5-Authentifizierung ausgeschaltet habe.