Linux下安装oracle数据库内核参数说明
admin
2023-01-25 12:01:16
0

在安装数据库时需要配置以下内核参数:

fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 4294967295
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 = 1048576

引用自:https://docs.oracle.com/cd/E11882_01/install.112/e47689/pre_install.htm#LADBI1187

信号量和共享内存是两组截然不同的操作系统资源。信号量是Oracle用于进程间通信的系统资源,它们占用相对较小的内存空间,而共享内存用于包含SGA并且可以占用大部分物理内存。

aio-max-nr:所有活动异步 I/O 上下文中可允许的最多事件数。默认值为 65536;
file-max:当前内核可以打开的最大的文件句柄数;
shmmax:以字节为单位规定内核可允许的最大共享内存段。64位默认值为 68719476736;32位默认值为 4294967295。注:但内核支持的值比这个值要多得多,oracle中最小配置为536870912,64位最大值为物理内存-1字节,32位最大值为小于4GB-1个字节的值或4294967295,推荐设置为物理内存大小的1/2;
shmall:以字节为单位规定一次在该系统中可以使用的共享内存总量。64位默认值为4294967296;32位默认值为 268435456。oracle推荐的最小值为:2097152,在内存较小时可以使用小于2097152的值,内存较大时(超过8G)需要通过以下公式进行计划:公式1:memtotal/pagesize。公式2:(SHMMAX/getpagesize()*(SHMMNI/16))。
shmmni:系统范围内最大共享内存段数量。在 64 位和 32 位架构机器中的默认值都是 4096
sem:即semaphores缩写。共有四个值与之对应,oracle建议的值为kernel.sem = 250 32000 100 128 ,分别对应:
SEMMSL | maximum number of semaphores in a semphore set   | 250   |定义每个Oracle数据库的最大信号量数。|取值范围1 – 65536
SEMMNS | maximum number of semphores in the system        | 32000 |定义系统上的最大信号量。            |取值范围1 – 2147483647  
SEMOPM | maximum number of operations per semop(P) call   | 100   |定义每个semop调用的最大操作数。     |取值范围100
SEMMNI | maximum number of semaphore sets in system       | 128   |定义整个系统中信号量集的最大数量    |取值范围1 – 32768
规则:
SEMMNI*SEMMSL>=SEMMNS,SEMMNS=系统中每个实例process+10之和+2*max(process)

操作系统与sysctl中kernel.sem参数的对应关系

$ ipcs -ls

------ 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    // SEMOP
semaphore max value = 32767

与信号量相关的问题:
问题1:

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

[root@prodb linux]# ipcs -s

------ Semaphore Arrays --------
key        semid      owner      perms      nsems     
0x00000000 0          root       600        1         
0x00000000 65537      root       600        1         
0x9a31ff94 1507331    oracle     640        154 
本例中154>max number of arrays = 128需要调整SEMMNI值为200及以上。

问题2:

Getting ORA-600 [OSDEP_INTERNAL] errors while starting up the database:

ORA-00600: internal error code, arguments: [OSDEP_INTERNAL],
[], [], [], [], [], [], []
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: sskgpsemsper

semmns值太小,修改为:kernel.sem = 256 32768 100 228

信号量的删除

信号量或共享内存错误主要出现在实例启动时(特别是'startup nomount'阶段)。这是Oracle尝试获取实例的信号量和共享内存的唯一时间。在正常的数据库操作期间,很少出现与信号量或共享内存相关的错误。发生这些错误的最常见情况是在创建新数据库期间。但是,有时当Oracle实例崩溃时,操作系统可能无法释放共享内存段。这限制了实例可用于再次启动的共享内存总量。在这种情况下,您需要手动删除这些段。

[oracle@prodb ~]$ $ORACLE_HOME/bin/sysresv

IPC Resources for ORACLE_SID "PROD3" :
Shared Memory:
ID              KEY
1966083         0x00000000
1998852         0x00000000
2031621         0x4db7973c
Semaphores:
ID              KEY
1507331         0x9a31ff94
Oracle Instance alive for sid "PROD3"

Linux: 
% ipcrm shm 2031621 1998852 1966083

Other Unix: 
% ipcrm -m 12189717

相关内容

热门资讯

【第一财经】“天下棋牌.怎么开... 网上科普关于“天下棋牌有没有挂”话题很是火热,小编也是针对天下棋牌作*弊开挂的方法以及开挂对应的知识...
玩家分享攻略“天天乐棋牌.到底... 有 亲,根据资深记者爆料天天乐棋牌是可以开挂的,确实有挂(咨询软件无需打...
今日重大通报“微乐锄大贰.到底... 今日重大通报“微乐锄大贰.到底是不是挂?”其实是有挂您好,微乐锄大贰这个游戏其实有挂的,确实是有挂的...
火山引擎总裁谭待:告别“零和内... 《财经》新媒体 撰稿人 舒志娟/文 高素英/编辑 AI大模型赛场,已从技术参数的比拼转向规模化落地的...
终于懂了“同城游熟人麻将.开挂... 家人们!今天小编来为大家解答同城游熟人麻将透视挂怎么安装这个问题咨询软件客服徽9784099的挂在哪...
我来教教您“青松游戏.到底是不... 有 亲,根据资深记者爆料青松游戏是可以开挂的,确实有挂(咨询软件无需打开...
玩家最新攻略“海岛互娱.辅助开... 您好:海岛互娱这款游戏可以开挂,确实是有挂的,需要了解加客服微信【9784099】很多玩家在这款游戏...
终于了解“微乐安徽麻将.怎么装... 终于了解“微乐安徽麻将.怎么装挂?”确实真的有挂您好,微乐安徽麻将这个游戏其实有挂的,确实是有挂的,...
【第一资讯】“战皇炸金花.真的... 【第一资讯】“战皇炸金花.真的有挂吗?”确实真的有挂您好,战皇炸金花这个游戏其实有挂的,确实是有挂的...
【今日要闻】“乐禧乾安麻将.有... 网上科普关于“乐禧乾安麻将有没有挂”话题很是火热,小编也是针对乐禧乾安麻将作*弊开挂的方法以及开挂对...