How to organize a development environment using Oracle XE 11g? I started developing small applications using Oracle XE 10g/11g using APEX. They are intented to be run on desktop computers that acts as a server in small offices. Oracle XE is well suited for those scenarios.

The problem I am facing is in my developing environment where I am not sure how to set up. I have each different system organized as a set of schemas in Oracle XE and that is working fairly good. My problem is the following:

I need to make some serious customization to one of those systems for a new client, but I need to keep a copy of the system as it is right now (support/maintenance) because I have other clients which are using it. 

I would like some advice in how to organize this development environment because I'll be facing this problem more than once.

Thanks
Any serious development project involves source control and a deploy process - SCM (Software Configuration Management). Make sure you put all your database objects (table, index, packages etc..) under revision control. Put your APEX export-files under revision control. Tag them together with the ddl. This way you have a consistent point in time representation of your "system". Make use of the "continous integration" paradigm - build early - build often. Jenkins CI will be a good choice.

When all of this is in place, you branch off your "serious customization"!