Transaction T1 reads a set of data items satisfying some <search condition>. Transaction T2 then creates data items that satisfy T1 ’s <search condition> and commits. If T1 then repeats its read with the same <search condition>, it gets a set of data items different from the first read.
r1[P]…w2[y in P]…c2…r1[P]…c1
💡Serializable isolation level in Oracle is actually a “Snapshot Isolation”