MM
é por mês. Usar MI
por minutos. Você tem
HH:MM:SS
toda vez que os minutos forem maiores que 12, o erro será acionado, pois você está dizendo ao Oracle para interpretá-los como meses.
Você também está usando HH sem am/pm (no seu exemplo você acabou de usar
12
). Se você estiver usando um formato 24, use HH24
DD/MM/YYYY HH24:MI:SS
ou se você quiser o formato de 12 horas
DD/MM/YYYY HH:MI:SSAM
e depois
02/01/2013 07:42:00am
Editar
Você está inserindo a data com o formato padrão que é MM/DD/AAAA (padrão americano):25 não é um mês válido. Você pode usar o
TO_DATE
função 'TO_DATE(' . $array['data'] . ', DD/MM/YYYY HH24:MI:SS)'