Hi, I’m Chris. Welcome and thanks for asking your question!
Only 5% of the time is this faulty O2 sensors. This is actually the sensors job to tell the computer and you of a concern. Your vehicle uses a MAF sensor which knows exactly how much oxygen came into the engine. It also used O2 sensors to see how much oxygen is left over after the firing cycle inside the engine. The computer knows what to expect and when there is a difference outside of the specs it flags a code like you got. The most common 2 possible faults are low fuel pressure from a clogged filter or weak pump or vacuum leaks at the intake gaskets or the vacuum and PCV hoses. 80% of the time it is a PCV hose leaking near the passenger valve cover. The easiest way to find a leak is to idle the engine cold and spray short bursts of flammable carb cleaner around all the possible leak areas mentioned and when a leak is hit, the rpms will increase.
I myself do not work for Just Answer/Pearl. I am a certified tech and my background experience has been verified by this company so that I can answer questions here. I work for YOU, the customer. This is what I do to pay my bills, it is my job. I really do appreciate you coming here and asking a question. I also appreciate all the details you have provided. Do understand helping someone through a keyboard is tough. Also my skill level may not match yours and I may have described a task to do, thats beyond your abilities. In that case just reply. Please rate my answer with one of the higher 3 levels so I get credited for helping you. I would prefer not to get a lower rating which results in a negative on my record. Please rate my answer, not the website, or the bad news if there is bad news. If you need to reply for clarification, before or after rating please do so.