ODP.Net-udbyderen fra oracle bruger bind by position som standard. At ændre adfærden til at binde ved navn. Indstil egenskaben BindByName til sand. Så kan du afvise den dobbelte definition af parametre.
using(OracleCommand cmd = con.CreateCommand()) {
...
cmd.BindByName = true;
...
}