grid與oracle使用者下oracle程式許可權不一致導致ORA-15055/ORA-27123無法連線ASM問題
11G RAC使用ASM,在從單例項恢復到RAC時遇到如下問題:
排查:
1.ASM磁碟組已經正常掛載:
3.跟蹤程式:
問題解決:
1.檢視ORACLE程式的許可權:
-------------
3.在安裝僅oracle software之後,$ORACLE_HOME/bin/oracle檔案屬性許可權為751(-rwxr-x--x)
在用安裝ASM建庫(DBCA)時,此檔案屬性會自動被修改為6751(-rwsr-s--x)
--此許可權問題也有可能導致ORA-12537: TNS:connection closed
4.關於6751許可權的說明:
6751分別指定了ugoa的許可權:
第一位6代表u(所有者)有讀、寫許可權,沒有執行許可權
第二位7代表g(組)有讀、寫、執行許可權
第三位5代表o(其它使用者)有讀、執行許可權
第四位1代表a(所有者、組、其它使用者)有執行許可權
四位6751如果用三位表示就是675,第四位繼承umask的值
oracle使用者屬於組dba、oinstall
RMAN> restore controlfile from '/home/oracle/fulldb_SCTTEST_900418795_84';
Starting restore at 06-JAN-16
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=98 instance=scttest1 device type=DISK
channel ORA_DISK_1: restoring control file
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of restore command at 01/06/2016 13:20:29
ORA-19870: error while restoring backup piece /home/oracle/fulldb_SCTTEST_900418795_84
ORA-19504: failed to create file "+DATA/scttest/controlfile/control01.ctl"
ORA-17502: ksfdcre:3 Failed to create file +DATA/scttest/controlfile/control01.ctl
ORA-15001: diskgroup "DATA" does not exist or is not mounted
ORA-15055: unable to connect to ASM instance
ORA-01034: ORACLE not available
ORA-27123: unable to attach to shared memory segment
排查:
1.ASM磁碟組已經正常掛載:
SQL> select name,state from v$asm_diskgroup;
NAME STATE
------------------------------ -----------
DGOCR MOUNTED
DATA MOUNTED
ARCH MOUNTED
2.資料庫alert日誌:WARNING: failed to start ASMB (connection failed) state=0x1 sid='+ASM1' home='/u01/11.2.0/grid1'
ORA-15055: unable to connect to ASM instance
ORA-01034: ORACLE not available
ORA-27123: unable to attach to shared memory segment
Linux-x86_64 Error: 13: Permission denied
Additional information: 26
Additional information: 3637290
------------3.跟蹤程式:
sqlplus / as sysdba
create spfile='+data' from pfile;
另一視窗進行跟蹤:
[oracle@lnx67 tmp]$ strace -Fo asm.trc -p 108742
Process 108742 attached - interrupt to quit
^CProcess 108742 detached
[oracle@lnx67 tmp]$ vi asm.trc
108742 wait4(108754, 0x7fffac810d88, 0, NULL) = -1 ECHILD (No child processes)
108742 --- SIGCHLD (Child exited) @ 0 (0) ---
108742 rt_sigaction(SIGINT, {0x7f22e5a0e410, ~[ILL ABRT BUS FPE KILL SEGV USR2 STOP XCPU XFSZ SYS RTMIN RT_1], SA_RESTORER|SA_RESTART|SA_SIGINFO, 0x359600f710}, NULL, 8) = 0
108742 rt_sigaction(SIGQUIT, {0x7f22e6de7d14, [QUIT], SA_RESTORER|SA_RESTART, 0x359600f710}, NULL, 8) = 0
108742 write(1, "\n", 1) = 1
108742 write(1, "SQL> ", 5) = 5
108742 read(0, "l\n", 1024) = 2
108742 write(1, " 1* create spfile='+data' from "..., 38) = 38
108742 write(1, "SQL> ", 5) = 5
108742 read(0, "/\n", 1024) = 2
108742 write(10, "\0019\0\0\6\0\0\0\0\0\21i\t\376\377\377\377\377\377\377\377\1\0\0\0\0\0\0\0\1\0\0"..., 313) = 313
108742 read(11, "\0\v\0\0\f\0\0\0\1\0\1\0\v\0\0\f\0\0\0\1\0\2", 8208) = 22
108742 write(10, "\0\v\0\0\f\0\0\0\1\0\2", 11) = 11
108742 read(11, "\1\216\0\0\6\0\0\0\0\0\4\5\0\0\0\7\0\1\0\0\0\0\343D\0\0\0\0\1\0\0\0"..., 8208) = 398
108742 write(1, "create spfile='+data' from pfile"..., 33) = 33
108742 write(1, "*\n", 2) = 2
108742 write(1, "ERROR at line 1:\n", 17) = 17
108742 write(1, "ORA-17635: failure in obtaining "..., 65) = 65
108742 write(1, "ORA-01034: ORACLE not available\n", 32) = 32
108742 write(1, "ORA-27123: unable to attach to s"..., 53) = 53
108742 write(1, "Linux-x86_64 Error: 13: Permissi"..., 42) = 42
108742 write(1, "Additional information: 26\n", 27) = 27
108742 write(1, "Additional information: 2392106\n", 32) = 32
108742 write(1, "\n", 1) = 1
108742 write(1, "\n", 1) = 1
108742 write(1, "SQL> ", 5) = 5
108742 read(0, <unfinished ...>
####################################################問題解決:
1.檢視ORACLE程式的許可權:
[oracle@lnx67 db_1]$ cd bin
[oracle@lnx67 bin]$ ls -al oracle --ORACLE_HOME下的
-rwsr-s--x 1 oracle oinstall 239626665 Jan 6 10:59 oracle
[oracle@lnx67 bin]$ cd $GRID_HOME
[oracle@lnx67 grid1]$ cd bin
[oracle@lnx67 bin]$ ls -al oracle ---GRID_HOME下的
-rwxr-x--x 1 grid oinstall 209914471 Jan 6 10:33 oracle
[oracle@lnx67 bin]$ pwd
/u01/11.2.0/grid1/bin
2.修改許可權為6751後,恢復正常:[grid@lnx67 ~]$ cd /u01/11.2.0/grid1/bin
[grid@lnx67 bin]$ ls -al oracle
-rwxr-x--x 1 grid oinstall 209914471 Jan 6 10:33 oracle
[grid@lnx67 bin]$ chmod 6751 oracle
[grid@lnx67 bin]$ ls -al oracle
-rwsr-s--x 1 grid oinstall 209914471 Jan 6 10:33 oracle
本次是新安裝的RAC,尚未有操作,節點1出現此問題,節點2正常。-------------
3.在安裝僅oracle software之後,$ORACLE_HOME/bin/oracle檔案屬性許可權為751(-rwxr-x--x)
在用安裝ASM建庫(DBCA)時,此檔案屬性會自動被修改為6751(-rwsr-s--x)
--此許可權問題也有可能導致ORA-12537: TNS:connection closed
[oracle@rac01 ~]$ sqlplus /nolog
SQL*Plus: Release 11.2.0.1.0 Production on Wed Aug 29 21:06:10 2012
Copyright (c) 1982, 2009, Oracle. All rights reserved.
SQL> connect system/***@astt
ERROR:
ORA-12537: TNS:connection closed、
--參考文件:導致 Scan VIP 和 Scan Listener(監聽程式)出現故障的最常見的 5 個問題 (文件 ID 1602038.1)
--此許可權問題也有可能導致使用DBCA建庫時無法找到ASM磁碟4.關於6751許可權的說明:
6751分別指定了ugoa的許可權:
第一位6代表u(所有者)有讀、寫許可權,沒有執行許可權
第二位7代表g(組)有讀、寫、執行許可權
第三位5代表o(其它使用者)有讀、執行許可權
第四位1代表a(所有者、組、其它使用者)有執行許可權
四位6751如果用三位表示就是675,第四位繼承umask的值
Linux 許可權模型有兩個專門的位,叫做“suid”和“sgid”。當設定了一個可執行程式
的“suid”這一位時,它將代表可執行檔案的所有者執行,而不是代表啟動程式的人執行oracle使用者屬於組dba、oinstall
相關文章
- iptables導致無法遠端連線oracleOracle
- oracle 11g 操作ASM許可權問題OracleASM
- 【MySql】許可權不足導致的無法連線到資料庫以及許可權的授予和撤銷MySql資料庫
- Oracle 11.2.0.4 RAC $ORACLE_HOME/bin/oracle許可權不對導致無法啟動例項Oracle
- Oracle使用者與許可權Oracle
- mysql連線無許可權MySql
- NAMES.DIRECTORY_PATH配置不當導致無法連線oracleOracle
- oracle使用者許可權Oracle
- oracle 使用者許可權Oracle
- 11gRAC許可權問題導致的叢集及資料庫無法啟動資料庫
- Oracle 使用者、物件許可權、系統許可權Oracle物件
- ASM中磁碟組許可權問題ASM
- 記一次 Laravel日誌許可權許可權問題(定時器導致)Laravel定時器
- Oracle 使用者許可權管理與常用許可權資料字典列表Oracle
- ORACLE使用者管理與許可權設定Oracle
- 【許可權管理】Oracle中檢視、回收使用者許可權Oracle
- 使用者許可權 plsql OracleSQLOracle
- Oracle使用者許可權管理Oracle
- RAC oracle 許可權更改導致 實力啟動失敗Oracle
- 使用者有connect,resource,dba角色許可權後回收dba許可權導致無UNLIMITED TABLESPACE許可權造成業務中斷MIT
- Oracle使用者訪問許可權與PUBLIC角色的關係Oracle訪問許可權
- Oracle11g 使用者與許可權管理Oracle
- ORACLE許可權Oracle
- 關於oracle檔案許可權的問題Oracle
- ssh無法登入——許可權問題如何解決
- Oracle使用者角色許可權管理Oracle
- Oracle查詢使用者許可權Oracle
- Oracle使用者、許可權、角色管理Oracle
- Oracle檢視使用者許可權Oracle
- 檢視oracle 使用者許可權Oracle
- Oracle備庫無法連線主庫的問題分析Oracle
- 連線使用者獲取許可權資訊
- 無程式碼實現CRM角色許可權問題
- uid不一致導致tomcat對目錄沒有寫許可權UITomcat
- ORACLE中儲存過程的許可權問題Oracle儲存過程
- Oracle的物件許可權、角色許可權、系統許可權Oracle物件
- linux 下切換到oracle使用者報許可權不夠問題解決方法LinuxOracle
- oracle 許可權集合Oracle