Det finns inget fast nummer. Se "Logical Database Limits":http://docs. oracle.com/cd/B19306_01/server.102/b14237/limits003.htm
"Gränsen för hur lång en SQL-sats kan vara beror på många faktorer, inklusive databaskonfiguration, diskutrymme och minne".
Du kan också påverkas av andra gränser, till exempel de maximala nivåerna för underfrågor.
Med tanke på att den maximala längden på PL/SQL-procedurer anges som 2000-3000 rader, är min känsla att du kan stöta på problem med en 3M byte-fråga. Jag tror också att om det överhuvudtaget fungerar så blir parsetiden "intressant".