Poskytovatel ODP.Net z oracle používá vazbu podle pozice jako výchozí. Chcete-li změnit chování na vazbu podle názvu. Nastavte vlastnost BindByName na true. Poté můžete zrušit dvojí definici parametrů.
using(OracleCommand cmd = con.CreateCommand()) {
...
cmd.BindByName = true;
...
}