RAC節點啟動失敗--ASM無法連線
近日遇到一個RAC問題,一個節點無法啟動,經過分析後解決,解決過程如下。
11.2.0.3 RAC環境,其中一個節點instance啟動失敗,顯示如下錯誤
[oracle@exadbmel04 ~]$ crsctl start res ora.dbm.db
CRS-2672: Attempting to start 'ora.dbm.db' on 'exadbmel04'
CRS-5017: The resource action "ora.dbm.db start" encountered the following error:
ORA-01078: failure in processing system parameters
ORA-01565: error in identifying file '+DATA_EXA/dbm/spfiledbm.ora'
ORA-17503: ksfdopn:2 Failed to open file +DATA_EXA/dbm/spfiledbm.ora
ORA-27140: attach to post/wait facility failed
ORA-27300: OS system dependent operation:invalid_egid failed with status: 1
ORA-27301: OS failure message: Operation not permitted
ORA-27302: failure occurred at: skgpwinit6
ORA-27303: additional information: startup egid = 1001 (oinstall), current egid = 1002 (dba)
. For details refer to "(:CLSN00107:)" in "/u01/app/11.2.0.3/grid/log/exadbmel04/agent/crsd/oraagent_oracle/oraagent_oracle.log".
CRS-2674: Start of 'ora.dbm.db' on 'exadbmel04' failed
CRS-2679: Attempting to clean 'ora.dbm.db' on 'exadbmel04'
CRS-2681: Clean of 'ora.dbm.db' on 'exadbmel04' succeeded
CRS-2528: Unable to place an instance of 'ora.dbm.db' as all possible servers are occupied by the resource
CRS-4000: Command Start failed, or completed with errors.
透過Sqlplus啟動,遇到同樣的錯誤
[oracle@exadbmel04 ~]$ . oraenv
ORACLE_SID = [oracle] ? dbm4
The Oracle base has been set to /u01/app/oracle
[oracle@exadbmel04 ~]$ sqlplus / as sysdba
SQL> startup mount;
ORA-01078: failure in processing system parameters
ORA-01565: error in identifying file '+DATA_EXA/dbm/spfiledbm.ora'
ORA-17503: ksfdopn:2 Failed to open file +DATA_EXA/dbm/spfiledbm.ora
ORA-27140: attach to post/wait facility failed
ORA-27300: OS system dependent operation:invalid_egid failed with status: 1
ORA-27301: OS failure message: Operation not permitted
ORA-27302: failure occurred at: skgpwinit6
ORA-27303: additional information: startup egid = 1001 (oinstall), current egid = 1002 (dba)
檢視資源,可以看到ASM的例項都是正常的,包括diskgroup,但是例項exadbmel04未啟動。
[oracle@exadbmel04 ~]$ crsctl status res -t
--------------------------------------------------------------------------------
NAME TARGET STATE SERVER STATE_DETAILS
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.DATA_EXA.dg
ONLINE ONLINE exadbmel01
ONLINE ONLINE exadbmel03
ONLINE ONLINE exadbmel04
ora.DBFS_DG.dg
ONLINE ONLINE exadbmel01
ONLINE ONLINE exadbmel03
ONLINE ONLINE exadbmel04
ora.LISTENER.lsnr
ONLINE ONLINE exadbmel01
ONLINE ONLINE exadbmel03
ONLINE ONLINE exadbmel04
ora.RECO_EXA.dg
ONLINE ONLINE exadbmel01
ONLINE ONLINE exadbmel03
ONLINE ONLINE exadbmel04
ora.asm
ONLINE ONLINE exadbmel01
ONLINE ONLINE exadbmel03 Started
ONLINE ONLINE exadbmel04 Started
ora.gsd
......
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
......
ora.dbm.db
1 ONLINE ONLINE
2 ONLINE ONLINE
3 ONLINE ONLINE
4 ONLINE OFFLINE Instance Shutdown
......
透過查詢ORA-27300錯誤,找到問題點。
這個問題是這個檔案 $GI_HOME/bin/oracle 的許可權不對,正確的許可權應該是 "-rwsr-s--x".將許可權修改正確,問題解決。
[oracle@exadbmel04 bin]$cd $GI_HOME/bin/
[oracle@exadbmel04 bin]$ ls -al oracle
-rwxr-xr-x 1 oracle oinstall 204170493 Jun 25 20:46 oracle
[oracle@exadbmel04 bin]$ chmod 6751 oracle
[oracle@exadbmel04 bin]$ ls -al oracle
-rwsr-s--x 1 oracle oinstall 204170493 Jun 25 20:46 oracle
啟動例項,正常啟動
[oracle@exadbmel04 ~]$ crsctl start res ora.dbm.db
CRS-2672: Attempting to start 'ora.dbm.db' on 'exadbmel04'
CRS-2672: Attempting to start 'ora.dbm.db' on 'exadbmel01'
CRS-2676: Start of 'ora.dbm.db' on 'exadbmel04' succeeded
CRS-2676: Start of 'ora.dbm.db' on 'exadbmel01' succeeded
使用sqlplus驗證,資料庫已經可以正常訪問
[oracle@exadbmel04 ~]$ sqlplus / as sysdba
SQL> select instance_name,status from v$instance;
INSTANCE_NAME STATUS
---------------- ------------
dbm4 OPEN
SQL> select username from dba_users;
USERNAME
------------------------------
SYS
SYSTEM
DBSNMP
DBFS_TEST
OUTLN
MGMT_VIEW
FLOWS_FILES
MDSYS
ORDSYS
EXFSYS
WMSYS
......
遇到這種問題的可能,
1、是人為修改該檔案的許可權,
2、還有就是apply patch失敗,apply patch的過程會有修改該檔案許可權為-rwxr-xr-x的動作,在apply patch完成後再修改回來,但是如果apply patch失敗,就會導致該檔案許可權一直是錯誤的狀態,需要手動修改回來。
最後分析 $GI_HOME/bin/oracle檔案許可權中的“S”,這個許可權問題明白了,oracle的這個問題也就解釋了。查詢Linux許可權,得到這樣的解釋
Linux 許可權模型有兩個專門的位,叫做“suid”和“sgid”。當設定了一個可執行程式
的“suid”這一位時,它將代表可執行檔案的所有者執行,而不是代表啟動程式的人執行。
現在,回到 /etc/passwd 問題。如果看一看 passwd 可執行檔案,我們可以
看到它屬於 root 使用者:
$ ls -l /usr/bin/passwd
-rwsr-xr-x 1 root wheel 17588 Sep 24 00:53 /usr/bin/passwd
您還將注意到,這裡有一個 s 取替了使用者許可權三元組中的一個 x。這表明,對於這個特殊程式,
設定了 suid 和可執行位。由於這個原因,當 passwd 執行時,它將代表 root 使用者執行(
具有完全超級使用者訪問權),而不是代表執行它的使用者執行。又因為 passwd 以 root 使用者訪
問權執行,所以能夠修改 /etc/passwd 檔案,而沒有什麼問題。
suid/sgid 告誡說明
我們看到了 suid 怎樣工作,sgid 以同樣的方式工作。它允許程式繼承程式的組所有權,而不
是當前使用者的程式所有權。
引用ITPUB的一個帖子,其中有相關問題及解析
http://www.itpub.net/forum.php?mod=viewthread&tid=1622940
這裡面說的問題原因就是 $ORACLE_HOME/bin/oracle 和 $GI_HOME/bin/oracle下的oracle程式的許可權都是這樣設定的,並且他們的屬組是不同的,所以在實際操作的連線過程中,需要相互呼叫對方oracle程式,來申請SGA記憶體區
可以看到下面各自的屬組是不同的,如果需要使用對方的應用程式並且使用該應用程式的屬組,那麼,唯一的辦法是使用"S"許可權。
[root@rac1 ~]# su - oracle
[oracle@rac1 ~]$ cd $ORACLE_HOME
[oracle@rac1 dbhome_1]$ cd bin
[oracle@rac1 bin]$ ll oracle
-rwsr-s--x 1 oracle oinstall 232399431 May 14 13:47 oracle
[oracle@rac1 bin]$ ll sqlplus
-rwxr-x--x 1 oracle oinstall 9205 May 14 13:46 sqlplus
[root@rac1 ~]# su - grid
[grid@rac1 ~]$ cd $GRID_HOME
[grid@rac1 bin]$ pwd
/u01/app/11.2.0/grid/bin
[grid@rac1 bin]$ ll oracle
-rwsr-s--x 1 grid oinstall 203974257 May 11 09:30 oracle
[grid@rac1 bin]$ ll crsctl
-rwxr-xr-x 1 root oinstall 8133 May 11 12:35 crsctl
©著作權歸作者所有:來自51CTO部落格作者hsbxxl的原創作品,謝絕轉載,否則將追究法律責任
sasmracOracle
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4422/viewspace-2821233/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Hadoop 啟動namenode節點失敗Hadoop
- RAC DG 物理standby ASM無法啟動ASM
- 虛擬機器搭建rac ASM盤啟動失敗虛擬機ASM
- RAC刪除節點失敗重啟大法解決
- 19c RAC因profile.xml檔案丟失節點1啟動失敗XML
- Oracle RAC啟動失敗-軟連結惹的禍Oracle
- Oracle RAC啟動失敗(DNS故障)OracleDNS
- rac節點無法啟動ORA-29702的問題及分析
- oracle兩節點RAC,由於gipc導致某節點crs無法啟動問題分析Oracle
- oracle11g RAC 啟動時無法識別ASMOracleASM
- namenode單節點啟動成功後自動消失/格式化失敗/fsimage載入失敗
- 無法連線到雲伺服器失敗怎麼辦伺服器
- CF連線伺服器失敗怎麼回事 cf連線失敗解決辦法伺服器
- 【ASM】RAC19C因引數設定不當,asm無法啟動ASM
- ghost win10無法啟動修復失敗怎麼修復_ghost win10無法啟動修復失敗如何解決Win10
- 11G RAC無法連線
- Windows遠端桌面連線失敗和無法複製貼上Windows
- Oracle RAC常見啟動失敗故障分析Oracle
- springboot連線hive無法啟動Spring BootHive
- MongoVUE 連線失敗GoVue
- Oracle Rac crs無法啟動Oracle
- sql server資料庫連線失敗/無法附加解決過程SQLServer資料庫
- Oracle 19c rac安裝,只能啟動一個節點的ASMOracleASM
- 【ASM】ASM啟動無法找到spfile問題原因ASM
- oracle rac 無法建立asm磁碟OracleASM
- 解決ASM無法啟動問題ASM
- [Kubernetes]node節點pod無法啟動/節點刪除網路重置
- 安裝RAC無法識別cluster節點資訊
- MySQL啟動失敗MySql
- docker啟動失敗Docker
- 私有IP丟失造成Oracle 12C RAC叢集節點不能啟動Oracle
- RAC節點hang住, oracle bug導致了cpu過高,無法啟動叢集隔離Oracle
- ASM無法啟動的問題分析(一)ASM
- ASM無法啟動的問題分析(二)ASM
- HMC連線AIX無法啟動控制檯的問題AI
- 無界滑鼠MOUSE WITHOUT BORDERS連線失敗解決方法
- 【RAC】因清理不完整導致RAC ASM例項建立失敗ASM
- 由adoacorectl.sh啟動失敗導致網頁無法顯示網頁