Oracle Community Network
When the Oracle Database Listener service is configured after DB installation, does it bind or depend on the private IP address only? Would it work or start as a service with the public IP address configured to it. For Cloud instances, the private IP keeps changing & due to this, the listener service does not start with new changed IP addresses.
You just need to configure Oracle Listener with hostname, in case your dns server resolves ip addresses correctly you should have no problem accessing Oracle with hostname.
As for public ip address access, after configuring Oracle with hostname your network's router should be configured to forward a port to Oracle Listener hostname:port. Then you will be able to access Oracle publicly. Of course firewall configuration should be done accordingly.