>데이터 베이스 >MySQL 튜토리얼 >Oracle数据库Linux服务器的内核参数配置

Oracle数据库Linux服务器的内核参数配置

WBOY
WBOY원래의
2016-06-07 17:25:191221검색

如果Linux内核参数设置不当或者不合理,oracle也会出错,Linux内核参数大致概括为4类:共享内存(shared memory),信号量(semaphor

如果Linux内核参数设置不当或者不合理,Oracle也会出错,比如
10g中:
SQL> startup;
ORA-27102: out of memory
Linux-x86_64 Error: 28: No space left on device
11g RAC下报错:
SQL> startup;
ORA-00845: MEMORY_TARGET not supported on this system

本为总结下oracle数据库在linux下相关内核参数的配置

Linux内核参数大致概括为4类:共享内存(shared memory),信号量(semaphores),网络参数(network),文件参数(open files)
1.共享内存

内存查看:
[root@oraserv ~]# free -m
            total      used      free    shared    buffers    cached
Mem:          249        123        125          0          8        74
-/+ buffers/cache:        41        208
Swap:        2000          0      2000
    共享内存是用于进程间通信的一种机制,共享内存可以由指定的多个进程共用,是一种系统资源。共享内存以段的形式分配,段有最大最小,可分配数量有限。

  共享内存允许两个或更多进程访问同一块内存,就如同 malloc() 函数向不同进程返回了指向同一个物理内存区域的指针。当一个进程改变了这块地址中的内容的时候,其它进程都会察觉到这个更改。
 
  所有共享内存块的大小都必须是系统页面大小的整数倍。系统页面大小指的是系统中单个内存页面包含的字节数。在 Linux 系统中,内存页面大小是4KB,不过仍然应该通过调用 getpagesize 获取这个值(单位字节)。

[root@oraserv ~]# getconf PAGE_SIZE
4096

[root@oraserv ~]# ipcs -l
------ Shared Memory Limits --------
max number of segments = 4096                // SHMMNI
max seg size (kbytes) = 4194303                // SHMMAX
max total shared memory (kbytes) = 1073741824        // SHMALL
min seg size (bytes) = 1

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

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

linux

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.