The Server Environment
Over the years, with the various releases, Oracle Corporation has done a very good job of streamlining the installation of Oracle Server and the building of Oracle databases. In fact, using the wizards—as you will see in later chapters—has made these functions much easier because you have good, clear instructions.
There are a few server concepts I want to cover. First is the data dictionary. Repeat, “The data dictionary is my friend.” This is where you will go time after time to find out the nitty-gritty information on tables, views, security, and so forth. In general, the data dictionary stores all the information for all the objects in the database. These objects include tables, indexes, views, PL/SQL stored procedures, constraints, and so forth.
Fortunately, there is a simple trick when you're looking for information. Almost all data dictionary views start with ALL, USERS, or DBA. For example, running the query SELECT * FROM ALL_CONSTRAINTS produces a list of every constraint for all tables in the database.
The second server concept is an index. This is a shortcut to information in a table. Think of the back of this book, where you quickly use the index to find what you need. If you specified an index for a column in a table, Oracle would maintain a separate table with that data. If you wanted to know all courses you took in which you earned a score over 90 percent, Oracle would use the index to quickly find those records instead of having to look at every course and grade for you.
The last server concept that I'll cover is just a little detail on server configurations. I include this information just to give you a mental picture of what we'll be doing very shortly when we build our database. If you built only one database on your Oracle Server, it would be seen as a single Oracle instance, with a single database. Alternatively, and this is the more common approach, you could have multiple databases on the same server—one for production, one for testing, and perhaps another one for development. This would be a configuration of multiple Oracle instances and multiple databases. For our purposes, we will have one production database and one test/development database, both on the same server.
There are other possible configurations, such as remote databases, clustering, and so forth, but they will not be covered in this book. Rather, I will take you through the steps necessary to get your own Oracle server/database system up and running as quickly as possible.