A bill restricting oil tankers in British Columbia's northern waters has narrowly passed the Senate.

Bill C-48 bans tankers carrying more than 12,500 metric tonnes of oil from docking along B.C.'s north coast, an area that stretches from the northern tip of Vancouver Island to the Alaska border.

It passed in a close 49-to-46 vote Thursday evening.

A formal Royal Assent ceremony will be held in the Senate on tomorrow afternoon to bring into force 20 Government bills on a range of policies. <a href="https://twitter.com/hashtag/SenCA?src=hash&ref_src=twsrc%5Etfw">#SenCA</a> <a href="https://twitter.com/hashtag/cdnpoli?src=hash&ref_src=twsrc%5Etfw">#cdnpoli</a> <a href="https://t.co/59LgjvJKZL">https://t.co/59LgjvJKZL</a> —@SenHarder

The bill has previously been supported by both the Coastal First Nations ⁠— an alliance of First Nations on the province's north and central coasts, as well as on the archipelago of Haida Gwaii ⁠— and environmentalists, who say it will help keep the coast safe from oil spills.

But it's also faced criticism from the oil industry, First Nations and leaders in Alberta, who worry it could critically harm Canada's oil exports.

In 1972, the federal government moved to ban tanker traffic from the northern tip of Vancouver Island to the Alaska border but there was no legislation to formalize it.

Senators also passed Bill C-69, which revamps the federal environmental assessment process for major construction projects, by a vote of 57-37.

Both will now proceed to a formal Royal Assent ceremony — set to be held on Friday afternoon — to become law.