Canada will retaliate, specifically on products that come from Trump-backing states. They might also withhold crucial products, but that's less likely, given how it hurts Canadian provinces.
But no need to do anything about oil: Trump just put a 10% tariff on Canadian oil imports, which are important for refineries in the midwest apparently. So any gas station dependent on those can expect prices to start going up by about 75¢ per gallon, based on what I've read.
Exactly. For now, it will raise gas (as I said above) and electricity prices (for states dependent on imports from Ontario, Quebec, and BC), as well as the prices of house construction (significant amounts of lumber are imported from Canada) and anything aluminum.
If Trump persists with this long enough (as you say: years), production chains might really change. But I think it's more likely that Trump will face a huge reaction over this, due to higher prices in the US plus US businesses facing reduced imports to Canada. Canada will then announce even more measures on border control, and then Trump can pretend he's cancelling the tariffs because he achieved his goals.
In the meantime, businesses and individuals will have suffered financially on boyh sides of the border. It's a total lose-lose, and I suppose it's the same with Mexico.
You just have to hope Trump isn't too deluded or stubborn to cancel the tariffs. That would really suck.
Ultimately though, I think the long-term effect is that all of the US closest partners will start having doubts about these partnerships, and will look for other markets and friends. I just don't see how that benefits the US; but then it seems virtually no-one in the US agrees with Trump on these tariffs either...