微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ORA-27123及ORA-01034的解决方法

在linux操作系统上的oracle用户下装有oracle数据库,启动登陆正常。

[ggs@vm ~]$ id oracle

uid=500(oracle) gid=501(oinstall) groups=501(oinstall),500(dba) 

现在本机上新建一个操作系统用户ggs,跟oracle用户属同一个

[ggs@vm ~]$ id ggs

 uid=501(ggs) gid=501(oinstall) groups=501(oinstall),500(dba)

在ggs用户下登陆和启动数据库报错

 [ggs@vm ~]$ sqlplus /nolog

  sql*Plus: Release 11.1.0.6.0 - Production on Wed Oct 31 10:23:33 2012   copyright (c) 1982, 2007, Oracle.  All rights reserved.   sql> conn /as sysdba Connected to an idle instance. sql> select * from v$database; select * from v$database * ERROR at line 1: ORA-01034: ORACLE not available Process ID: 0 Session ID: 0 Serial number: 0     sql> startup ORA-27123: unable to attach to shared memory segment Linux Error: 13: Permission denied Additional @R_707_4045@ion: 4816901 Additional @R_707_4045@ion: 10

 

检查ORACLE_SID,ORACLE_HOME,LD_LIBRARY_PATH等环境变量都是正确的。都和oracle用户一样。
为什么只有oracle用户可以,其他用户不能

 

解决方法

[root@vm ~]# su - oracle [oracle@vm ~]$ cd $ORACLE_HOME/bin [oracle@vm bin]$ chmod +s oracle [oracle@vm bin]$ ll oracle -rwsrwsr-x 1 oracle oinstall 152028761 Aug 30 19:06 oracle [oracle@vm bin]$  

关于s权限的说明:

 s表示setUID 和setGID 。位于user和group权限组的第三位置。如果在user权限组中设置了s权限。那么当该文件被执行时,是以文件所有者的GID,而不是用户的GID执行文件,因此可执行的文件搭配这个权限,便能得到特权,任意存取该文件的所有者能使用全部系统资源

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐