Почему прерывается соединение с базой данных спустя ~ 1.5 часа покоя?
Соединение с базой постоянное? Если да, нужно найти настройку, отвечающую за прерывание неактивных соединений по таймауту. На память не помню, где она. Посмотрите доку по listener.ora и sqlnet.ora для начала.
a) Как вариант проверить настройки ВМ, что там с сетевым интерфейсом.
b) Копать в сторону alert.log, вариантов для появления 03114 масса.