【原創】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 information: 4816901
Additional information: 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執行文件,因此可執行的文件搭配這個權限,便能得到特權,任意存取該文件的所有者能使用全部系統資源

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM