7.2. Organizing Accounts to Improve Security

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.

Figure 7-2. Software "migrates" from development to production

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 ...

Get Learning Oracle PL/SQL now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.