热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

oraclesysctl.conf配置文件详解

sysctl.conf配置详解接上一篇oracle12c静默安装其中的sysctl.conf配置详解sysctl.conf配置[root\POC-ORACLE\~]\#vie

sysctl.conf配置详解

接上一篇oracle 12 c静默安装 其中的 sysctl.conf配置详解


sysctl.conf配置

[root\@POC-ORACLE \~]\# vi /etc/sysctl.conffs.file-max = 6815744fs.aio-max-nr = 1048576 kernel.sem = 250 32000 100 128 kernel.shmmni = 4096 kernel.shmall = 1073741824 kernel.shmmax = 4398046511104 kernel.panic_on_oops = 1 net.core.rmem_default = 262144 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 1048576 net.ipv4.conf.all.rp_filter = 2 net.ipv4.conf.default.rp_filter = 2 net.ipv4.ip_local_port_range = 9000 65500

配置详解


fs相关

#file-max:这个参数表示进程可以同时打开的最大句柄数,这个参数直接限制最大并发连接数。

fs.file-max = 6815744

#此参数限制并发未完成的异步请求数目,应该设置避免I/O子系统故障。

fs.aio-max-nr = 1048576


kernel相关

#注意:(第一列)*(第四列)=(第二列)

kernel.sem = 250 32000 100 128

#第一列SEMMSL,表示每个信号集中的最大信号量数目。

–SEMMSL: 每个信号集的最大信号数量

数据库最大 PROCESS 实例参数的设置值再加上 10 。

Oracle 建议将 SEMMSL 的值设置为不少于 100 。

#第二列SEMMNS,表示系统范围内的最大信号量总数目。

**–SEMMNS:**用于控制整个 Linux 系统中信号(而不是信号集)的最大数。

Oracle 建议将 SEMMNS 设置为:系统中每个数据库的 PROCESSES
实例参数设置值的总和,加上最大 PROCESSES 值的两倍,最后根据系统中 Oracle
数据库的数量,每个加 10 。

使用以下计算式来确定在 Linux
系统中可以分配的信号的最大数量。它将是以下两者中较小的一个值:SEMMNS 或 (SEMMSL
* SEMMNI)

#第三列SEMOPM,表示每个信号发生时的最大系统操作数目。

–SEMOPM: 内核参数用于控制每个 semop
系统调用可以执行的信号操作的数量。semop 系统调用(函数)提供了利用一个 semop
系统调用完成多项信号操作的功能。一个信号集能够拥有每个信号集中最大数量的SEMMSL
信号,因此建议设置 SEMOPM 等于SEMMSL 。

Oracle 建议将 SEMOPM 的值设置为不少于 100 。

#第四列SEMMNI,表示系统范围内的最大信号集总数目。

**–SEMMNI :**内核参数用于控制整个 Linux 系统中信号集的最大数量。

Oracle 建议将 SEMMNI 的值设置为不少于 100 。

#kernel.shmmni 共享内存段的最大数量

kernel.shmmni = 4096

----

注意该参数不是shmmin,是shmmni,shmmin 表示内存段最小大小

shmmni缺省值4096 足够。

shmmax(bytes) = shmmni(page size, default 4k) * shmall (page的个数)

#kernel.shmmax最大共享内存2GB。单个共享内存段的最大值

kernel.shmmax = 4398046511104

----

shmmax是核心参数中最重要的参数之一,用于定义单个共享内存段的最大值,shmmax设置应足够大,能在一个共享内存段下容纳下整个的SGA,设置的过低可能会导致需要创建多个共享内存段,可能导致系统性能的下降

#kernel.shmall所有内存大小。共享内存页数的最大值

kernel.shmall = 1073741824

----

Linux共享内存页大小为4KB,
共享内存段的大小都是共享内存页大小的整数倍。一个共享内存段的最大大小是16G,需要共享内存页数是

16GB/4KB=16777216KB/4KB=4194304(页)

---------

一般情况下可以设置最大共享内存为物理内存的一半,如果物理内存是 2G,则可以设置最大共享内存为 1073741824,如上;如物理内存是 1G,则可以设置最大共享内存为 512
* 1024 * 1024 = 536870912;以此类推。

----------

#遇到 kernel panic自动重启

kernel.panic_on_oops = 1


net相关

#接收套接字缓冲区大小的默认值(以字节为单位)。

net.core.rmem_default = 262144

#接收套接字缓冲区大小的最大值(以字节为单位)。

net.core.rmem_max = 4194304

#发送套接字缓冲区大小的默认值(以字节为单位)。

**net.core.wmem_default = 262144 **

#发送套接字缓冲区大小的最大值(以字节为单位)。

**net.core.wmem_max = 1048576 **

#用来限制监听(LISTEN)队列最大数据包的数量,超过这个数量就会导致链接超时或者触发重传机制。

rp_filter Integer

0 - No source validation.

无源验证。

1 - Strict mode as defined in RFC3704 Strict Reverse Path

Each incoming packet is tested against the FIB and if theinterfaceis not the best reverse path the packet check will fail.By default failed packets are discarded.

严格的模式,在rfc3704严格的反向路径定义

每个传入的数据包的测试是针对FIB如果界面

是不是最好的反向路径的数据包检查会失败。

默认情况下,没有数据包被丢弃。

2 - Loose mode as defined in RFC3704 Loose Reverse Path

Each incoming packet's source address is also tested against the FIBand if the source address is not reachable via any interfacethe packet check will fail.

松散的模式在rfc3704松散的逆向路径定义

每个传入的数据包的源地址也测试对FIB

如果源地址不通过任何接口可达

数据包检查将失败。

#过滤模式

**net.ipv4.conf.all.rp_filter = 2 **

net.ipv4.conf.default.rp_filter = 2

#ip_local_port_range 内核端口范围

et.ipv4.ip_local_port_range = 9000 65500


推荐阅读
  • 本文讨论了在openwrt-17.01版本中,mt7628设备上初始化启动时eth0的mac地址总是随机生成的问题。每次随机生成的eth0的mac地址都会写到/sys/class/net/eth0/address目录下,而openwrt-17.01原版的SDK会根据随机生成的eth0的mac地址再生成eth0.1、eth0.2等,生成后的mac地址会保存在/etc/config/network下。 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 使用Ubuntu中的Python获取浏览器历史记录原文: ... [详细]
  • eclipse学习(第三章:ssh中的Hibernate)——11.Hibernate的缓存(2级缓存,get和load)
    本文介绍了eclipse学习中的第三章内容,主要讲解了ssh中的Hibernate的缓存,包括2级缓存和get方法、load方法的区别。文章还涉及了项目实践和相关知识点的讲解。 ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • 本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ... [详细]
  • HDFS2.x新特性
    一、集群间数据拷贝scp实现两个远程主机之间的文件复制scp-rhello.txtroothadoop103:useratguiguhello.txt推pushscp-rr ... [详细]
  • 有没有一种方法可以在不继承UIAlertController的子类或不涉及UIAlertActions的情况下 ... [详细]
  • 高质量SQL书写的30条建议
    本文提供了30条关于优化SQL的建议,包括避免使用select *,使用具体字段,以及使用limit 1等。这些建议是基于实际开发经验总结出来的,旨在帮助读者优化SQL查询。 ... [详细]
  • ALTERTABLE通过更改、添加、除去列和约束,或者通过启用或禁用约束和触发器来更改表的定义。语法ALTERTABLEtable{[ALTERCOLUMNcolu ... [详细]
  • 本文介绍了iOS数据库Sqlite的SQL语句分类和常见约束关键字。SQL语句分为DDL、DML和DQL三种类型,其中DDL语句用于定义、删除和修改数据表,关键字包括create、drop和alter。常见约束关键字包括if not exists、if exists、primary key、autoincrement、not null和default。此外,还介绍了常见的数据库数据类型,包括integer、text和real。 ... [详细]
  • CentOS 6.5安装VMware Tools及共享文件夹显示问题解决方法
    本文介绍了在CentOS 6.5上安装VMware Tools及解决共享文件夹显示问题的方法。包括清空CD/DVD使用的ISO镜像文件、创建挂载目录、改变光驱设备的读写权限等步骤。最后给出了拷贝解压VMware Tools的操作。 ... [详细]
  • web.py开发web 第八章 Formalchemy 服务端验证方法
    本文介绍了在web.py开发中使用Formalchemy进行服务端表单数据验证的方法。以User表单为例,详细说明了对各字段的验证要求,包括必填、长度限制、唯一性等。同时介绍了如何自定义验证方法来实现验证唯一性和两个密码是否相等的功能。该文提供了相关代码示例。 ... [详细]
  • 本文介绍了深入浅出Linux设备驱动编程的重要性,以及两种加载和删除Linux内核模块的方法。通过一个内核模块的例子,展示了模块的编译和加载过程,并讨论了模块对内核大小的控制。深入理解Linux设备驱动编程对于开发者来说非常重要。 ... [详细]
author-avatar
手机用户2502854043
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有