An on-line reorganization method of an object-oriented database with
physical references involves a novel fuzzy traversal of the database, or a
partition thereof, to identify the approximate parents of all migrating
objects. Where the entire database is traversed the process begins from
its persistent root. For traversals of a partition the process begins from
each object with a reference pointing to it from outside the partition. To
facilitate the identification of these inter-partitional objects an
External Reference Table ("ERT") is maintained. During the fuzzy traversal
all new inserted and deleted references are tracked in a Temporary
Reference Table ("TRT"). After the fuzzy traversal is completed, for each
migrating object, a lock is obtained on the identified approximate parents
and on all new parents in which references to the object were inserted, as
indicated by the TRT. Based on the information in the TRT, locks are
released on all approximate parents whose references to the object have
been deleted. The references to the migrating object in the remaining set
of locked parents are updated, the object is relocated and the locks are
released. Alternatively, each parent of a migrating object can be
individually locked, updated and released.