> Hi,
>
> Lately, we have an application that caused multiple page locks on
> the iiprotect system table.
>
> Does anyone know (in 20 words or less), when and why ingres
> locks iiprotect ?
> Knowing this would help debug the app.
>
> Thanks
>
> Andre
Hi Andre,
Locks on iiprotect are taken when grants are being issued/revoked/updated.
Furthermore, everytime you run a query the system must work out whether or
not you have the right to access the tables/views in question. It has to
go to iiprotect to do this. ie readlocks.
iiprotect is a hash with a non unique key. Extensive overflow may easily
occur depending on the extent of grants in your database. This can be an
issue if you often hand out extra grants (often associated with table
loading scripts prepared by copydb or unloaddb). The exclusive locks
required to install the grant then lock the overflow chain as well and may
cause havoc with lock contention.
You may find that a sysmod could help clean up the table and reduce the
problem. On the otherhand, I have a case where a database has been
designed with each table having extensive grants to the vast numer of
usergroups that exist. No matter how much I have pleaded with the
designers of that database I can't shake their belief this is a sensible
option. So every now and then they reload their test database and reapply
the grants. System response gets very ordinary while that's occuring!!
Martin Bowes
Ingres Q & A
Back to William's Home Page
© William Yuan 2000
Email William