7.2. Block Corruption Symptoms

The detection of block corruption involves using multiple diagnostic logs to identify that corruption has occurred. These methods include monitoring and reading the log files from the operating system, application, and database level. If audit functions are enabled at the operating system level, these audit logs can be reviewed as well.

System logs vary for each operating system:

  • In a Windows environment, the Event Viewer shows the contents of the system log. The Event Viewer is evoked by choosing Control Panel Administrative Tools Computer Management.



  • In a Unix environment, the SYSLOG file contains the system log events. This is a file located in /var/adm/syslog in many Unix environments.

Application logs can vary for each application that is installed. You need to read your application administrator's guide to determine the location of these logs. In most cases, these logs indicate that there is a problem with a process or procedure in the application. The application logs don't often give detailed information about block corruption, but they are a good starting point.

Database logs and trace file references are located in the ALERT.LOG file and the associated trace files in the UDUMP or BDUMP directories. The ALERT.LOG often indicates that there is a problem at a high level. Then a trace file is spawned off in the UDUMP or BDUMP directory, which provides detail about the ALERT.LOG entry. The trace files provide the most detail about the corruption problems.

The following is an example of a trace file created in the UDUMP directory:

Dump file c:oracleadminora101udumpora101_ora_2236.trc
Fri Nov 16 16:21:35 2004
ORACLE V10.1.0.2.0 - Production vsnsta=0

*** 2004.11.16.15.53.02.000

*** SESSION ID:(11.9) 2004.05.08.11.51.09.000
kdbchk: row locked by non-existent transaction
        table=0"   slot=0
        lockid=44"  ktbbhitc=l
Block header dump:  0x01800005
 Object id on Block? Y
 seg/obj: 0xb6d csc: 0x00.1cf5f itc: 1 fig: -
  typ: 1 - USERS
     fsl: 0 fnx: 0x0 ver: 0x01

 Itl            Xid               Uba         Flag   Lck        Scn/Fsc
0x01   xid:  0x0003.011.00000151  uba:
  0x008018fb.0645.0d --U-     4  fsc
0x0000.OOOlcf60


data_block_dump
===============
tsiz: 0x6b8
hsiz: 0x18
pbl: 0x38088044
bdba: 0x01800008
flag=-----------
ntab=l
nrow=5

As you can see, detecting block corruption is a detailed process of monitoring system, application, and database output. This can be a time-consuming process. If possible, monitoring of the ALERT.LOG file should be performed on a daily basis. Many times, you can use operating system capabilities to perform a string search for Oracle errors and send these to you automatically. In the next few sections, you will use Oracle utilities to detect block corruption. You will look for block corruption in a specific table, and you will learn how to bypass these corrupt blocks.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset