Databases Reference
In-Depth Information
How It Works
Oracle will continue to operate as long as it can write to at least one member of a multiplexed redo log group. An error
message will be written to the alert.log file when the log writer is unable to write to a current online redo log file.
You should periodically inspect your alert.log file for Oracle errors. This may be the only way that you'll discover
a member of a group has experienced a media failure. We recommend that you run a periodic batch job that searches
the alert.log file for any errors and automatically notifies you when it finds potential problems.
Once you've identified the bad member of an online redo log group, then you can drop and re-create the online
redo log file. The newly created online redo log file may display an INVALID status in V$LOGFILE until it becomes
part of the CURRENT log group. Once the newly created member becomes part of the CURRENT log group, its status
should change to NULL. A NULL member status (as described in Table 14-4 ) indicates that the database is using the
online redo log file.
You can drop and add online redo log file members while your database is in either a mounted state or an open
state. We recommend that while dropping and re-creating log members, you have your database in a mounted state.
This will ensure that the status of the log group doesn't change while dropping and re-creating members. You cannot
drop an online redo log file member that is part of the CURRENT group.
When using the alter database drop logfile member command, you will not be allowed to drop the last
remaining online redo log file member from a redo log group. if you attempt to do this, Oracle will throw an Ora-00361
error stating that you cannot remove the last standing log member. if you need to drop all members of a log group, use
the alter database drop logfile group command.
Note
SearChING the aLert LOG FOr errOrS
here's a simple Bash shell script that determines the location of the alert.log and then searches the alert.log for
an error string. You can use something similar to automatically detect errors in the alert.log.
#!/bin/bash
export DBS="ENGDEV STAGE OTEST"
export MAILLIST="larry@support.com"
export BOX=`uname -a | awk '{print$2}'`
#-----------------------------------------------------------
for instance in $DBS
do
# call script to source oracle OS variables
. /etc/oraset $instance
crit_var=$(
sqlplus -s <<EOF
/ as sysdba
SET HEAD OFF TERM OFF FEED OFF VERIFY OFF
COL value FORM A80
select value from v\$diag_info where name='Diag Trace';
EOF)
if [ −r $crit_var/alert_$instance.log ]
then
grep -ic error $crit_var/alert_$instance.log
if [ $? = 0 ]
 
 
Search WWH ::




Custom Search