Я думаю, что основной поток имеет смысл. Я бы порекомендовал провести эксперименты, чтобы увидеть, где именно находятся узкие места в производительности, а затем взять их оттуда. Например, это переход от PL / SQL к Oracle JVM? Обрабатывается ли JVM для выполнения команды svn? Это свн туда и обратно? Это разбор XML?
Скажем, например, это svn туда-обратно. Может быть, у вас может быть процесс на компьютере-оракуле, который кэширует ответы с сервера svn, чтобы иногда можно было избежать передачи туда и обратно? Может быть, SVN туда и обратно может быть асинхронным?
Но, как я уже сказал, вам нужно знать, где находится узкое место.