BP is partially evacuating an oilfield in the North Sea because a barge has broken loose from its anchor and is drifting out of control in rough weather.