For critical OLTP applications system wide down time is absolutely no-no. Also handling the Software faults (Especially bugs in underdevelopment application), How to allow user to perform UAT while they are working on their routine operations? Common solution that almost every social web application uses, pilot releases and let only selected region of the user test the system. But can that be possible in database heavy operational systems? Such as Banking, Supply chain management, Income tax returns, accounting where database is heart of the business and let you not miss even single byte of data. Here is our small approach which we used for Supply chain management system and rolled out across all India seamlessly... This we did on Oracle database (And it can be extended to almost all the databases with littlie changes – with equivalent to Oracle schema concept). So here it is... 1. You have all the tables created in single set of schemas, which will hold only data tables...
Thinking Through Technology.... To design any system put your Business Standard and Technology together keeping them rightly disjoin....