提示的英文原文:
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.另外请问:
如何在启动时传入正确的命令行参数,谢谢!
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.另外请问:
如何在启动时传入正确的命令行参数,谢谢!
你输入的可能与你在ORACLE_HOME 中定义的不同
(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/
export ORACLE_BASE=/home/oracle 指定oracle安装目录
export ORACLE_HOME=$ORACLE_BASE/product/8.1.7 指定oracle安装目录