Many developers run into triggers that dont see mutating ORA-04091 table owner.table_name errors in Oracle. Often, its caused by trigger code that looks at or manipulates data within the table from which the trigger is being called or invoked.
Read the full story at Database Journal.