Re: could not read block 77 of relation 1663/16385/388818775

From: John R Pierce <pierce(at)hogranch(dot)com>
To: Gregory Stark <stark(at)enterprisedb(dot)com>
Cc: pgsql-bugs(at)postgresql(dot)org
Subject: Re: could not read block 77 of relation 1663/16385/388818775
Date: 2008-11-26 10:06:24
Message-ID: 492D1FA0.8020202@hogranch.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

Gregory Stark wrote:
> John R Pierce <pierce(at)hogranch(dot)com> writes:
>
>
>> oracle has had an option for some time that uses read/only page protection for
>> each page of the shared buffer area... when oracle knows it wants to modify a
>> page, it un-protects it via a system call. this catches any wild writes
>> into the shared buffer area as a memory protection fault.
>>
>
> The problem with both of these approaches is that most bugs occur when the
> code *thinks* it's doing the right thing. A bug in the buffer management code
> which returns the wrong buffer or a real wild pointer dereference. I don't
> remember ever having either of those.
>
> That said, the second option seems pretty trivial to implement. I think the
> performance would be awful for a live database but for a read-only database it
> might make more sense.
>

FWIW, it has modest overhead on Oracle on Solaris on Sparc... EXCEPT on
the "Niagra" aka 'Coolthreads' CPUs (the T1 processor), on that it was
horribly slow on our write intensive transactional system. Our
environment is on very large scale servers where the shared buffers are
often 32 or 64GB, I suspect this increases our exposure to bizarro-world
writes.

believe me, especially in earlier Oracle releases (6, 7, 8), this
caught/prevented many problems which otherwise would have ended in a
Oracle fatal Block Corruption error, which would require many hours of
DBA hackery before the database could be restarted.

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Michael Meskes 2008-11-26 13:20:19 Re: BUG #4549: ecpg produces code that don't compile
Previous Message Gregory Stark 2008-11-26 09:38:24 Re: could not read block 77 of relation 1663/16385/388818775