General Database Topics

RDBMS - Application or Infrastructure?

[OPINION] In conceptual terms, an Oracle database instance is better categorised as "infrastructure" or, possibly more accurately, "a platform" rather than an "application" due to the tight OS integration (for comparison, you wouldn't consider the Linux Logical Volume Manager an application, yet Oracle ASM does a very similar thing) and the way that a database provides a persistent datastore (much like a filesystem) for arbitrary application code that is deployed either inside the database as stored procedures, triggers, and functions, or on an external application server. "Oracle Database provides the most comprehensive platform with both application and data services to make development and deployment of enterprise applications simpler." (https://www.oracle.com/uk/database/technologies/application-development.html)

Dev/Test/Live

[OPINION] This can be misleading when talking about database environments. A database supporting developers should really be considered a "live" server, albeit with an expectation of lower out of hours availability requirements. An unplanned outage of a database supporting developers could have a huge impact if developers are working on a critical, time-sensitive release. We also should avoid running dev, test, and live on different software stacks for long periods. When we patch dev, then patch test, then patch live there is a window of opportunity where code promoted to live could have been developed and tested on a software stack with different versions to live. This is a risk. Whilst database and OS patching can generally be done in-line when properly co-ordinated, upgrades need to be done "out-of-band" as a project with full engagement from application vendors, developers, testers and support (e.g. database upgrades often require application upgrades).