Es posible que tanto en OAS como en PHP no se muestren bien los caracteres especiales (me pasó con el símbolo del euro). La variable de entorno NLS_LANG tiene que estar configurada de la siguiente manera:
NLS_LANG=SPANISH_SPAIN.WE8MSWIN1252
Para que el OAS tenga acceso a esa variable de entorno, se modifica el script /etc/profile.d/oracle.sh y se añade la línea. Se adjunta trozo después de la modificación:
ORACLE_SID=mydb
ORACLE_BASE=/opt/oracle
ORACLE_HOME=$ORACLE_BASE/product/9ir2
TNS_ADMIN=$ORACLE_HOME/network/admin
ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
PATH=$PATH:$ORACLE_HOME/bin
LD_LIBRARY_PATH=${LD_LIBRARY_PATH:+$LD_LIBRARY_PATH:}$ORACLE_HOME/lib:$ORACLE_HOME/ctx/lib
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib:$ORACLE_HOME/network/jlib
# 23/04/2014 ==> Se anade la variable NLS_LANG para que no de problemas con el simbolo del euro
export NLS_LANG=SPANISH_SPAIN.WE8MSWIN1252
export ORACLE_BASE ORACLE_HOME ORA_NLS33 ORACLE_SID PATH LD_LIBRARY_PATH CLASSPATH TNS_ADMIN