Infielder Mark Loretta and the Houston Astros agreed Thursday to a $2.5 million, one-year contract, a deal that allows him to make an additional $1 million in performance bonuses.