Desde (http://www.php .net/manual/en/function.oci-bind-by-name.php#92334 ) :
A veces aparece el error "ORA-01461:puede vincular un valor LARGO solo para insertarlo en una columna LARGA". Este error es muy engañoso, especialmente cuando no tiene columnas LARGAS o valores LARGO.
Según mis pruebas, parece que este error puede deberse a que el valor de una variable vinculada supera la longitud asignada.
Para evitar este error, asegúrese de especificar longitudes al vincular varchars, p.
<?php
oci_bind_by_name($stmt,':string',$string, 256);
?>
Y para valores numéricos, use la longitud predeterminada (-1) pero dígale a Oracle que es un número entero, p.
<?php
oci_bind_by_name($stmt,':num',$num, -1, SQLT_INT);
?>