Pennington, 28, played in 125 games last season for the A's. He had 93 appearances at shortstop but was shifted to second base in last August.
A switch hitter, Pennington hit just .215 last season, including .168 against left-handers, and had 28 RBIs.
At the time of the trade, Diamondbacks general manager Kevin Towers said he believes Pennington can be an everyday shortstop, plus fill in behind Aaron Hill at second base.
The agreement leaves only outfielder Gerardo Parra in arbitration with the Diamondbacks.
Information from The Associated Press was used in this report.