This was probably mentioned... I eliminate 90% of odors by pouring Clorox down the drains, showers primarily. Stop peeing in the shower second look is the holding tank vent filter. replace annually Give those old head system hoses a sniff. they turn tan when they are overdue for replacement.
I've had two "odor incidents" since I've owned my boat. Number one was caused by a clogged vent in the waste tank. Pressure built in the tank until the sewer gas was forced past the joker valve and exited through the water in the toilet. A properly functioning vent allows the system to work properly, during both flushing and pump out, and by introducing oxygen to the tank, it prevents the tank from going septic. Number two was caused when I inadvertently shut off the shower sump pump, which also pumps the a/c condensate overboard. The condensate drained into the bilge and became funky, to say the least. I remedied that situation by pouring a weak bleach solution in the bilge, letting it sit for a week, then pumping and vacuuming the bilge dry. My funky bilge problem produced an odor similar to your description. It was somewhere between diesel fuel and used motor oil, though not as strong as diesel fuel.
Another vote for an ozone generator AFTER you fix the source. Never had the need for one in my boat but it's basically standard procedure with neighbor who flips boats, to run one over night in just about every cabin boat he takes in. Only time I used his was after "theft" of a ground floor rental unit that owner was disgusted with due to musty smell. Water proofed all around the exterior ground level wall, 24 hours with the ozone generator, followed by a good airing out with fan only running and the smell never returned from over 6 years ago.
Funny, nobody has mentioned the power of plain/cheap white vinegar. When the holding tank vent is fixed, stained black water hoses replaced, shower/AC sumps are cleaned, kat litter box is freshened and the sanitation hoses do pass the wipe test; please consider this. 20 years ago when we picked up our Bertram, everywhere, everything, everyplace, stank. We purchased extra vac hose for a large shop vac. It could not come inside when we started cleaning this mess. After removing dead rat carcasses, self propelled oil-sorb sox & towels, old laundry, carpet, groceries;; the whole boat was sprayed in & out with gallons of white vinegar. Instant success. Not rosy, but killed the pew. Vinegar also killed the the discovered mold and the last of the not so rosy, was gone. We moved on shortly there after, amid ode-de-deisel while fixing the engines. If it is just a stinky bilge, Get a 2 gallon pump up sprayer and cover every bilge surface you can reach un-cut vinegar..
I would highly recommend Noflex for holding tanks. I used it for years and it was so much better than any of the other green or blue chemical products. Odor issues disappeared and sludge buildup was greatly reduced. Very good product.
Ah yea, Our Bertie was an abandoned mess. Shrubs growing out of the after seat cushions. Poor girl called out to us. We answered.
I had similar issue when I got the Ole Viking. Changed all sanitation hoses, and new vent. No joy. For me it turned out to be the bilge water. There was some kind of smelly black "growth" in it. After several cycles of Wet Vac to dry and adding a bleach water solution and letting sit for a few days I don't have any odors for a year now. I am going to add an Arid Bilge or similar device, but I haven't gotten around to it yet with the many other boat projects still on the list.