分享更有价值
被信任是一种快乐

怎么维护ORACLE在各操作系统信号量与共享内存

文章页正文上

这篇文章主要讲解了“怎么维护ORACLE在各操作系统信号量与共享内存”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么维护ORACLE在各操作系统信号量与共享内存”吧!1.LIUNXcat /etc/sysctl.conf共享内存:kernel.shmall = 2097152 # 可以使用的共享内存的总量,单位:页。 取值:推荐大于shmmax/page_size(getconf PAGE_SIZE 一般4096)kernel.shmmax = 2147483648 # 最大单个共享内存段大小。 取值:推荐大于sag_max_sizekernel.shmmni = 4096 # 整个系统共享内存段的最大数目。 取值:默认值信号量:kernel.sem = 5010 641280 5010 128 #SEMMSL, SEMMNS, SEMOPM, SEMMNI每个信号对象集的最大信号对象数;系统范围内最大信号对象数;每个信号对象支持的最大操作数;系统范围内最大信号对象集数。SEMMSL设置:最小250;对于processes参数设置较大的系统建议设置为processes+10SEMMNS设置:免费主机域名至少32000;SEMMSL * SEMMNISEMOPM设置:至少100;或者等于SEMMSLSEMMNI含义:linux系统信号量set最大个数设置:最少1282.HPUX信号量:kctune -h -B semmni=”4096″ 全系统的最大信号量 Default: nproc(全系统进程的最大数)kctune -h -B semmns=”16384″ 全系统内,用户可访问的最大信号量 Default: semmni*2kctune -h -B semmnu=”4092″ 每个信号量的最大数 Maximum: nproc-4kctune -h -B semvmx=”32767″ 所允许的信号量值的最大数 Maximum: 65535共享内存:kctune -h -B shmmax=”34359738368″ 最大共享内存段大小kctune -h -B shmem=1 启动/关闭共享内存 1(开启)kctune -h -B shmmni=”4096″ 系统上的最大段kctune -h -B shmseg=”512″ 每个进程的最大段 Maximum: shmmni3.AIXAIX一般不用手工调整,而是系统动态的,如果运行后报共享内存或信号量不足,将maxuproc单个用户允许的最大进程数 调大即可(用命令免费主机域名smitty system或chdev)。$su – root#chdev –l sys0 –a maxuproc=10004.Solaris修改Solaris 9里/etc/system,参考值如下所示:信号量:set semsys:seminfo_semmni=20000 指定最大信号标识符数set semsys:seminfo_semmsl=29000 指定每个信号标识符的最大 System V 信号数set semsys:seminfo_semmns=30000 系统上的最大 System V 信号数。set semsys:seminfo_semopm=31000 指定每个 semop 调用的最大 System V 信号操作数。set semsys:seminfo_semmnu=32000 System V 信号系统支持的撤消结构总数。set semsys:seminfo_semume=10 可以由任一进程使用的最大 System V 信号撤消结构数set semsys:seminfo_semvmx=32767 可以设置的最大信号值共享内存:shmsys:shminfo_shmmni 对可以创建的共享内存段数设置的系统范围限制。shmsys:shminfo_shmmax 可以创建的 System V 共享内存段的最大大小。----------信号量与共享内存管理----------1.ORACLE提供了sysresv工具管理共享内存以及信号量$ sysresv -l “ORCL” 查看实例对应的信号量与共享内存IPC Resources for ORACLE_SID “ORCL”:Shared Memory:ID KEY65537 0x3b751258Semaphores:ID KEY98304 0xe21c75d0Oracle Instance alive for sid “ORCL”sysresv -f参数可以移除共享段(仅适用于实例不存在,操作系统共享段不释放条件)$ export ORACLE_SID=orcl$ sysresv -f orcl2.操作系统级别可以通过ipcs/ipcrm管理(多实例下可以结合sysresv确定)ipcs -a或ipcs 显示当前系统中共享内存段、信号量集、消息队列的使用情况;ipcs -m 显示共享内存段的使用情况;ipcs -s 显示信号量集的使用情况;ipcs -q 显示消息队列的使用情况;清理相关共享内存、信号量,队列等共享信息命令如下:ipcrm -s semid 删除对应的信号量集ipcrm -m shmid 删除对应的共享内存段ipcrm -q msqid 删除对应的消息队列3.经常有因为共享内存、信号量,队列等共享信息没有干净地清理而引起一些问题比如:SQL> startupORA-27154: post/wait create failedORA-27300: OS system dependent operation:semget failed with status: 28ORA-27301: OS failure message: No space left on deviceORA-27302: failure occurred at: sskgpcreates这个时就可能需要清理相关的信号量(也可以增加信号量值)感谢各位的阅读,以上就是“怎么维护ORACLE在各操作系统信号量与共享内存”的内容了,经过本文的学习后,相信大家对怎么维护ORACLE在各操作系统信号量与共享内存这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是云技术,小编将为大家推送更多相关知识点的文章,欢迎关注!

相关推荐: MySQL中参数wait_timeout和interactive_timeout以及空闲超时的实现方法是什么

本篇内容介绍了“MySQL中参数wait_timeout和interactive_timeout以及空闲超时的实现方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够…

文章页内容下
赞(0) 打赏
版权声明:本站采用知识共享、学习交流,不允许用于商业用途;文章由发布者自行承担一切责任,与本站无关。
文章页正文下
文章页评论上

云服务器、web空间可免费试用

宝塔面板主机、支持php,mysql等,SSL部署;安全高速企业专供99.999%稳定,另有高防主机、不限制内容等类型,具体可咨询QQ:360163164,Tel同微信:18905205712

主机选购导航云服务器试用

登录

找回密码

注册