Our company makes frequent releases of our web site, once in two months on an average. We have Oracle 9 + Weblogic 8.1 configuration. Currently, when we do a push of the production build, we shut down the whole web site, shut down database, and let our DBAs upgrade the database. It usually takes 2-4 hours for DBAs to finish their work, even though Weblogic can be restarted with a new build in 3 minutes.
The nature of our web site is both read and write in equal proportion. Each release usually involves the following DB changes: DDLs, DMLs, and Stored Procedure changes.
My question: are there any ways of minimizing downtime spent during database upgrade? Or, putting it slightly differently, how do big companies do production pushes without disabling their web sites for hours?
Any feedback is greatly appreciated.