I had this behavior due to connection problems with the db.
In my case the connection was through site to site vpn and the firewall dropped the connection after half hour of idle time (could be less depending on the timeout configured in the firewall). The dropping of the connection was done without notifying the end points - PLSD and oracle.
PLSD was sure it was connected and when trying to execute I got this long Initialize after which PLSD reconnected and run the query.
Extending the timeout period in the firewall solved the problem.
If you try to run the query immediately after it run without idle time and still not succeeding then it's probably not your case.