(1) On my instance, the log mode is ARCHIVE but the log_archive_start
is
set to false. The log files weren't being archived. How
is the ARCHIVE
mode and the log_archive_start parameter related and how can the mode
be
ARCHIVE when it doesn't archive the log files automatically?
(2) Why on earth would anybody run in NOARCHIVEMODE and why is it the
default for the ORCL database? Doesn't this mean you have to
constantly
manually archive the log files yourself? Is there a way to tell
the log
files to overwrite themselves without needing to be archived?
1 Suppose you have three redo logs. If you are running in NOARCHIVELOG
as
soon as the third log has been filled, and a fourth file needs to be
created, it will overwrite the first online file, it will not backup
the
original file.
If you run in ARCHIVELOG and log_archive_start is false, the database
will
stop functioning.
In short, in NOARCHIVELOG the value of log_archive_start is irrelevant.
In
ARCHIVELOG mode you shoudl always have log_archive_start true or issue
ALTER
SYSTEM commands as soon as you need archiving to be done.
2 The only VALID reason is that you don't want creating the dictionary
to be
logged, you can easily repeat it.
There are many invalid reasons 'O, this is a development system, and
I can
afford to loose data, because there is a production system...' etc.
Don't
believe those people. As soon as something happens they start screaming
for
the DBA to recover the database and he can't because they wouldn't
let him
the database run in ARCHIVELOG mode.
In NOARCHIVELOG you can't manually archive the log files!
Hth,
Sybrand Bakker, Oracle DBA