外观
Oracle 操作系统配置
Linux 操作系统配置
支持的 Linux 发行版
- Oracle Linux:Oracle 官方推荐,完全优化支持 Oracle 数据库
- Red Hat Enterprise Linux (RHEL):完全支持,需要对应版本
- SUSE Linux Enterprise Server (SLES):完全支持,需要对应版本
- CentOS:社区支持,与 RHEL 兼容
系统要求
硬件要求
- 处理器:64 位处理器,至少 2 核心
- 内存:至少 2 GB,推荐 4 GB 以上
- 存储空间:
- 系统分区:至少 10 GB
- /tmp 分区:至少 1 GB
- 交换空间:根据内存大小配置
- Oracle 软件:至少 6 GB
- 数据文件:根据数据量确定
软件要求
- 操作系统版本:对应 Oracle 版本支持的 Linux 版本
- 内核版本:对应发行版的推荐内核版本
- glibc:2.12 或更高版本
- libaio:0.3.109 或更高版本
- libstdc++:4.4.7 或更高版本
- make:3.81 或更高版本
- gcc:4.4.7 或更高版本
内核参数配置
必需的内核参数
bash
# 共享内存参数
kernel.shmall = 2097152
kernel.shmmax = 4294967296
kernel.shmmni = 4096
# 信号量参数
kernel.sem = 250 32000 100 128
# 文件句柄参数
fs.file-max = 6815744
# 网络参数
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
# I/O 参数
fs.aio-max-nr = 1048576参数说明
- kernel.shmall:系统中可分配的共享内存页总数
- kernel.shmmax:单个共享内存段的最大大小
- kernel.shmmni:系统中共享内存段的最大数量
- kernel.sem:信号量参数,格式为 SEMMSL SEMMNS SEMOPM SEMMNI
- fs.file-max:系统中可打开的文件句柄最大数量
- net.ipv4.ip_local_port_range:本地端口范围
- fs.aio-max-nr:异步 I/O 请求的最大数量
配置方法
- 编辑
/etc/sysctl.conf文件,添加或修改内核参数 - 运行
sysctl -p使参数生效 - 验证参数是否正确设置:
sysctl -a | grep <参数名>
资源限制配置
用户限制
bash
# /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 32768PAM 配置
- 确保
/etc/pam.d/login文件包含:bashsession required pam_limits.so - 确保
/etc/pam.d/su文件包含:bashsession required pam_limits.so
配置方法
- 编辑
/etc/security/limits.conf文件,添加 Oracle 用户的限制 - 编辑 PAM 配置文件
- 重新登录 Oracle 用户使限制生效
- 验证限制是否正确设置:
ulimit -a
文件系统配置
推荐的文件系统
- 数据文件:EXT4、XFS 或 Btrfs
- 重做日志:EXT4 或 XFS
- 归档日志:EXT4 或 XFS
- 临时文件:EXT4 或 XFS
文件系统挂载选项
bash
# EXT4 挂载选项
/dev/sdb1 /u01 ext4 defaults,noatime,nodiratime,barrier=0 0 2
# XFS 挂载选项
/dev/sdb1 /u01 xfs defaults,noatime,nodiratime,logbufs=8,logbsize=256k 0 2配置方法
- 编辑
/etc/fstab文件,添加或修改挂载选项 - 重新挂载文件系统:
mount -o remount /u01 - 验证挂载选项是否正确:
mount | grep /u01
网络配置
主机名配置
- 编辑
/etc/hostname文件,设置主机名 - 编辑
/etc/hosts文件,添加主机名和 IP 地址的映射
网络服务
- 确保网络服务正常运行:
systemctl status network - 禁用或配置防火墙,确保 Oracle 相关端口可访问
- 配置 SELinux,根据需要设置为 permissive 或 disabled
配置方法
- 编辑网络配置文件
- 重启网络服务:
systemctl restart network - 验证网络配置:
hostname、ping localhost
Windows 操作系统配置
支持的 Windows 版本
- Windows Server:2016、2019、2022 等
- Windows:10、11(仅用于开发和测试)
系统要求
硬件要求
- 处理器:64 位处理器,至少 2 核心
- 内存:至少 2 GB,推荐 4 GB 以上
- 存储空间:
- 系统分区:至少 10 GB
- 临时空间:至少 1 GB
- Oracle 软件:至少 6 GB
- 数据文件:根据数据量确定
软件要求
- 操作系统版本:对应 Oracle 版本支持的 Windows 版本
- .NET Framework:4.7.2 或更高版本
- Windows Management Framework:5.1 或更高版本
- PowerShell:5.1 或更高版本
系统配置
服务配置
- 禁用不需要的服务:减少系统资源占用
- 设置服务启动类型:根据需要设置 Oracle 相关服务的启动类型
性能选项
- 调整视觉效果:设置为"调整为最佳性能"
- 虚拟内存:根据内存大小配置,推荐为物理内存的 1.5-3 倍
- 处理器计划:设置为"程序"
- 内存使用:设置为"系统缓存"
配置方法
- 打开"系统属性" → "高级" → "性能设置"
- 调整性能选项
- 配置虚拟内存大小
网络配置
主机名配置
- 在"控制面板" → "系统和安全" → "系统"中设置计算机名
- 编辑
C:\Windows\System32\drivers\etc\hosts文件,添加主机名和 IP 地址的映射
防火墙配置
- 允许 Oracle 相关端口通过防火墙
- 常见端口:1521(监听器)、5500(EM Express)等
配置方法
- 打开"Windows 防火墙" → "高级设置"
- 添加入站规则,允许 Oracle 相关端口
- 验证防火墙配置是否正确
用户和组配置
所需用户和组
- Oracle 软件所有者:通常为本地管理员用户
- Oracle 服务用户:用于运行 Oracle 服务的用户
用户权限
- Oracle 软件所有者需要本地管理员权限
- Oracle 服务用户需要适当的权限以运行服务
配置方法
- 在"计算机管理" → "本地用户和组"中创建用户
- 为用户分配适当的权限
- 验证用户权限是否正确
AIX 操作系统配置
支持的 AIX 版本
- AIX:7.1 TL3 或更高版本,7.2 或更高版本
系统要求
硬件要求
- 处理器:POWER 处理器,64 位
- 内存:至少 2 GB,推荐 4 GB 以上
- 存储空间:根据 Oracle 版本要求
软件要求
- AIX 版本:对应 Oracle 版本支持的 AIX 版本
- 文件集:
- bos.adt.base
- bos.adt.lib
- bos.adt.libm
- bos.perf.libperfstat
- bos.perf.perfstat
- bos.perf.proctools
- xlC.rte
内核参数配置
必需的内核参数
bash
# 编辑 /etc/sysctl.conf 文件
kernel.sched_psize=16384
kernel.sched_ds_size=16384
kernel.maxproc=16384
kernel.maxfiles=65536
kernel.maxfiles_lim=65536配置方法
- 编辑
/etc/sysctl.conf文件,添加或修改内核参数 - 运行
sysctl -p使参数生效 - 验证参数是否正确设置
Solaris 操作系统配置
支持的 Solaris 版本
- Oracle Solaris:10 1/13 或更高版本,11.1 或更高版本
系统要求
硬件要求
- 处理器:SPARC 或 x86-64 处理器
- 内存:至少 2 GB,推荐 4 GB 以上
- 存储空间:根据 Oracle 版本要求
软件要求
- Solaris 版本:对应 Oracle 版本支持的 Solaris 版本
- 补丁:必要的操作系统补丁
内核参数配置
必需的内核参数
bash
# 编辑 /etc/project 文件
user.oracle:project.max-shm-memory=(privileged,4GB,deny)
user.oracle:project.max-sem-ids=(privileged,256,deny)
user.oracle:project.max-shm-ids=(privileged,100,deny)配置方法
- 编辑
/etc/project文件,添加或修改项目参数 - 重新登录 Oracle 用户使参数生效
- 验证参数是否正确设置
操作系统配置验证
硬件验证
- CPU:
lscpu(Linux)、wmic cpu get name(Windows) - 内存:
free -h(Linux)、systeminfo | find "Total Physical Memory"(Windows) - 存储:
df -h(Linux)、wmic logicaldisk get size,freespace,caption(Windows)
软件验证
- 操作系统版本:
cat /etc/os-release(Linux)、ver(Windows) - 内核版本:
uname -r(Linux) - 必需软件:
rpm -qa | grep <package>(Linux)、wmic product get name,version(Windows)
内核参数验证
- Linux:
sysctl -a | grep <parameter> - Windows:通过注册表或系统配置工具
- AIX:
lsattr -El sys0 - Solaris:
prctl -n project.max-shm-memory -i project user.oracle
资源限制验证
- Linux:
ulimit -a - Windows:通过任务管理器或性能监视器
- AIX:
lsuser -a processes fsize oracle - Solaris:
prctl -n process.max-file-descriptor -i process $$
常见问题(FAQ)
Q1: 如何检查 Linux 系统是否满足 Oracle 数据库的安装要求?
A1: 检查 Linux 系统是否满足 Oracle 数据库安装要求的方法:
- 硬件检查:
lscpu:检查 CPU 信息free -h:检查内存信息df -h:检查磁盘空间
- 软件检查:
cat /etc/os-release:检查操作系统版本uname -r:检查内核版本rpm -qa | grep <package>:检查必需的软件包
- 内核参数检查:
sysctl -a | grep <parameter>:检查内核参数
- 资源限制检查:
ulimit -a:检查用户资源限制
Q2: Windows 系统上安装 Oracle 数据库需要哪些权限?
A2: Windows 系统上安装 Oracle 数据库需要的权限:
- 本地管理员权限:安装 Oracle 软件的用户需要本地管理员权限
- 服务登录权限:Oracle 服务用户需要适当的权限以登录和运行服务
- 文件系统权限:对 Oracle 安装目录和数据文件目录的读写权限
- 注册表权限:对 Oracle 相关注册表项的修改权限
Q3: 如何优化 Linux 系统以提高 Oracle 数据库性能?
A3: 优化 Linux 系统以提高 Oracle 数据库性能的方法:
- 内核参数优化:
- 调整共享内存参数(shmall, shmmax)
- 调整信号量参数(sem)
- 调整文件句柄参数(file-max)
- 调整网络参数(ip_local_port_range)
- 存储优化:
- 使用高性能文件系统(如 XFS)
- 优化文件系统挂载选项
- 使用 RAID 10 存储数据文件
- 内存优化:
- 配置适当的交换空间
- 调整内存分配策略
- 网络优化:
- 配置适当的网络参数
- 确保网络带宽足够
- 资源限制优化:
- 增加 Oracle 用户的进程数和文件句柄限制
Q4: 安装 Oracle 数据库时遇到操作系统版本不兼容的问题怎么办?
A4: 遇到操作系统版本不兼容问题的解决方法:
- 检查 Oracle 版本要求:确认当前操作系统版本是否在 Oracle 支持的版本列表中
- 升级操作系统:如果可能,升级操作系统到受支持的版本
- 使用兼容模式:某些情况下可以使用兼容模式安装
- 申请补丁:联系 Oracle 支持,获取针对特定操作系统版本的补丁
- 考虑替代方案:如果无法升级操作系统,考虑使用支持当前操作系统版本的 Oracle 版本
Q5: 如何为 Oracle RAC 集群配置操作系统?
A5: 为 Oracle RAC 集群配置操作系统的方法:
- 所有节点配置一致:确保所有集群节点的操作系统配置相同
- 网络配置:
- 配置公共网络和私有网络
- 确保私有网络的带宽和延迟满足要求
- 配置网络绑定(如果需要)
- 存储配置:
- 配置共享存储
- 确保所有节点可以访问共享存储
- 配置适当的存储多路径
- 时间同步:
- 配置 NTP 或 Chrony 确保所有节点时间同步
- 防火墙配置:
- 确保集群节点之间的通信不受防火墙限制
- 用户和组配置:
- 在所有节点上创建相同的 Oracle 用户和组
- 确保用户和组的 UID/GID 一致
