The Diamondbacks have agreed to a two-year, $4 million deal with free-agent infielder Melvin Mora, according to Ken Rosenthal of FOX Sports. Mora hit .285 with seven home runs and 45 RBI for Colorado in 2010.