1. 首页 > Oracle教程 > 正文

Oracle教程FG002-Oracle数据库Linux系统安装配置(OEL7.9,OEL9.3)

本文档风哥主要介绍Oracle数据库Linux系统安装配置,包括Oracle Linux 7.9和Oracle Linux 9.3的安装、系统配置等内容,由风哥教程参考Oracle官方文档Install and Upgrade内容编写,适合DBA人员在学习和测试中使用,如果要应用于生产环境则需要自行确认。

Part01-基础概念与理论知识

1.1 Oracle Linux简介

Oracle Linux是由Oracle公司提供的企业级Linux发行版,基于Red Hat Enterprise Linux (RHEL),并添加了Oracle的增强和优化。Oracle Linux提供了对Oracle数据库和其他Oracle产品的最佳支持。更多视频教程www.fgedu.net.cn

1.2 Oracle Linux版本选择

Oracle Linux 7.9是长期支持版本,提供到2024年的支持;Oracle Linux 9.3是最新版本,提供更现代的特性和更长的支持周期。生产环境可以根据应用兼容性和需求选择合适的版本。

1.3 Oracle Linux硬件要求

Oracle Linux 7.9和9.3的最低硬件要求:内存至少1GB,建议4GB以上;CPU至少1核,建议2核以上;磁盘空间至少10GB,建议20GB以上。

Part02-生产环境规划与建议

2.1 Oracle Linux服务器规划

生产环境建议:使用专用服务器部署Oracle Linux,确保硬件满足Oracle数据库的要求。对于生产环境,建议使用至少16GB内存,8核CPU,100GB以上磁盘空间。

2.2 Oracle Linux网络规划

配置静态IP地址,确保网络连接稳定。对于RAC环境,需要配置多个网络接口,包括公共网络、私有网络和管理网络。学习交流加群风哥微信: itpux-com

2.3 Oracle Linux存储规划

建议使用LVM(逻辑卷管理)进行存储管理,为不同的文件系统分配适当的空间。对于Oracle数据库,建议单独挂载/oracle、/oradata等分区。

Part03-生产环境项目实施方案

3.1 Oracle Linux 7.9安装

步骤1:语言选择

选择”中文”作为安装语言,点击”继续”。

步骤2:安装信息摘要

在安装信息摘要页面,配置以下选项:

  • 日期和时间:设置正确的时区和时间。
  • 键盘:选择”中文”键盘。
  • 软件选择:选择”带GUI的服务器”。
  • 安装位置:配置磁盘分区。
  • 网络和主机名:配置网络连接。

步骤3:磁盘分区配置

推荐的分区方案:

  • /boot:500MB
  • swap:内存大小(最大8GB)
  • /:剩余空间(建议至少50GB)
  • /oracle:单独分区(建议100GB以上)

步骤4:网络配置

1. 打开网络连接。

2. 配置静态IP地址、子网掩码、网关和DNS。

3. 设置主机名。

3.2 Oracle Linux 9.3安装

Oracle Linux 9.3的安装步骤与Oracle Linux 7.9类似,主要区别在于:

  • /boot分区建议设置为1GB
  • 网络配置使用NetworkManager
  • 界面布局略有不同

3.3 Oracle Linux系统配置

3.3.1 检查系统和内核版本

# 检查系统版本
cat /etc/oracle-release

# 检查内核版本
uname -r

3.3.2 配置主机名和hosts文件

# 配置主机名
hostnamectl set-hostname fgedu.net.cn

# 编辑/etc/hosts文件
vi /etc/hosts
# 添加以下内容(根据实际IP修改)
192.168.1.100 fgedu.net.cn fgedu

3.3.3 防火墙配置

# 关闭防火墙(生产环境建议开放特定端口而非完全关闭)
systemctl stop firewalld
systemctl disable firewalld

# 或者配置防火墙开放必要端口(推荐用于生产环境)
firewall-cmd –permanent –add-port=1521/tcp
firewall-cmd –permanent –add-port=5500/tcp
firewall-cmd –permanent –add-port=1522/tcp
firewall-cmd –reload

3.3.4 关闭SELinux

# 临时关闭SELinux
setenforce 0

# 永久关闭SELinux,编辑配置文件
vi /etc/selinux/config
# 修改为:
SELINUX=disabled

3.3.5 配置大内存页(HugePages)

大内存页可以提高Oracle数据库的性能,减少内存页面转换开销。

# 1. 检查当前大内存页状态
grep HugePages /proc/meminfo

# 2. 计算需要的大内存页数量
# 公式:HugePages_Total = (物理内存 * 0.8) / Hugepagesize
# 例如:64GB内存,Hugepagesize=2MB,则HugePages_Total = (64*1024*0.8)/2 = 26214

# 3. 查看当前Hugepagesize
grep Hugepagesize /proc/meminfo

# 4. 编辑/etc/sysctl.conf文件,添加或修改以下参数
vi /etc/sysctl.conf
# 添加:
vm.nr_hugepages = 26214 # 根据实际内存调整
vm.hugetlb_shm_group = 54321 # dba组的gid

# 5. 使配置生效
sysctl -p

# 6. 编辑/etc/security/limits.conf,设置内存锁定
vi /etc/security/limits.conf
# 添加:
oracle soft memlock unlimited
oracle hard memlock unlimited
grid soft memlock unlimited
grid hard memlock unlimited

# 7. 重启系统后验证
grep HugePages /proc/meminfo

3.3.6 关闭透明大页(Transparent HugePages)

透明大页会导致Oracle数据库性能不稳定,必须关闭。

# 1. 检查透明大页状态
cat /sys/kernel/mm/transparent_hugepage/enabled
# 或
cat /sys/kernel/mm/redhat_transparent_hugepage/enabled

# 2. 临时关闭透明大页
echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/defrag

# 3. 永久关闭透明大页 – 方法1:修改GRUB配置
vi /etc/default/grub
# 在GRUB_CMDLINE_LINUX中添加:transparent_hugepage=never
# 示例:
GRUB_CMDLINE_LINUX=”crashkernel=auto rhgb quiet transparent_hugepage=never”

# 4. 重新生成GRUB配置文件
# BIOS系统:
grub2-mkconfig -o /boot/grub2/grub.cfg
# UEFI系统:
grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg

# 5. 永久关闭透明大页 – 方法2:使用tuned配置(OEL7/8/9)
tuned-adm list
tuned-adm profile throughput-performance
mkdir -p /etc/tuned/throughput-performance
vi /etc/tuned/throughput-performance/tuned.conf
# 添加:
[vm]
transparent_hugepages=never
tuned-adm active

# 6. 重启系统后验证
cat /sys/kernel/mm/transparent_hugepage/enabled
# 应该显示:[never]

3.3.7 关闭NUMA(非一致内存访问)

对于Oracle数据库,建议关闭NUMA以获得更好的性能稳定性。

# 1. 检查NUMA状态
numactl –hardware
# 或
ls /sys/devices/system/node/# 2. 临时关闭NUMA(仅用于测试,需要重启生效)
echo 0 > /proc/sys/kernel/numa_balancing

# 3. 永久关闭NUMA – 方法1:修改GRUB配置
vi /etc/default/grub
# 在GRUB_CMDLINE_LINUX中添加:numa=off
# 示例:
GRUB_CMDLINE_LINUX=”crashkernel=auto rhgb quiet transparent_hugepage=never numa=off”

# 4. 重新生成GRUB配置文件
# BIOS系统:
grub2-mkconfig -o /boot/grub2/grub.cfg
# UEFI系统:
grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg

# 5. 永久关闭NUMA – 方法2:在BIOS中关闭(推荐)
# 重启服务器进入BIOS设置,找到NUMA相关选项并禁用

# 6. 重启后验证
numactl –hardware
# 应该只显示一个node

3.3.8 配置TMPFS

配置TMPFS用于Oracle自动内存管理(AMM)。

# 1. 检查当前TMPFS大小
df -h /dev/shm

# 2. 临时修改TMPFS大小
mount -o remount,size=32G /dev/shm

# 3. 永久修改TMPFS大小,编辑/etc/fstab
vi /etc/fstab
# 修改tmpfs行:
tmpfs /dev/shm tmpfs defaults,size=32G 0 0
# 注意:size应至少为MEMORY_TARGET和MEMORY_MAX_TARGET的值

# 4. 重新挂载验证
mount -o remount /dev/shm
df -h /dev/shm

3.3.9 配置内核参数

配置Oracle数据库所需的内核参数。

# 1. 编辑/etc/sysctl.conf文件
vi /etc/sysctl.conf
# 添加或修改以下参数:

# 内存参数
kernel.shmall = 4294967296
kernel.shmmax = 68719476736
kernel.shmmni = 4096

# 信号量参数
kernel.sem = 250 32000 100 128

# 文件描述符参数
fs.file-max = 6815744
fs.aio-max-nr = 1048576

# 网络参数
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

# 大内存页参数(如果已配置HugePages)
vm.nr_hugepages = 26214
vm.hugetlb_shm_group = 54321

# 2. 使内核参数生效
sysctl -p

# 3. 验证内核参数
sysctl -a | grep kernel.shmmax
sysctl -a | grep fs.file-max

3.3.10 配置用户资源限制

# 1. 编辑/etc/security/limits.conf文件
vi /etc/security/limits.conf
# 添加:
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
oracle hard stack 32768
oracle soft memlock unlimited
oracle hard memlock unlimited

grid soft nproc 2047
grid hard nproc 16384
grid soft nofile 1024
grid hard nofile 65536
grid soft stack 10240
grid hard stack 32768
grid soft memlock unlimited
grid hard memlock unlimited

# 2. 编辑/etc/pam.d/login文件(如需要)
vi /etc/pam.d/login
# 确保有以下行:
session required pam_limits.so

# 3. 编辑/etc/profile,设置用户进程数限制
vi /etc/profile
# 添加:
if [ $USER = “oracle” ]; then
if [ $SHELL = “/bin/ksh” ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi

3.3.11 禁用不必要的服务

# 查看所有服务状态
systemctl list-unit-files –type=service

# 禁用不必要的服务(根据实际情况调整)
systemctl disable postfix
systemctl disable avahi-daemon
systemctl disable cups
systemctl disable bluetooth

3.3.12 配置YUM源(可选)

# 1. 备份原有的YUM源
cd /etc/yum.repos.d
mkdir backup
mv *.repo backup/# 2. 配置本地YUM源(如果有安装介质)
# 挂载ISO镜像
mount -o loop /path/to/OracleLinux-7.9-x86_64-dvd.iso /mnt

# 3. 创建本地YUM源配置文件
vi /etc/yum.repos.d/local.repo
# 添加:
[local]
name=Local Oracle Linux
baseurl=file:///mnt
enabled=1
gpgcheck=0

# 4. 清理YUM缓存并验证
yum clean all
yum list

风哥提示:Oracle Linux是Oracle官方推荐的操作系统,与Oracle数据库配合使用可以获得最佳性能和稳定性。

Part04-生产案例与实战讲解

4.1 Oracle Linux系统验证

# 验证系统版本
cat /etc/oracle-release

# 验证网络配置
ip addr

# 验证存储配置
df -h

4.2 Oracle Linux常见问题处理

在Oracle Linux安装配置过程中,可能会遇到以下问题:

  • Oracle Linux网络配置失败:检查网络线缆连接,确保IP地址配置正确。
  • Oracle Linux磁盘分区失败:确保磁盘有足够的空间,使用正确的分区工具。
  • Oracle Linux系统启动失败:检查GRUB配置,确保引导设备正确。

Part05-风哥经验总结与分享

5.1 Oracle Linux最佳实践

在生产环境中,建议使用Oracle Linux 7.9或9.3版本,并定期更新系统补丁。同时,要配置合理的磁盘分区和网络设置,确保系统的稳定性和性能。学习交流加群风哥QQ113257174

5.2 Oracle Linux安装检查清单

检查项
状态
说明

硬件检查完成

内存、CPU、磁盘满足要求

系统版本选择

选择合适的Oracle Linux版本

内核版本检查

使用Oracle认证的内核版本

磁盘分区完成

按规划配置分区

网络配置完成

静态IP、主机名配置正确

hosts文件已配置

主机名和IP地址映射正确

防火墙已配置

开放必要端口(1521、5500、1522等)

SELinux已关闭

或配置为Permissive

大内存页(HugePages)已配置

根据物理内存计算并配置

透明大页(Transparent HugePages)已关闭

验证状态为[never]

NUMA已关闭

在GRUB或BIOS中禁用

TMPFS已配置

/dev/shm大小满足要求

内核参数已配置

shmmax、shmall、sem、file-max等

用户资源限制已配置

nproc、nofile、stack、memlock等

不必要的服务已禁用

postfix、avahi-daemon、cups、bluetooth等

YUM源已配置(可选)

本地或网络YUM源可用

系统已重启并验证所有配置

重启后再次检查所有配置项

5.3 Oracle Linux后续步骤

完成Oracle Linux系统安装配置后,可以开始安装Oracle数据库。在安装数据库之前,还需要进行一些系统优化,如内核参数调整、大内存页配置等。更多学习教程公众号风哥教程itpux_com

风哥提示:在生产环境中,建议使用Oracle Linux操作系统,因为它是Oracle官方认证的操作系统,提供最佳的性能和稳定性。

注意事项:本文档内容仅供学习和测试参考,生产环境使用前请务必进行充分测试和验证。

风哥提示:完成Linux系统安装后,接下来可以进行Oracle数据库的安装前准备工作。学习交流加群风哥微信: itpux-com

持续改进:系统配置完成后,建议定期更新系统补丁,确保系统的安全性和稳定性。

风哥提示:如果遇到问题,可以由风哥教程参考Oracle官方文档,或者加入学习交流群讨论。学习交流加群风哥QQ113257174

重要提醒:生产环境操作请务必谨慎,操作前请做好备份,并在测试环境充分验证。

from oracle:www.itpux.com

本文由风哥教程整理发布,仅用于学习测试使用,转载注明出处:http://www.fgedu.net.cn/10327.html

联系我们

在线咨询:点击这里给我发消息

微信号:itpux-com

工作日:9:30-18:30,节假日休息