浅谈安装ORACLE时在Linux上设置内核参数的含义

yizhihongxing

安装ORACLE时在Linux上设置内核参数是非常重要的,以便获得最佳的系统性能和数据安全性。接下来,我们将详细讲解如何在Linux上设置内核参数。

安装ORACLE前的准备工作

在安装ORACLE前,我们需要进行一些准备工作。

  1. 确认内核版本:使用uname -r命令查询系统内核版本。

  2. 确认内存大小:使用cat /proc/meminfo | grep MemTotal命令查询系统内存大小。

设置内核参数

  1. 设置共享内存:

共享内存是ORACLE数据库性能的关键因素之一。对于64位系统而言,建议将shmmax设置为536870912,shmall设置为2097152

echo "kernel.shmmax = 536870912" >> /etc/sysctl.conf
echo "kernel.shmall = 2097152" >> /etc/sysctl.conf
sysctl -p
  1. 设置打开文件数:

ORACLE需要大量的文件句柄,因此需要将打开文件数最大值提高到300000。

echo "* soft nofile 300000" >> /etc/security/limits.conf
echo "* hard nofile 300000" >> /etc/security/limits.conf
  1. 禁用THP(Transparent Huge Pages):

THP是一种Linux内核的内存管理功能,它可以将分散的物理页面合并成一整块大页面。但对于ORACLE而言,THP会带来不可预知的性能问题。因此,建议禁用THP。

echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/defrag

实例说明

示例1:

在安装ORACLE数据库时,执行了以下命令:

echo "kernel.shmmax = 536870912" >> /etc/sysctl.conf
echo "kernel.shmall = 2097152" >> /etc/sysctl.conf
sysctl -p

echo "* soft nofile 300000" >> /etc/security/limits.conf
echo "* hard nofile 300000" >> /etc/security/limits.conf

echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/defrag

这个实例中执行了所有的内核参数设置。

示例2:

在不禁用THP的情况下,使用Glibc malloc库和ORACLE10g的过程中,会在后台频繁地打印“Unpurged allocation”,而作业的性能也会受到影响。此时,我们需要禁用THP。命令如下:

echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/defrag

这个示例中只执行了禁用THP的设置。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:浅谈安装ORACLE时在Linux上设置内核参数的含义 - Python技术站

(0)
上一篇 2023年5月22日
下一篇 2023年5月22日

相关文章

  • PHP使用PDO抽象层获取查询结果的方法示例

    下面是关于“PHP使用PDO抽象层获取查询结果的方法示例”的完整攻略,包括两条示例说明。 PDO抽象层介绍 PDO(PHP Data Objects)是一种PHP操作数据库的抽象层,使得PHP程序能够标准化地访问多种关系型数据库(如MySQL、SQLite、Oracle等),并提供了一组统一的API,方便程序员进行数据库操作。 PDO抽象层提供的主要类有: …

    database 2023年5月21日
    00
  • mysql 分页优化解析

    MySQL是一款常用的开源关系型数据库管理系统,而MySQL的分页查询也是开发中经常会遇到的问题。本篇攻略将会详细讲解MySQL分页优化,主要内容包括分析分页查询的效率瓶颈,介绍分页查询的优化方式,以及实际操作后效果的分析。 一、分页查询的效率瓶颈 在MySQL中,常用的分页查询语句是: SELECT * FROM table LIMIT start, co…

    database 2023年5月19日
    00
  • 解决Redis中数据不一致问题

    redis系列之数据库与缓存数据一致性解决方案                                                          数据库与缓存读写模式策略写完数据库后是否需要马上更新缓存还是直接删除缓存? (1)、如果写数据库的值与更新到缓存值是一样的,不需要经过任何的计算,可以马上更新缓存,但是如果对于那种写数据频繁而读数据…

    Redis 2023年4月12日
    00
  • mysql函数日期和时间函数汇总

    Mysql函数日期和时间函数汇总 MySQL 提供了很多内置日期和时间相关的函数,可以用来在查询中进行日期和时间的计算、格式化等操作,本文将总结并介绍这些函数的使用。 日期和时间类型 在介绍函数之前,我们先来了解一下MySQL支持的日期和时间类型。 DATE:日期类型,格式为YYYY-MM-DD。 TIME:时间类型,格式为HH:MM:SS。 DATETIM…

    database 2023年5月22日
    00
  • sql下三种批量插入数据的方法

    下面我将详细讲解 SQL 中三种批量插入数据的方法: 一、INSERT INTO SELECT 使用 INSERT INTO SELECT 的方法可以把一个表中已有的数据批量插入到另一个表中。具体步骤如下: 确定目标表和原始表 使用 SELECT 语句获取需要插入的数据 将获取到的数据插入到目标表中 示例: 我们需要将一个从另一个表中获取到的学生信息批量插入…

    database 2023年5月21日
    00
  • Linux(Centos7)下redis5集群搭建和使用说明详解

    Linux(Centos7)下redis5集群搭建和使用说明详解 准备工作 安装必要的软件 在 Centos7 上安装必要的软件包: sudo yum install epel-release sudo yum update -y sudo yum install -y git gcc rubygems 安装 Ruby、RubyGems 和 Redis 的 …

    database 2023年5月22日
    00
  • windwos下使用php连接oracle数据库的过程分享

    下面是Windows下使用PHP连接Oracle数据库的详细攻略: 准备工作 下载并安装Oracle数据库客户端和Instant Client。下载地址:Oracle Instant Client官网,选择相应的版本进行下载安装。安装后还需要将Instant Client的目录添加到系统环境变量中。 下载并安装PHP的OCI8扩展。下载地址:PECL – o…

    database 2023年5月22日
    00
  • MySQL连接报错2059

    当启动Django自带的服务器时,报错2059: … MySQLdb._exceptions.OperationalError: (2059, <NULL>) … 查看了一下mysql版本: mysql> select version(); +———–+ | version() | +———–+ | 8.…

    MySQL 2023年4月16日
    00
合作推广
合作推广
分享本页
返回顶部