[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference orarep::nomahs::rdb_60

Title:Oracle Rdb - Still a strategic database for DEC on Alpha AXP!
Notice:RDB_60 is archived, please use RDB_70..
Moderator:NOVA::SMITHISON
Created:Fri Mar 18 1994
Last Modified:Fri May 30 1997
Last Successful Update:Fri Jun 06 1997
Number of topics:5118
Total number of notes:28246

5079.0. "Rdb(UNIX) or HW IO problem?" by NLVMS3::ADRIEL () Wed Feb 26 1997 11:36

	Environment: Digital Unix V3.2C Rev. 148
                     Oracle Rdb V6.1-03
        	     Storage Works array 200 Firmware V2.36
		     Write through cache enabled
                     RAID 1 (shadowing) config.

	hi,

	following problem description is releated to topics in #4788 and
	#4956.

	(same)customer encounters once a week the following problem:

	3 processes involved. 
	One INSERT process which inserts a bunch of records every 8 hours
	(7:30,15:30 and 23:30)in table A. This process is 24 hours/day 
	attached to the database.
	One Validation process which copies the inserted data 20 minutes later
	to a second database. For records copied a column STATUS is updated
        from 'N' to 'V'

	There is a third process reading table A where STATUS = 'N'.
	After the insert the read process returns for example 60 rows.
	After validation this process returns 0 rows. OK because all 'N'
	changed to 'V'.
	This check is done again before the next insert run, still 0 rows
	returned.
	Then the next insert job starts, let say at 23:30.
	At 23:50 the inserted records are copied to the second database.
	At this moment an error is reported saying that some records are
	already copied.
	The read process returns 64 'N' records instead of 60 (newly inserted).

	This problem happens when the previous insert job inserted the last,
	for example, 4 records on page. The next insert job will continue 
	on that page. What seems to happen is:
	
	- either the insert process didn't read this last page from disk again
          othewise there won't be any 'old N value' or
	- the insert process reads 'old' data from a disk. This would mean
	  that the shadowset is not consistent because another process
	  got the committed data from disk.

	I am looking for a way to exclude one of both options.
        An idea would be to disconnect/attach the insert process after the
	insert run. This will initialize all memory structures.
	Before proposing this I was wondering whether it is possible to
	collect information about disk/page/buffers activities ?
	ANy logicals I can use ?

	Adri  
	  

	
T.RTitleUserPersonal
Name
DateLines