Jag är inte säker på om det är ett tillräckligt moget tillvägagångssätt för ett produktionssystem, men jag hade ganska stor framgång med att övervaka databastrafik med hjälp av en nätverkstrafiksniffer.
Skicka rådata mellan applikationen och databasen till en annan maskin och avkoda och analysera den där.
Jag använde PostgreSQL, och det var relativt enkelt att avkoda trafiken och förvandla den till en ström av databasoperationer som kunde loggas. Jag antar att det skulle fungera på vilken databas som helst där paketformatet är dokumenterat.
Huvudpoängen var att det inte belastade själva databasen extra.
Dessutom var det passiv övervakning, den registrerade all aktivitet, men kunde inte blockera några operationer, så det kanske inte var riktigt vad du letar efter.