If you're the sole developer of a small- to medium-sized application, it's likely that you will build all the tables and stored procedures under your own Oracle account. This makes your life easier—for example, it's less likely that you'll be waiting for somebody else to make changes to database objects. Plus, the guy in the next cube won't accidentally delete your stuff. But development is only part of a bigger picture that can get much more complicated.
Programs eventually move out of development and into production—that is, they graduate to their "live" phase with real users. Production databases are almost always separate from development databases and frequently are even on different machines, as Figure 7-2 illustrates.
Over in the production environment (and sometimes even in the development environment for larger applications) the DBA may separate tables and stored procedures in different Oracle accounts. For example, the DBA of the library application might want to organize things as follows:
|Oracle account name||Purpose|
|cattab||Owns the database tables and indexes in the electronic catalog|
|catproc||Owns PL/SQL objects such as packages, procedures, and functions that are unique to the electronic catalog system|
|utilproc||Owns general-purpose PL/SQL objects ...|