I'm having two oracle databases. A is used for production, B is some kind of staging instance where people are preparing content that is brought to the production system over night. It is a fully working structural clone of A that will also give you a preview of the upcoming next release. While the overnight synchronization is completely automatized (by scripts), structural changes are first applied to B and are two days later applied to A. This depends on manual operations and is build up on sql and sh scripts.
I'm wondering if there are features that lead to better maintainability and can be utilized for manually triggered synchronization. What would be the a modern approach automatizing structural database changes brought from B to A with Oracle Database 11g?
Please excuse this vague question. Since I'm not experienced in this topic I'm looking more for a starting point on what to read than a full solution to my problem.