The deal also includes a $4.5 million team option for 2019 and performance incentives in both seasons, according to the reports.
The news was first reported by The Athletic.
Oh, 35, who earned the nickname "The Final Boss" in South Korea, saved 39 games in two seasons with the Cardinals.
He finished sixth in National League Rookie of the Year voting in 2016 when he went 6-3 with 19 saves and a 1.92 ERA in 79 2/3 innings but struggled last season, finishing 1-6 with 20 saves and a 4.10 ERA in 59⅓ innings. He has blown four save opportunities in each of his two seasons.
The Rangers' bullpen blew 21 save opportunities last season. Alex Claudio finished the season as the team's closer, converting 11 of 15 save chances. Matt Bush also saw time as the team's closer, converting 10 of 15 save chances.