提示的英文原文:
Correct ORACLE_HOME operating system environment is not set or an incorrect value is passed for the command line argument "orahome". Set correct ORACLE_HOME environment variable or provide a correct value for the command line argument "orahome".翻译如下:
没有正确设置 ORACLE_HOME 操作系统环境变量,或者传入错误的值给命令行参数 orahome.请指定正确的ORACLE_HOME 操作系统环境变量或者提供正确的命令行参数给orahome.另外请问:
如何在启动时传入正确的命令行参数,谢谢!

解决方案 »

  1.   

    安装的时候要求输入ORACLE的目录
    你输入的可能与你在ORACLE_HOME 中定义的不同
      

  2.   

    --根据你的实际要求,更改即可:设置环境变量
    (1)编辑.bash_profile或/etc/profile文件
    可以将要设的环境变量放在oracle用户主目录下的.bash_profile中,也可以放在/etc/profile中,对所有的用户可见,我建议放在/etc/profile中,因为凡是在本机运行的程序读写本机的Oracle数据库,一般都需要设Oracle的环境变量,否则无法连接数据库。我可以举一个例子:如果你的WEB Server,例如Apache,需要读写数据库,提供网页的动态内容,假设用PHP或者JSP,又或者Perl等等来写ServerAPI或者CGI,因为Apache是以root启动一个进程,这个进程再fork若干子进程以nobody用户运行,响应80端口的http请求,所以如果在root读不到Oracle环境变量,Web程序根本无法读写数据库。只要root读到oracle环境变量,fork子进程的时候,复制了父进程的数据空间,也继承了父进程的环境变量,所以可以读到oracle变量,就可以读写oracle数据库了。
    命令:vi .bash_profile (也可以用gedit等编辑器进行编辑)
    export ORACLE_BASE=/home/oracle 指定oracle安装目录
    export ORACLE_HOME=$ORACLE_BASE/product/8.1.7 指定oracle安装目录
    export ORACLE_SID=orcl 指定oracle数据库的SID
    export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data 指定字符集目录
    export NLS_LANG=american_america.ZHS16GBK 指定字符集为英语和汉语编码
    export LD_LIBRARY_PATH=$ORACLE_HOME/lib 是Oracle的C库函数和头文件的位置,对于OCI8,PROC和JDBC的OCI连接是必须的。
    export CLASSPATH=.:$ORACLE_HOME/jdbc/lib/classes111.zip 是Java程序读写数据库需要的JDBC的class,前面加个点号是先搜当前目录的意思。
    export PATH=$PATH:$ORACLE_HOME/bin:$ORACLE_HOME/dbs:/etc 指定shell
    export LD_ASSUME_KERNEL=2.2.5
    export LDEMULATION=elf_i386_glibc21
    export GCC_EXEC_PREFIX=/usr/i386-glibc21-linux/lib/gcc-lib/
      

  3.   

    进入oracle用户,你用 echo $ORACLE_HOME看看是否正确,如果不对,重新export一下变量
      

  4.   

    重新设置ORACLE_HOME环境变量,还有看看用户的主目录和用户组的设置
      

  5.   

    echo $ORACLE_HOME,结果是对的。
      

  6.   

    我的oralce设置也是:
    export ORACLE_BASE=/home/oracle 指定oracle安装目录
    export ORACLE_HOME=$ORACLE_BASE/product/8.1.7 指定oracle安装目录