Não só os gatilhos não precisam de um COMMIT que você não pode colocar:um gatilho não compilará se o código do corpo incluir um COMMIT (ou um rollback).
Isso ocorre porque os gatilhos são acionados durante uma transação. Quando o gatilho é acionado, a transação atual ainda não está concluída. À medida que o COMMIT encerra uma transação, permitindo-os em gatilhos, quebraria a unidade de trabalho.
Portanto, as alterações executadas em um gatilho são confirmadas (ou revertidas) pela transação proprietária que emitiu o DML que disparou o gatilho.
É verdade que os triggers podem rodar sob o PRAGMA AUTONOMOUS_TRANSACTION, nesse caso eles devem ter um COMMIT. Mas este é um caso extremo, pois há poucos usos significativos de transações aninhadas no Oracle.