一、现场描述
	服务器上有Oracle 10g环境变量分别为
	Oracle 10g环境变量
		export ORACLE_BASE=/opt/oracle
		export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
		export ORACLE_PATH=$ORACLE_BASE/common/oracle/sql:.:$ORACLE_HOME/rdbms/admin
		export ORACLE_SID=ecp
		export NLS_LANG=AMERICAN_AMERICA.zhs16gbk
		export NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"
		export ORACLE_TERM=xterm
		export TNS_ADMIN=$ORACLE_HOME/network/admin
		export ORA_NLS10=$ORACLE_HOME/nls/data
		export LD_LIBRARY_PATH=$ORACLE_HOME/lib
		export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib
		export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib
		export CLASSPATH=$ORACLE_HOME/JRE
		export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib
		export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib
		export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib
		export THREADS_FLAG=native
		export TEMP=/tmp
		export TMPDIR=/tmp
		export PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin
		export PATH=${PATH}:$ORACLE_BASE/common/oracle/bin:$ORACLE_BASE:$ORACLE_HOME
		export PATH=${PATH}:$ORACLE_HOME/bin:$ORA_CRS_HOME:$ORA_CRS_HOME/bin
		export PATH=${PATH}:$LD_LIBRARY_PATH:$CLASSPATH:$ORACLE_PATH
		 
	现在在上面Oracle 11g,在shell中执行下面命令修改环境变量
	export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
	export ORACLE_SID=ora11g
	然后安装数据库,安装过程一切顺利,安装完成,当使用sqlplus的时候报如下错误:
	[oracle@node1 tmp]$ sqlplus /nolog
	SP2-1503: Unable to initialize Oracle call interface
	SP2-0152: ORACLE may not be functioning properly
	二、问题原因
	[oracle@node1 ~]$ export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
	[oracle@node1 ~]$ export ORACLE_SID=ora11g
	[oracle@node1 ~]$ $ORACLE_HOME/bin/sqlplus / as sysdba
	SQL*Plus: Release 11.2.0.3.0 Production on Mon Oct 31 17:04:17 2011
	Copyright (c) 1982, 2011, Oracle.  All rights reserved.
	Connected to:
	Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 – 64bit Production
	With the Partitioning, Oracle Label Security, OLAP, Data Mining,
	Oracle Database Vault and Real Application Testing options
	SQL> exit
	Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 – 64bit Production
	With the Partitioning, Oracle Label Security, OLAP, Data Mining,
	Oracle Database Vault and Real Application Testing options
	[oracle@node1 ~]$ sqlplus / as sysdba
	SP2-1503: Unable to initialize Oracle call interface
	SP2-0152: ORACLE may not be functioning properly
	因为系统的环境变量中的PATH没有修改过来,直接使用sqlplus的时候,还是会调用Oracle 10g中的sqlplus,而此时ORACLE_HOME与其不匹配,导致出现上面错误
	三、证明猜想,试验如下
	[oracle@node1 ~]$ export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
	[oracle@node1 ~]$  env|grep ORACLE
	ORACLE_PATH=/opt/oracle/common/oracle/sql:.:/opt/oracle/product/10.2.0/db_1/rdbms/admin
	ORACLE_SID=ecp
	ORACLE_BASE=/opt/oracle
	ORACLE_TERM=xterm
	ORACLE_HOME=/opt/oracle/product/11.2.0/db_1
	[oracle@node1 ~]$ sqlplus / as sysdba
	SP2-1503: Unable to initialize Oracle call interface
	SP2-0152: ORACLE may not be functioning properly
	说明:修改ORACLE_HOME,指向Oracle 11g的目录,然后执行sqlplus(该程序属于10g),报同样错误
				四、补充说明
	1、如果在一台服务器上安装不同版本数据库,建议使用不用用户安装,这样可以减少很多管理上没必要的麻烦,提高工作效率
	2、sqlplus程序需要和ORACLE_HOME向对应,不然就会出现SP2-1503   SP2-0152错误
	3、本次排错中学习到知识,如果要执行一个shell文件修改环境变量,可以使用source
	4、如果必须使用同一个用户安装,那么建议新安装的oracle版本建一个shell文件,然后使用source shell_filename,修改环境变量(特别注意PATH)
	        