ORA-27300 ORA-27301
SQL> startup nomount
ORA-27302: failure occurred at: skgpwreset1
ORA-27303: additional information: invalid shared ctx
ORA-27146: post/wait initialization failed
ORA-27300: OS system dependent operation:semget failed with status: 28
ORA-27301: OS failure message: No space left on device
ORA-27302: failure occurred at: sskgpcreates
XXXXXX的Oracle引數調整
1 概述
XXXXXX使用者SUN平臺HACMP環境下ORACLE軟體安裝部署完畢,需要優化關鍵資料庫系統引數並建立使用者、表空間部署應用。
2 問題描述
XXXXXX使用者SUN平臺HACMP環境下ORACLE軟體安裝部署完畢,需要建立使用者、表空間等並調整資料庫系統引數,和現場的同事對業務需求、使用者數量等進行分析,最後整理出以下指令碼並執行:
--建立表空間
CREATE TABLESPACE BPM_DATA LOGGING DATAFILE '/oracle/oracle/oradata/cmdidb/BPM_DATA.dbf' SIZE 2048M
AUTOEXTEND ON NEXT 20480K MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;
CREATE TABLESPACE BPM_INDEX LOGGING DATAFILE '/oracle/oracle/oradata/cmdidb/BPM_INDEX.dbf' SIZE 2048M
AUTOEXTEND ON NEXT 20480K MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;
--建立臨時表空間
CREATE TEMPORARY TABLESPACE BPM_TEMP TEMPFILE '/oracle/oracle/oradata/cmdidb/BPM_TEMP.dbf' SIZE 1024M
AUTOEXTEND ON NEXT 20480K MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL UNIFORM SIZE 1M;
--建立使用者
CREATE USER BPM50 PROFILE DEFAULT IDENTIFIED BY bpmtest DEFAULT TABLESPACE BPM_DATA
TEMPORARY TABLESPACE BPM_TEMP ACCOUNT UNLOCK;
--授權使用者
GRANT CONNECT,EXP_FULL_DATABASE,IMP_FULL_DATABASE,RESOURCE TO BPM50;
--修改資料庫系統引數
alter system set pga_aggregate_target=640m scope=spfile;
alter system set db_cache_size=1440m scope=spfile;
alter system set shared_pool_size=800m scope=spfile;
alter system set java_pool_size=320m scope=spfile;
alter system set log_buffer=3145728 scope=spfile;
Alter system set open_cursors=1000 scope=spfile;
Alter system set processes=800 scope=spfile;
本來工作到了這裡就該接近尾聲了,但是遇到一個小小的插曲,執行完以上指令碼後,關閉資料庫重新啟動,資料庫無法啟動,報錯如下:
SQL> startup nomount
ORA-27302: failure occurred at: skgpwreset1
ORA-27303: additional information: invalid shared ctx
ORA-27146: post/wait initialization failed
ORA-27300: OS system dependent operation:semget failed with status: 28
ORA-27301: OS failure message: No space left on device
ORA-27302: failure occurred at: sskgpcreates
3 分析
這些錯誤大部分和作業系統有關,ORACLE啟動的時候檢查作業系統的各項配置是否滿足需求,如磁碟空間、核心引數等能否滿足自己的需要,回頭看看我們做過的操作:建立表空間、臨時表空間、修改系統引數,然後分析上面個錯誤和那些操作有關。
ORA-27301: OS failure message: No space left on device
建立表空間、臨時表空間可能引起該錯誤,df檢查磁碟空間472G可用?懦??/span>錯誤。
ORA-27300: OS system dependent operation:semget failed with status
無法獲得作業系統的訊號量。訊號量相當於OS的記憶體鎖,類似於oracle中的latch,每個程式要獲取作業系統記憶體時(不是PGA或SGA),需要先獲取到訊號量才能申請內存。為了能保證每個程式不被阻塞,所以最好每個程式能分配到2個訊號量。由於我們修改了oracle的processes引數,oracle安裝建議這個引數一般設定為processes*2+15是比較保險的。檢查該引數發現為300多,調整該引數為set semsys:seminfo_semmns=1024,資料庫正常啟動。感謝fuyuncat幫助詳細分析訊號量的作用。
4 總結
建議各位同事以後在各個平臺安裝ORACLE軟體的時候都要先按照ORACLE安裝文件先把作業系統的各個核心引數(最大共享記憶體段、訊號量等)進行相應的調整。然後再開始安裝ORACLE。
5 附錄
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/756652/viewspace-242444/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- ORA-27300 ORA-27301 ORA-27302 ORA-27157
- oracle啟動的時候報 ORA-27154、ORA-27300、ORA-27301、ORA-27302Oracle
- 調整引數process報錯:ORA-27154,ORA-27300,ORA-27301,ORA-27302
- ORA-27300: OS system dependent operation:fork failed with statusAI
- ORA-27300: OS system dependent operation:fork failed with status: 12AI
- 【ASM】ORA-27504 ORA-27300 ORA-27303 while starting ASM (Doc ID 2281441.1)ASMWhile