I've never had the intention to question whether must we maintain a master copy of table-create script for database until I have to in charge for it. When I was assigned the role as a DBA for the project I'm working on now, I intended to gather all the developers on the team and make the centralized control of database schema modification process known to everyone of them. But somehow I hesitated to do so, I decided to seek for professional advices before defining any procedure. Finally, I got this advice which I couldn't agree more from a DBA (a real DBA) at U.S. who's maintaining and administering a set of large scale databases:
Table definitions are stored in the database, so as long as you have a good backup of the database, no reason you really need to maintain table-create scripts
He told me this via IM and has unknowingly given me a big relief. Of course he also guided me with some useful built-in functions like
dbms_metadata.get_ddl to help me to achieve my goals.
Since then, I've decided to rely on what Oracle's already offering rather than performing the schema control manually by myself. So that I would have more time to do something more meaningful like performance tuning when necessary.