I need to do some changes to existing, production database (XE 11g). I'd like to copy/clone/duplicate this database so I can make changes and testing without disturbing other users.
As I see Oracle doesn't support multiple databases on one server. Is there any other way to do it in oracle ?
Sure - just export the DB and import it into an XE installation on your laptop or other machine.
As you said you can't make the copy on the same server so use a different one.
.. Is there any other way to do it in oracle ?
The XE one host/one database limitation does present some challenges when trying to accomplish that goal, one possibility would be to use a different XE install target and get a clone of the source instance up and running at the new XE host.
The specific steps depend on how your backups are done, and whether or not the source instance is running in archivelog mode. For noarchivelog mode, the source database has to be shutdown. Grab a copy of just the datafiles and copy them to the clone target. As soon as the files are copied the source instance can be started for the back to normal operation.
If the source instance is in archivelog mode, a hot backup avoids the downtime, only trick is the archivelogs created during the hot backup, plus a couple archive files after taking the instance out of backup mode will also be needed at the restore target.
Its not to hard, well, not after its done a few times. Validating backups is a good exercise as well- few things are worse than spending time doing backups that aren't usable for a restore source. Maybe worse than no backups at all.