Preheat oven to 350° F. Butter and flour one standard 10-inch Bundt pan. Set aside.
In a mixer fitted with the paddle attachment, cream the butter and sugars on medium-high for 4 minutes. Change to medium speed and drizzle the oil into the bowl. Once incorporated, turn the mixer back to medium-high for another 2 minutes.
Add eggs one at a time, briefly mixing the batter on medium-low until smooth and scraping the bowl after adding each egg. Add vanilla, and briefly mix until combined.
In a separate bowl, sift the flour, baking powder, baking soda, salt, and cinnamon. Spoon and level the flours to get an accurate measurement.
With the mixer on low speed, add a third of the flour mixture to the mixing bowl. Immediately follow with half the buttermilk, then another third of the flour mixture, and the second half of the buttermilk. Finish with the remaining flour mixture. Keep the mixer on low speed so the flour and buttermilk do not splash out of the bowl. Scrape the bowl, making sure any dry ingredients trapped at the bottom are incorporated.
Add the shredded carrots, chopped nuts, and shredded coconut, and mix briefly until these ingredients are evenly distributed in the batter.
Pour the batter evenly into the prepared Bundt pan and place in the oven. Start assessing the cake at 40 minutes. It may take longer than 40 minutes, so watch closely. If the cake is jiggly, it is not done and needs a few more minutes. When a long skewer, knife, or toothpick inserted comes out clean, the cake is done.
Cool the cake for 10 minutes before turning it out. Place cake on wire rack to finish cooling.