They disabled my account without any notice, I tried to login to see why my VM wasn't responding and found they'd deactivated Oracle cloud services. It's also difficult to get in touch with support as there's multiple different portals and with the cloud services disabled I struggled to find a way to raise a relevant ticket. When they eventually responded they gave some generic BS about their ToS.
My suggestion for anyone using Oracle free tier is stay on it if you want, but be prepared for the eventuality that they shut everything down without notice or access to your data.
Yes, oracle will reclaim your server if it falls under certain thresholds for the resources you've signed up for. So it might be better to request less resources then you need but this will somewhat complicate things if you want more resources in the future since iirc you can't simply resize.
One way to get around all of this though is convert to pay as you go (PAYG). PAYG gets the same always free allocations and you only pay for use above that, and oracle won't reclaim PAYG (at least not my server for ~4 years). Just set up a budget of a $1 and then alerts to email you if you reach 1% of your budget. If you somehow go over your free resources it'll tell you.
Lastly in some cases oracle just straight up loses your data or disables your account. As always practice 3-2-1 backups (don't rely on the free rotating backups on their servers as your only backup).
It's some hoops to jump through but i was paying $5/ month for a digital ocean droplet and the oracle server has been running for 4 years now, and i also have scaled up one project and started a few others that wouldn't have all fit on my droplet. Other than the threat of reclaiming my resources before i switched to PAYG I've been pretty happy with it.
Yeah I switched to PAYG to lessen the chance of that happening. So far I've managed to not accidentally spend $5000 in some dumb way, so it's basically equivalent to the free tier.
You can sign up here, and it comes with 200GB of storage and 10TB of monthly bandwidth. And apparently a $300 credit, that wasn't around when I signed up.
They probably get you in bandwidth fees over X amount. It would cost pennies for a small scale virtual server with big numbers as the hardware is shared, it would spend most of the time not doing anything. They could set up a machine and oversell a tier like that and make it all back with profit on their first bill.
I bet they run these free accounts on their test infrastructure, not production. What they get from it is real-world user testing of changes to their infrastructure, similar to how Microsoft uses its Windows Home versions for testing new updates.