在测试机安装了数据库(linux版本)。在oracle用户下登陆数据库一切正常。但是当用其它用户登陆时就出现下面的报错:cxzy@cxzy:~> sqlplus cxcs/gmcc123SQL*Plus: Release 10.2.0.1.0 - Production on Wed Dec 7 09:19:57 2011Copyright (c) 1982, 2005, Oracle.  All rights reserved.ERROR:
ORA-01034: ORACLE not available
ORA-27123: unable to attach to shared memory segment
Linux Error: 13: Permission denied
不过当指定了实例名时又正常了:
cxzy@cxzy:~> sqlplus cxcs/gmcc123@cxzySQL*Plus: Release 10.2.0.1.0 - Production on Wed Dec 7 10:05:59 2011Copyright (c) 1982, 2005, Oracle.  All rights reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining optionsSQL> 检查了ORACLE_SID是设置正确的。求解为什么!!难度不是oracle用户登陆的话就一定要指定实例名的么?

解决方案 »

  1.   

    1可能$ORACLE_HOME/bin/oracle的权限变了
    2利用oracle用户将其改为
    chmod 6751 $ORACLE_HOME/bin/oracle
    3
    四位6751如果用三位表示就是675,第四位继承umask的值
    6751分别制定了ugoa的权限
    第一位6代表u(所有者)有读、写权限,没有执行权限
    第二位7代表g(组)有读、写、执行权限
    第三位5代表o(其它用户)有读、执行权限
    第四位1代表a(所有者、组、其它用户)有执行权限
    oracle用户属于组dba、oinstall
    可执行代码需要的是最少权限是110即所有者和组有执行权限,
    为了维护方便一般都给775即所有者和组有读、写、执行权限,其它用户有执行权限 
      

  2.   

    1可能$ORACLE_HOME/bin/oracle的权限变了
    2利用oracle用户将其改为
    chmod 6751 $ORACLE_HOME/bin/oracle
    ---------按照这个做了就可以了,非常感谢!!