Puede ejecutar show errors; para ver qué son los errores de compilación.
El tipo de datos del parámetro debe especificarse sin longitud. Además, use varchar2 en lugar de varchar .
Desde sitio de Oracle :
Prueba esto:
CREATE OR REPLACE FUNCTION count_emp(e_name varchar2) -- here
RETURN integer IS
total integer;
BEGIN
SELECT count(*) into total
FROM DEPARTMENTS
where ENAME = e_name;
RETURN total;
END;
/