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服务器规划
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
setenforce 0
# 永久关闭SELinux,编辑配置文件
vi /etc/selinux/config
# 修改为:
SELINUX=disabled
3.3.5 配置大内存页(HugePages)
大内存页可以提高Oracle数据库的性能,减少内存页面转换开销。
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数据库性能不稳定,必须关闭。
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以获得更好的性能稳定性。
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)。
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数据库所需的内核参数。
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 配置用户资源限制
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源(可选)
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
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
from oracle:www.itpux.com
本文由风哥教程整理发布,仅用于学习测试使用,转载注明出处:http://www.fgedu.net.cn/10327.html
