AFAIK ROWID en Oracle representa la ubicación física de un registro en el archivo de datos apropiado. ¿En qué casos ROWID de un registro puede cambiar?¿Qué puede hacer que cambie Oracle ROWID?
El que yo conozco está ACTUALIZADO en la tabla particionada que "mueve" el registro a otra partición.
¿Hay algún otro caso? La mayoría de nuestros DBs son Oracle 10.
Además, UPDATEing (un valor NULL anterior, por ejemplo) puede hacer que la fila sea lo suficientemente grande para que ya no pueda acomodarse en su página actual. En una aplicación donde se producen grandes cantidades de ACTUALIZACIONES, esto probablemente sea bastante común. –
Mike, eso llevaría al encadenamiento de filas. El valor ROWID aparente de la fila no cambia, pero en el registro se obtiene un puntero a otro bloque donde se coloca el registro completo. –
Sería una migración de fila, que ocurre cuando la fila crece demasiado para el bloque actual pero es lo suficientemente grande para estar contenida en un solo bloque. El encadenamiento ocurre cuando la fila es demasiado grande para un solo bloque. Pero tiene razón en que un puntero a una fila migrada queda en el bloque original. –