We have installed Oracle in Redhat/CentOS 6.2/6.3 boxes and it was running fine till now.

But, when we updated python.x86_64 and python-libs.x86_64 to 2.6.6-29.el6_2.2. It broke YUM package manager because of the following reasons.

# YUM is written in Python which uses 'libexpat' for XML parsing.
# 'libexpat' is present in two locations
# /lib64/libexpat.so.1 - Latest version compatible with python 2.6.6-29.el6_2.2
# $ORACLE_HOME/client/lib/libexpat.so.1 - Older version incompatible with python 2.6.6-29.el6_2.2

The issue happens because we have set the LD_LIBRARY_PATH=${ORACLE_HOME}/lib:${LD_LIBRARY_PATH} and every module which uses libexpat takes the version present in $ORACLE_HOME.

Looking at the big picture, today it is YUM failing because of conflicting libraries, tomorrow it could be any other package/program which is completely unrelated.

Is there an updated version of Oracle Installer/RPM which fixes this issue? Because, ideally we would want the dependencies for RPM packages managed through YUM and Oracle installing its own libraries does not seem to the perfect solution.

YUM needs to be run as "root" and the ORACLE_HOME and LD_LIBRARY_PATH you described belong to the "oracle" account.

Are you perhaps running oracle as root (wrong), or installing software using the oracle account (wrong)? The accounts should have their own environment.

You can install additional versions of python and link whatever version to your process or oracle account, but you should not change the default version of the system, which as you saw, will break things.