Как писать данные из триггера Oracle в memcache?
С одной стороны, как мне помнится, там есть пакет по работе с TCP, а у memcached есть текстовый протокол.

С другой стороны есть Java Stored Procedures

Но с третьей стороны memcached, видимо используется для кеширования, там почему бы не кешировать специфические данные, которые нужны именно приложениям, а не результаты запросов из базы еще и использовать их из разных приложений, вероятно поддерживать стало бы проще.
+1 к «попробовать имеющиеся у оракла средства оптимизации»:

 — в приложении не создавать / дестроить коннект каждый раз а держать его постоянным, препейрить запросы, переменные биндить
 — запустить AWR в модной веб-консольке Oracle Enterprise Manager, посмотреть что найдет
 — поднять SGA, увеличить буффер кеш
 — убедиться что соблюдены элементарные правила разделения датафайлов, редулогов, архивлогов по дискам и нет даунгрейда со стороны дисковой подсистемы, системных и оракловых джобов
 — собрать статистику, посмотреть на фрагментацию (chained rows), помониторить сами запросы, посмотреть планы -> возможно что-то еще можно разогнать
 — материализовать тяжелые запросики, из наиболее частоджоинящихся табличек сделать кластеры

Мне представляется, если у вас есть некий дополнительный свободный ресурс (ram, cpu) которое вы собираетесь отдать стороннему кеширующему решению, может сначала попытаться добавить тот же ресурс серверу бд + немного тюнинга? 
Я просто боюсь, что любая самопальная схема инвалидации кеша, живущая на триггерах on every row будет создавать больше задержек -> несогласованность данных при чтении из кеша