昨天自己在OEL上准备把10g,11g的环境都准备一下,我规划了一下硬盘空间,然后创建了相应的用户,12c的Oms也在这次的范围之内。
drwx------ 4 oms10g dba 4096 Jan 18 20:56 oms10g
drwx------ 3 oms11g dba 4096 Jan 15 07:04 oms11g
drwx------ 15 oms12c dba 4096 Jan 18 19:33 oms12c
drwx------ 17 ora10g dba 4096 Jan 19 18:25 ora10gdrwx------ 15 ora11g dba 4096 Jan 18 21:46 ora11g
drwx------ 3 ora12c dba 4096 Jan 15 23:04 ora12c
drwx------ 15 oracle dba 4096 Jan 18 22:05 oracle
然后就热火朝天的开始了。
因为之间用dbca创建了很多很多次,也没怎么留心,安装完10.2.0.1的版本后,直接就升.3的补丁了。结果虚拟机有些慢,装了有一个小时的样子吧。为了和工作环境匹配,字符集我选装了泰语。最后我看安装成功了。就准备看一下。
[ora10g@oel database]$ sqlplus
Error 6 initializing SQL*Plus
Message file sp1.msb not found
SP2-0750: You may need to set ORACLE_HOME to your Oracle software directory
我看了一下.bash_profile,ORACLE_HOME也存在,而且dbca也能正常运行。
我重新设置了ORACLE_HOME,也没效果。
查了半天,还是没有结果。还是去metalink去看看吧。
结果一看让我有些郁闷,因为在Unix上可能有这个问题,在10.2.0.3的版本上出现,solution就是重装。但是我这是Linux,没有找到关于Linux环境下这个问题的处理方法,最后找到一个,给的方法就是重新编译perl库。
那个方法我没有尝试。因为实在太不普遍了。肯定有其他的原因,只是重编译,然后赋予权限之类的方法只是表面的处理方式。
我再oraInventory里面查看了关于安装时的一些校验,有关于ORACLE_HOME,ORACLE_BASE的一些检查。但是我的设置也没有问题。
没办法,重新安装,这次我只装了 10.2.0.1的包,然后安装成功后,就开始测试
[ora10g@oel database]$ sqlplus
Error 6 initializing SQL*Plus
Message file sp1.msb not found
SP2-0750: You may need to set ORACLE_HOME to your Oracle software directory
还是一样的问题,看来不是补丁包的影响。
我又开始仔细看.bash_profile
# User specific environment and startup programs
PATH=$PATH:$HOME/bin
ORACLE_BASE=/db10
ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
export PATH=$PATH:$ORACLE_HOME/bin
我看着错误,有的人说应该需要设置一下NLS_LANG,我正准备设置的时候,发现。ORACLE_BASE,ORACLE_HOME,有一些问题。
前面应该加上export,应该是如下的样子。
PATH=$PATH:$HOME/bin
export ORACLE_BASE=/db10
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
export PATH=$PATH:$ORACLE_HOME/bin
我已经感觉接近成功边缘了,试了一下。
[ora10g@oel ~]$ sqlplus / as sysdba
SQL*Plus: Release 10.2.0.1.0 - Production on Sat Jan 19 18:40:12 2013
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to an idle instance.
终于可以了,这次的问题虽然最后发现时很小的一个细节。而且很隐蔽。也算是一个低级错误。以后需要多多注意。
~