寻求一些建议和帮助,我在运行 Xubuntu Linux 16.04 LTS 的笔记本电脑上新安装了 Oracle XE。我遵循这发布我的安装信息。
在 Oracle XE 安装位置 /u01/app/oracle/product/11.2.0/xe/ 中有一个 /bin 文件夹,其中有一个 createdb.sh 文件,我正尝试运行该文件来安装初始 XE DB,但收到错误 ORACLE_HOME 必须设置且 $ORACLE_HOME/dbs 必须可写。
我的 .bashrc 包含下面的代码,所以我不确定它是否正确,如果正确,为什么我会收到必须设置 $ORACLE_HOME 的错误。
export ORACLE_HOME="/u01/app/oracle/product/11.2.0/xe"
export ORACLE_SID="XE"
export NLS_LANG=`$ORACLE_HOME/bin/nls_lang.sh`
export ORACLE_BASE="/u01/app/oracle"
export LD_LIBRARY_PATH="$ORACLE_HOME/lib:$LD_LIBRARY_PATH"
export PATH="$ORACLE_HOME/bin:$PATH:."
在终端中执行echo $ORACLE_HOME
我明白了
/u01/app/oracle/product/11.2.0/xe
在我看来,路径设置正确。转到 $ORACLE_HOME/dbs 目录的权限。ls -l
显示此
drwxr-xr-x 2 root root 4096 Jun 5 12:50 dbs
表示所有者(root)具有写权限。我对这一切有点迷茫,而且这是我第一次在 Linux 中使用 Oracle SQL。任何帮助都非常感谢。谢谢大家。
编辑:在 /etc/bash.bashrc 中设置相同的环境变量并重新启动,但仍然出现与以前相同的错误。
答案1
ORACLE_HOME 应该由 oracle 用户拥有,而不是 root,因为 oracle 以用户 oracle 的身份运行。我记得如果您尝试以 root 身份运行它,它会抛出一个错误,因此既然您没有收到该错误,它一定是以正确的用户身份运行的,对于该用户,$ORACLE_HOME/dbs 的“其他”访问位是“rx”,这意味着不可写。