資料庫啟動出現ORA-27102錯誤
一臺測試資料庫啟動時出現了這個錯誤。
資料庫啟動時報錯:
[oracle@bjtest ~]$ sqlplus "/ as sysdba"
SQL*Plus: Release 9.2.0.4.0 - Production on 星期一 11月 16 08:04:00 2009
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
已連線到空閒例程。
SQL> startup
ORA-27102: out of memory
Linux-x86_64 Error: 28: No space left on device
在alert檔案中包含了下面的資訊:
WARNING: EINVAL creating segment of size 0x0000000233400000
fix shm parameters in /etc/system or equivalent
這種錯誤顯然是作業系統引數設定不當造成的,因為作業系統中的記憶體和SWAP空間是足夠的。
不過系統中的核心引數設定也沒有更改,一直以來資料庫啟動也沒有報錯。
檢查系統引數設定:
[oracle@bjtest dbs]$ more /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
#fs.file-max = 6553600
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 8589934592
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048586
由於資料庫初始化引數設定的記憶體小於核心的設定,不應該導致的產生。
SQL> select 2097152 * 4096 from dual;
2097152*4096
------------
8589934592
不過無論是SHMMAX還是SHMALL的設定,都是和記憶體設定相差無幾,下面嘗試調整SHMALL引數,設定值為4194304:
[root@bjtest ~]# sysctl -p
net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 0
kernel.core_uses_pid = 1
net.ipv4.tcp_syncookies = 1
kernel.msgmnb = 65536
kernel.msgmax = 65536
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 4194304
kernel.shmmax = 8589934592
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048586
修改後再次啟動資料庫,錯誤變成了:
[oracle@bjtest ~]$ sqlplus "/ as sysdba"
SQL*Plus: Release 9.2.0.4.0 - Production on 星期二 11月 17 01:46:54 2009
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
已連線到空閒例程。
SQL> startup
ORA-27123: unable to attach to shared memory segment
Linux-x86_64 Error: 22: Invalid argument
Additional information: 1
Additional information: 884740
這個錯誤資訊顯然是指出了SHMMAX引數的設定存在問題:
[root@bjtest ~]# sysctl -p
net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 0
kernel.core_uses_pid = 1
net.ipv4.tcp_syncookies = 1
kernel.msgmnb = 65536
kernel.msgmax = 65536
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 4194304
kernel.shmmax = 12000000000
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048586
再次修改SHMMAX引數後,資料庫成功啟動:
SQL> startup
ORACLE 例程已經啟動。
Total System Global Area 9432971568 bytes
Fixed Size 756016 bytes
Variable Size 838860800 bytes
Database Buffers 8589934592 bytes
Redo Buffers 3420160 bytes
資料庫裝載完畢。
資料庫已經開啟。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4227/viewspace-620908/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- SQL Server資料庫出現邏輯錯誤的資料恢復SQLServer資料庫資料恢復
- ghost win10啟動出現錯誤怎麼解決_ghost win10啟動出現錯誤如何修復Win10
- 訪問資料庫出現Object reference not set to an instance of an object錯誤資料庫Object
- SOLIDWORKS啟動時出現指令碼錯誤問題Solid指令碼
- 達夢資料庫啟動報code = -803 [Invalid ini config value]錯誤資料庫
- [重慶思莊技術分享]-資料庫啟動報:ORA-29702錯誤資料庫
- 開啟網站資料庫連線錯誤怎麼辦?網站資料庫
- 惡意程式造成資料庫啟動報錯資料庫
- 網站出現資料庫連線錯誤怎麼辦?網站資料庫
- Dedecms錯誤警告:連線資料庫失敗,出錯怎麼解決?資料庫
- Oracle資料庫多條sql執行語句出現錯誤時的控制方式Oracle資料庫SQL
- 【mysql】關於連線mysql資料庫時出現的時區錯誤time zoneMySql資料庫
- 安裝完fiddler每次啟動出現這錯誤,我的解決!
- Error infos:DedeCms錯誤警告:連線資料庫失敗,可能資料庫密碼不對或資料庫伺服器出錯!Error資料庫密碼伺服器
- Error infos: DedeCms錯誤警告:連線資料庫失敗,可能資料庫密碼不對或資料庫伺服器出錯!Error資料庫密碼伺服器
- 行動硬碟引數錯誤怎麼解決?行動硬碟開啟出現引數錯誤的修復方法硬碟
- SQL Server DACPAC資料庫部署錯誤SQLServer資料庫
- 開啟網頁顯示資料庫連線出錯網頁資料庫
- ORA-01653錯誤是Oracle資料庫中常見的錯誤Oracle資料庫
- 阿里雲資料庫連線資料庫錯誤:如何解決?阿里資料庫
- tomcat啟動出現錯誤:Failed to destroy end point associated with ProtocolHandler["ajp-nio-8009"]TomcatAIProtocol
- 解決chkconfig設定開機啟動時出現missing LSB的錯誤
- Laravel 出現 419 錯誤Laravel
- Opencv出現detecMultiScale錯誤OpenCV
- Dedecms錯誤警告:連線資料庫失敗,可能資料庫密碼不對或資料庫伺服器出錯怎麼解決?資料庫密碼伺服器
- qt使用mysql,開啟資料庫,丟擲無法連線錯誤。QTMySql資料庫
- 網站連線資料庫配置錯誤網站資料庫
- 網站提示資料庫連線錯誤網站資料庫
- 資料庫報ORA-01839的錯誤資料庫
- 資料庫本地,sqlplus和資料庫工具連線資料庫正常,但是JDBC連線資料庫出現了一直提示使用者名稱/密碼錯誤資料庫SQLJDBC密碼
- 3.1 啟動資料庫資料庫
- 啟動MySql資料庫MySql資料庫
- 資料庫資料恢復—MongoDB資料庫檔案丟失,啟動報錯的資料恢復案例資料庫資料恢復MongoDB
- 啟動Oracle報錯ORA-27102: out of memory、Linux-x86_64 Error: 28: No space leftOracleLinuxError
- AS打包出現app:transformClassesAndResourcesWithProguardForRelease錯誤APPORM
- 使用 sudo 命令出現錯誤
- SSH出現Connection refused錯誤
- 【資料庫資料恢復】Oracle資料庫檔案出現壞塊報錯的資料恢復案例資料庫資料恢復Oracle
- ORACLE 18C啟動資料庫報錯ORA-04031Oracle資料庫