ITPub博客

首页 > 数据库 > Oracle > note the ORA-27102: out of memory error

note the ORA-27102: out of memory error

原创 Oracle 作者:qqmengxue 时间:2010-12-16 15:18:06 0 删除 编辑

oracle10.2.0.4

REDHAT 5.1 64BIT

MEM:16G

STOR:700G

ERROR:

ORA-27102: out of memory
Linux-x86_64 Error: 28: No space left on device

[@more@]

今天在新数据库上配置进行一些基础性的配置,由于忽略了linux的信号量的修改,导致了在启动数据库的时候报了:

SQL> startup
ORA-27102: out of memory
Linux-x86_64 Error: 28: No space left on device

后来经检查是因为kernel.shmall配置的过小,默认情况下kernel.shmall 的大小只为8G,由于我的环境中需要配置9G的大小,所以最终导致数据库报了OUT OF MEMORY错误,

经过修改后的参数为;
# Oracle
#kernel.shmall = 2097152
kernel.shmall = 2621440
kernel.shmmax = 10737418240
#kernel.shmmax = 4294967295
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default = 1048576
net.core.rmem_max = 1048576
net.core.wmem_default = 262144
net.core.wmem_max = 262144
# End

重新启动 数据库:

SQL> startup
ORACLE instance started.

Total System Global Area 9663676416 bytes
Fixed Size 2099752 bytes
Variable Size 1459619288 bytes
Database Buffers 8187281408 bytes
Redo Buffers 14675968 bytes
Database mounted.
Database opened.
SQL> !ipcs

------ Shared Memory Segments --------
key shmid owner perms bytes nattch status
0xbbd5609c 1343489 oracle 640 9663696896 21

------ Semaphore Arrays --------
key semid owner perms nsems
0xa2b8f6e8 753664 oracle 640 154

------ Message Queues --------
key msqid owner perms used-bytes messages


SQL> !ipcs -u

------ Shared Memory Status --------
segments allocated 2
pages allocated 2359397
pages resident 120062
pages swapped 0
Swap performance: 0 attempts 0 successes

------ Semaphore Status --------
used arrays = 1
allocated semaphores = 154

------ Messages: Status --------
allocated queues = 0
used headers = 0
used space = 0 bytes


SQL> !ipcs -l

------ Shared Memory Limits --------
max number of segments = 4096
max seg size (kbytes) = 10485760
max total shared memory (kbytes) = 10485760
min seg size (bytes) = 1

------ Semaphore Limits --------
max number of arrays = 128
max semaphores per array = 250
max semaphores system wide = 32000
max ops per semop call = 100
semaphore max value = 32767

------ Messages: Limits --------
max queues system wide = 16
max size of message (bytes) = 65536
default max size of queue (bytes) = 65536

在实际的工作中DBA的工作需要极其的严谨与认真,由于小的参数就很有可能导致不可预知的后果。

以下为对此参数的说明:

shmall = kernel.shmmax/pagesize(getconf PAGESIZE)

shmall 是全部允许使用的共享内存大小,shmmax 是单个段允许使用的大小。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/10130206/viewspace-1043168/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2009-03-26

  • 博文量
    169
  • 访问量
    589157