You're approaching this the wrong way. The oxygen sensors aren't even in the picture until they reach 600 degrees, which takes a few minutes at least. Even then, they don't have enough effect on engine performance to notice. It sounds like you have a simple misfire problem that is resulting in too much unburned fuel in the exhaust system for the oxygen sensors to cope with. Based on the best readings they can provide, the Engine Computer can't make enough adjustments, so it sets an appropriate fault code.
The first step is you have to know the exact fault code number. There are dozens of O2 codes that can be set, and they mean very different things. Also, no fault code ever says to replace a part or that one is bad. When a sensor or other part is referenced in a fault code, it is actually the cause of that code about half of the time. First we have to rule out wiring and connector terminal problems, and mechanical problems associated with that part.
Start by looking at the spark plugs and wires. You need to solve the rough running before you go looking for other things to replace. Once the engine is running properly, it is all the other sensors that provide information to the Engine Computer, then, based on that, the computer calculates how much fuel to inject. Once the coolant reaches a certain temperature, the computer adds the readings from the oxygen sensors to the equation, but those O2 readings only fine-tune the fuel / air mixture for best fuel mileage and lowest emissions. Even a defective O2 sensor is unlikely to cause a severe running problem.
One oxygen sensor is first in line to see the exhaust gas coming out of the engine. That is where any unburned oxygen is detected. The computer switches the fuel / air mixture between slightly too rich to slightly too lean about two times per second, then it expects to see corresponding changes in what is detected by those front O2 sensors. Over time the mixture averages out to be perfect for lowest emissions and best engine performance.
Four-cylinder engines will have one front oxygen sensor. Most V-type engines will have one on each side, or "bank". With those, the computer controls the mixture on each side independently. The rear oxygen sensors will be near the back of the catalytic converter, or a little ways beyond that point. These could be the same part number as the front sensors, but most of the time they're different because they perform a different function. While the front sensor(s) switch between rich and lean two times per second, if the catalytic converter is doing its job, the cleaned-up exhaust coming out of it changes very little between too rich and too lean. The rear sensor's "switching rate" might be once every minute or two. That is what the computer is looking at to determine if the converter is working.
When the catalytic converter loses its efficiency or the catalyst becomes contaminated, no change takes place in the composition of the exhaust gas as it goes through it. Since the gas coming out is the same as the dirty gas going in, the front and rear oxygen sensors detect the same thing, so their switching rates are the same. The worse the condition gets, the faster the rear sensor switches between rich and lean. When the rear switching rate reaches a predetermined time period, the computer interprets that as the converter has lost its efficiency, and it sets a diagnostic fault code related to that.
Too often people find that fault code, and they blame the sensor, but in fact, it takes a properly-working oxygen sensor to be able to report that defective condition. That's why there are so many fault codes related to oxygen sensors. To see why there's so many, look half way down the list on this page:
then, to add to the confusion, look at the list on these pages:
There's many dozens more oxygen sensor codes splattered around on other pages, many of which I've never run into, and I have a suspicion no one knows what they mean, but in this entire list you won't find a single code that says to replace a part. They only direct you to the circuit or system that needs further diagnosis, or the unacceptable operating condition.
Note that there are also P0300 codes that will list exactly which cylinders are misfiring. This capability is on all 1996 and newer cars. Logic would dictate that your computer should be setting fault codes related to misfires, meaning the rough running, but part of the strategy is to not confuse the diagnosis any more than it already is. When a fuel calculation problem already exists, showing you a fault code for which cylinders are misfiring isn't going to be of value because it isn't the individual cylinder that needs attention, (spark plug, injector, valve, etc). Once a defective condition is detected, setting that fault code stops the computer from running many of the tests it performs while you're driving. In this case, the computer expects to see rough running due to some other problem, so there is no point in setting fault codes that say the engine is running rough. If it were to set a code for, say, "cylinder number three misfire", you could be tricked into spending all your time on that cylinder and never look in the right place for the problem.
Based on the little we actually know so far, your best bet is to start with basic tune-up items, especially since the problem appeared so suddenly. At the mileage you listed, you should just be putting in your second set of replacement spark plugs and wires. Next on the list of suspects would be an ignition coil. Your engine uses three of them; each one fires two spark plugs, so a defective coil will kill one third of your engine.
GM has also had a real lot of trouble with their injectors in high-mileage engines, but not that they cause rough running, so don't suspect them yet. They are more responsible for misfire fault codes when you can't even feel those misfires.
Please keep me up to date on your progress, then we can figure out where to go next.
Monday, October 21st, 2019 AT 11:25 PM