Você realmente quis dizer 200 simultâneos usuários ou apenas 200 usuários logados? Na maioria dos casos, um usuário de navegador não poderá fazer mais de 1 solicitação de página por segundo. Assim, 200 usuários se traduzem em 200 transações por segundo. Esse é um número bastante alto para a maioria dos aplicativos.
Independentemente disso, como exemplo, vamos com 200 transações por segundo. Digamos que cada tx de front-end (navegador) leva 0,5 segundos para ser concluído e dos 0,5 segundos, 0,25 são gastos no banco de dados. Portanto, você precisaria de 0,5 * 200 ou 100 conexões no pool de anúncios do WebLogic e 0,25 * 200 =50 conexões no pool de conexões do banco de dados.
Para ser seguro, eu definiria os tamanhos máximos do pool de threads para pelo menos 25% maior do que o esperado para permitir picos de carga. Os mínimos podem ser uma pequena fração do máximo, mas a desvantagem é que pode demorar mais para alguns usuários porque uma nova conexão teria que ser criada. Nesse caso, 50 a 100 conexões não são muito para um banco de dados, então provavelmente é um bom número inicial.
Observe que, para descobrir quais são seus tempos médios de resposta de transação, juntamente com seu tempo médio de consulta de banco de dados, você terá que fazer um teste de desempenho porque seus tempos de carregamento provavelmente não serão os tempos que você vê com um único do utilizador.