Portuguesa Born in
São Paulo, Oliveira joined
Corinthians' youth setup in 1997. After being released by the club in 1999, he moved to
Portuguesa, being promoted to the first team in the following year. Oliveira made his professional debut on 24 September 2000, coming on as a second-half
substitute and scoring the game's only in a
Copa João Havelange home win against
Sport Club do Recife. He scored 23 goals over the course of three seasons in the
Série A and, in March 2001, equalled a club record by netting in seven consecutive matches.
Santos In early 2003, Oliveira moved to
Santos, although this was disputed in a sports court. He scored in the group and knockout stages of the
2003 Copa Libertadores, and he appeared in both legs of the final, although his team lost to
Boca Juniors.
Valencia On 31 July 2003, Oliveira moved to Spain and joined
Valencia CF, signing a five-year contract with Santos retaining part-ownership. Under the guidance of
Rafael Benítez he scored eight
La Liga goals in 21 games, including a fantastic long-range effort at
FC Barcelona in a 1–0 win in October, netting a
hat-trick the following month at
RCD Mallorca (5–0 victory). The
Che were eventually
crowned national champions, adding
that season's
UEFA Cup.
Betis After one season, Oliveira joined
Real Betis for a reported fee of
€4 million. He scored a career-best 22 league goals in 37 appearances as the club
reached the
UEFA Champions League for the first time ever after finishing fourth, and also
won the season's
Copa del Rey against
CA Osasuna, with the player netting the first in a 2–1
extra time win. Oliveira scored his first official Champions League goal on 28 September 2005 at
R.S.C. Anderlecht, following a brace – including a solo effort – against
AS Monaco in the third qualifying round. Due to
knee ligament damage sustained against
Chelsea on 1 November 2005, he only played nine times in
the league, although he netted four times. Oliveira moved on loan to
São Paulo in early 2006, in a bid to gain a place in
Brazil's
2006 World Cup squad – prolonged recovery time meant he never made it but he did continue to compete for the club in all the fronts until 10 August 2006. Previously, in August 2005, he had threatened with leaving the
Verdiblancos over economic issues. Oliveira returned to Betis on 21 August following his loan spell, nine days later than he was requested, which caused controversy among the club's board of directors. The delay was caused by an unplanned schedule change made by
CONMEBOL, which postponed the Libertadores final match in one week, and his contract was due on the day after the previous final match date; he wanted to play on the decisive match and tried to reach an agreement with the
Andalusians, even with a special allowance from
FIFA, but the Spanish team would not cooperate and he was not able to take part in the game.
AC Milan in 2007 The
Serie A giants had just lost
Andriy Shevchenko after the
2006 Italian football scandal, and signed Oliveira as his replacement on 31 August 2006, to a five-year deal.
Johann Vogel moved in the opposite position as part of the deal after the two clubs negotiated nearly a week over the transfer fee, which reportedly reached €17.5 million. Oliveira made his debut in the second half of the
2006–07 opening-day match against
S.S. Lazio, heading past
Angelo Peruzzi from the goalline in a 2–1 home win. He scored twice more after that for the
Rossoneri in the league, adding two more in
their run in the
Coppa Italia; he spent most of the season under the stress of the October 2006 kidnapping of his sister, Maria Lourdes, who was released unharmed on 12 March 2007.
Zaragoza On 14 July 2007, Oliveira moved back to Spain and joined
Real Zaragoza on loan, forming an impressive striker partnership with Argentine
Diego Milito as the two scored 33 of the side's 50 goals during
the campaign, which nonetheless ended in relegation. The
Aragonese would have an option to purchase him for an agreed price when the loan period finished. On 25 May 2008, Zaragoza bought Oliveira from Milan for a reported €10 million.
Betis return In late January 2009 Oliveira re-joined Betis on a fee of €8.9 million with commission, signing until June 2013. He scored in the 83rd minute of his very first appearance, netting the second goal in the
derby against
Sevilla FC on 7 February, a 2–1 win at the
Ramón Sánchez Pizjuán Stadium. Betis would be
eventually relegated, as both Oliveira (who struck in the last match, a 1–1 home draw with
Real Valladolid) and former Zaragoza teammate
Sergio García met the same fate for the second consecutive year.
Al-Jazira In mid-July 2009 Oliveira, already immersed in pre-season with Betis, left for
Al Jazira Club in a lucrative deal of about €14 million. In January of the following year, he returned to his country and São Paulo on loan. In Al Jazira's opening match of the
2012 AFC Champions League, Oliveira scored his side's last goal in a 4–2 defeat of
FC Nasaf on 7 March 2012, netting three against the same opponent on 2 May (4–1 victory). Two weeks later, he scored all of his team's goals against
Al-Rayyan SC in a 4–3 win at the
Ahmed Bin Ali Stadium in
Doha. In the competition's
round of 16 clash against
Al-Ahli, Oliveira netted twice in a 3–3 draw, but missed his
shootout attempt to see his team be eliminated 2–4. In late January 2014, following the arrivals of
Felipe Caicedo and
Jucilei, he was released.
Return to Santos On 12 January 2015, Oliveira returned to Santos after agreeing to a five-month deal. He played his first match after his return on 1 February, coming on as a second-half substitute for
Geuvânio in a 3–0 home win over
Ituano. On 1 May 2015, after being the club's top goalscorer in
that year's
Campeonato Paulista – also being elected the best player of the competition – Oliveira extended his contract until December 2017. In
the subsequent Brasileirão, he also scored braces against his former club São Paulo (2–3 away defeat) and
Chapecoense (3–1 home win), again leading the charts with 20 goals. Oliveira scored the decisive goal in
2016 Campeonato Paulista final against
Audax on 8 May. He later revealed playing the match with a knee injury, which subsequently kept him sidelined for two months. On 27 July, he netted a hat-trick in a
3–0 home win over
Gama for the
Copa do Brasil. After a
2017 campaign marked by injuries, Oliveira still managed to score nine times in the league as his side finished third. On 20 December, after failing to agree new terms, he left the club.
Atlético Mineiro A day after announcing his departure from Santos, 37-year-old Oliveira agreed to a two-year deal with fellow league team
Atlético Mineiro. In September 2020, he officially left the club after alleging unpaid wages and leaving back in June.
Coritiba On 29 September 2020, aged 40, Oliveira was announced at
Coritiba still in the top tier. On 28 May 2021, after spending three months without playing, he left the club.
Later career On 24 January 2022, Oliveira was announced at
São Caetano, but left the club ten days later after having disagreements with the club's board when signing his contract. On 5 February, he signed for
Athletic-MG. Oliveira left Athletic on 5 April 2022, after helping the club to win the
Campeonato Mineiro do Interior title. He stayed without a club for the remainder of the year, before being announced at
Brasília on 2 January 2023. Oliveira departed Brasília on 15 March 2023, after just seven matches. He announced his retirement from professional football on 28 July, during an interview to portal
ge. ==International career==