Il provider ODP.Net di Oracle utilizza il bind per posizione come predefinito. Per modificare il comportamento per associare per nome. Imposta la proprietà BindByName su true. Quindi puoi ignorare la doppia definizione dei parametri.
using(OracleCommand cmd = con.CreateCommand()) {
...
cmd.BindByName = true;
...
}