資料庫shutdown之後無法啟動的問題
Nested Exception/Error:
java.sql.SQLRecoverableException: IO Error: Got minus one from a read call
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:419)
at oracle.jdbc.driver.PhysicalConnection.
at oracle.jdbc.driver.T4CConnection.
因為調高process需要重啟資料庫,和他們協調了下,就開始操作了。
我先把process調到3000,session也相應調整,然後儲存在spfile裡面。
alter system set processes=3000 scope=spfile;
然後就按照計劃開始停庫,一個一個重啟。
前面的3個很快就做完了,然後到最後一個,還是小心的按照nomount,mount的一步一步來。結果還是出問題了。
SQL>
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup nomount
ORA-27154: post/wait create 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
SQL> exit
根據錯誤資訊,是空間問題。但是檢視的時候,空間還多著呢。
/dev/vx/dsk/vgusgsPT301/lvol6
20G 8.5G 11G 44% /opt/app/oracle/db1
/dev/vx/dsk/vgusgsPT401/lvol6
20G 8.5G 11G 44% /opt/app/oracle/db2
/dev/vx/dsk/vgusgsPT501/lvol6
20G 11G 8.7G 56% /opt/app/oracle/db3
/dev/vx/dsk/vgusgsPT601/lvol6
20G 11G 8.7G 56% /opt/app/oracle/db4
用top檢視空餘記憶體,也還有不少。
Tasks: 1000 total, 1 running, 999 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.3%us, 0.1%sy, 0.0%ni, 99.5%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 189675188k total, 183821096k used, 5854092k free, 678412k buffers
Swap: 376009348k total, 1892592k used, 374116756k free, 176567228k cached
開始排查是否是kernel引起的。
> /sbin/sysctl -a | grep sem
error: permission denied on key 'kernel.cad_pid'
error: permission denied on key 'kernel.cap-bound'
kernel.sem = 256 32000 100 500
檢視sysctl.conf
> less /etc/sysctl.conf
# Kernel sysctl configuration file for Red Hat Linux
#
# For binary values, 0 is disabled, 1 is enabled. See sysctl(8) and
# sysctl.conf(5) for more details.
# Controls IP packet forwarding
net.ipv4.ip_forward = 0
# Controls source route verification
net.ipv4.conf.default.rp_filter = 1
# Do not accept source routing
net.ipv4.conf.default.accept_source_route = 0
# Controls the System Request debugging functionality of the kernel
kernel.sysrq = 0
# Controls whether core dumps will append the PID to the core filename
# Useful for debugging multi-threaded applications
kernel.core_uses_pid = 1
# Controls the use of TCP syncookies
net.ipv4.tcp_syncookies = 1
# Controls the maximum size of a message, in bytes
kernel.msgmnb = 65536
# Controls the default maxmimum size of a mesage queue
kernel.msgmax = 65536
# Controls the maximum shared segment size, in bytes
kernel.shmmax = 68719476736
# Controls the maximum number of shared memory segments, in pages
kernel.shmall = 4294967296
### DBA REQUEST FOR ORACLE11 ###
kernel.shmmni = 4096
kernel.sem = 256 32000 100 500
fs.file-max = 6815744
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_max = 4194394
net.core.wmem_max = 1048576
net.core.rmem_default = 262144
net.core.wmem_default = 262144
fs.aio-max-nr = 3145728
但是檢視當前的程式數,也才不到10000,離32000還遠呢。
檢視了一下其他的庫的process情況,終於明白了。
原有的5臺,有4臺process都是5000,一臺是3000,一共就是23000
新加的4臺,process都是3000,一共就是12000
加起來還真是超了。也難怪新加的第3個資料庫例項沒有問題,23000+9000=32000,剛好佔完了,一點都沒剩下。
和部門協調了一下,原有的5臺process平時測試用不了那麼多,3000多process已經足夠了。
就調整了一下,再次重啟就沒有問題了。
> sqlplus / as sysdba
SQL*Plus: Release 11.2.0.2.0 Production on Wed Apr 16 15:05:37 2014
Copyright (c) 1982, 2010, Oracle. All rights reserved.
Connected to an idle instance.
SQL> startup nomount
ORACLE instance started.
Total System Global Area 1.1742E+10 bytes
Fixed Size 2251264 bytes
Variable Size 5234492928 bytes
Database Buffers 6492782592 bytes
Redo Buffers 12193792 bytes
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8494287/viewspace-1349355/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 歸檔問題導致的資料庫無法啟動資料庫
- 資料庫無法shutdown immediate的案例資料庫
- Oracle日常問題處理-資料庫無法啟動Oracle資料庫
- Oracle日常問題-資料庫無法啟動(案例二)Oracle資料庫
- Windows 下處理資料庫無法啟動問題Windows資料庫
- 掉電無法啟動資料庫問題解決資料庫
- 資料庫異常關閉後無法啟動問題處理一例資料庫
- dbua後資料庫無法啟動錯誤的解決資料庫
- shutdown immediate 持久無法關閉資料庫之解決方案資料庫
- 10g升級至11g後資料庫無法啟動的問題解決資料庫
- 應用使用JNDI,資料庫無法連線,導致的程序無法啟動問題處理資料庫
- 資料庫啟動問題資料庫
- mongoDB非正常關閉後無法啟動問題MongoDB
- memory_target設定不當導致資料庫無法啟動的問題資料庫
- 一次資料庫無法啟動問題的處理-ORA-00845資料庫
- 關於dbstart指令碼啟動資料庫後無法使用sqlplus /nolog連線的問題指令碼資料庫SQL
- MYSQL資料庫服務無法啟動MySql資料庫
- Oracle 12.2應用PSU後資料庫無法啟動Oracle資料庫
- 伺服器增加記憶體後無法重啟資料庫的問題及解決伺服器記憶體資料庫
- Docker 自定義網橋後,無法正常啟動問題Docker
- 修改域名之後的資料庫服務不能啟動的問題解決過程資料庫
- 解決vscode安裝後無法啟動的問題VSCode
- ASM無法啟動的問題分析(一)ASM
- ASM無法啟動的問題分析(二)ASM
- undo壞塊引起資料庫無法啟動資料庫
- 11gRAC許可權問題導致的叢集及資料庫無法啟動資料庫
- 一則資料庫無法啟動的奇怪案例分析資料庫
- 解決ASM無法啟動問題ASM
- mac下mysql無法啟動問題MacMySql
- 某個Eclipse無法啟動的問題Eclipse
- PUBLIC資料庫鏈無法刪除的問題(二)資料庫
- PUBLIC資料庫鏈無法刪除的問題(一)資料庫
- pycharm安裝panda庫後無法呼叫的問題PyCharm
- Oracle Haip無法啟動問題學習OracleAI
- LnixuAS3Mysql無法啟動問題S3MySql
- 主機名改名後oracle database control 無法啟動的問題OracleDatabase
- 非歸檔模式下異常斷電導致的資料庫無法啟動的問題修復模式資料庫
- EXECL無法開啟,問題定位資料,識別不了