Hello,
I am not much familiar with Oracle DB but from the networking view I can sense that this might be due to exceeding idle timeout limit.
This means that if you have a period of inactivity on your tcp or http sessions for more than the timeout value, there is no guarantee to have the connection maintained between the client and your service. When the connection is closed, your client application will get an error message like “The underlying connection was closed.
Note: IdleTimeoutInMinutes is optional. If not set, the default timeout is 4 minutes. Its value can now be set between 4 and 30 minutes.
Configure TCP timeout for your Instance-Level Public IP to 15 minutes.
Set-AzurePublicIP –PublicIPName webip –VM MyVM -IdleTimeoutInMinutes 15
Set Idle Timeout when creating an Azure endpoint on a Virtual Machine
Get-AzureVM -ServiceName "mySvc" -Name "MyVM1" | Add-AzureEndpoint -Name "HttpIn" -Protocol "tcp" -PublicPort 80 -LocalPort 8080 -IdleTimeoutInMinutes 15| Update-AzureVM
Do click on "Accept Answer" and "Upvote" on the post that helps you, this can be beneficial to other community members.