Previous | Table of Contents | Next |
Here is a list of the common parameters that you will find in your initialization files for Oracle databases. The other parameters are used in special circumstances, but these are the ones that you will see in almost every initialization file:
Recall that Oracle really wants to help you out when a problem occurs. Therefore, it takes a few CPU cycles in its utilities to write out a record of important events that occur to a set of log files. The log file that records major events in the RDBMS itself is the alert log file. As always, the exact name and location of this file is a little more complicated than just alert_log. The actual file contains the name of the instance with which the events are associated. For our near-famous blue Oracle instance, the alert log file would be called alert_blue.log. The next logical question is what exactly gets placed in the alert log:
The trace files are produced by the Oracle background processes when they sense that they have a major problem or when one of the processes detects that another background process is in trouble or missing. The content of the message varies depending on how much information the process writing the message can sense. It usually contains the date and time of the problem, with which background processes the problems occurred, numbered Oracle error messages that you can use to discuss the problem with Oracle, and some explanatory text. If you have a problem with Oracle, save these messages until after you have determined the exact cause of the problem and have a fix for it. Some versions of Oracle write trace files every time you start. This does not indicate errors; its just logging a successful start.
One common Oracle feature that does not store its logging information in the alert log file is the SQL*Net or Net8 process. Instead, you will find a log file under the appropriate SQL*Net directory related to the protocol you are using for your system (TCP/IP, for example). This makes some sense in that alert logs are tied to a specific instance, but a single SQL*Net process can service multiple instances.
Now that you are enthusiastic about the wealth of information that is available to you in the log and trace files, you probably cant wait to learn where to find them. The answer is that the location where these log files are kept is a parameter specified in your initialization files (specifically the config.ora for the instance in question). That parameter is called BACKGROUND_DUMP_DEST (the destination for the dump files of the Oracle background processes, which is typically ORACLE_BASE/admin/instance_name/bdump).
One final topic to consider is cleaning up after yourself. The log files just keep growing and growing as more events are recorded. The trace files sit out there until you do something with them, eating up more and more disk space. Therefore, it is a good idea to implement housekeeping procedures wherein you regularly clear out the log, core, and trace files. My favorite option is to set up a script that automatically copies the alert and SQL*Net log files to files that have the date that they created as part of their name (for example, alert_blue.log.013095). Then purge all the trace and log files in the appropriate directories that are over 30 days old. The system stays clean and you never have to scan through a 1MB log file to look for data on a problem that you encounter.
Previous | Table of Contents | Next |