作者 | 徐sir
来源 |公众号 徐sir的IT之路
如需转载请私信联系我,除了墨天轮、CSDN、PGFANS和微信公众号以外都不是我的号
如果觉得我写的对你有帮助,麻烦动动小手,点下:转发、关注、在看,帮我多增加点人气
写这个测试的主要原因是前一阵群里大佬们一直在讨论如何在REDHAT8.0上安装ORACLE 11G,我还好奇了,现在一般不是都用7.9来跑11G么
沟通一下才了解redhat 7快要停保了,正规的企业为了避免以后的问题,都考虑迁移到新版本的系统上。
关于红帽7的生命周期,又查询了一下,发现还能挺几年,但是这个额外的维保得花钱购买。
我这目前所处的客户环境还比较落后,大部分都切到国产化了,都是一些小应用,那咱也得学啊!
于的查阅了相关的官方文档、BLOG确认11G确实是支持在linux8.0上运行。
汇总了这么一篇,写的有问题欢迎大家一起指正。
1、关于操作系统认证版本
目前在MOS上查证,oracle database 11.2.0.4己经通过oracle linux8的认证
同样11GR2的官方文档也进行了相应的更新,增了关于OEL8以及RHEL8的说明,支持11.2.0.4数据库,但是8.2以后的系统不支持11.2.0.4的GI,如果想要实现高可用,需要安装19C的GI
2、硬件要求
内存要求是最小1G,建议2G或以上
SWAP要求如下配置
RAM |
Swap Space |
Between 1 GB and 2 GB |
1.5 times the size of the RAM |
Between 2 GB and 16 GB |
Equal to the size of the RAM |
More than 16 GB |
16 GB |
关于存储空间遵从11GR2官方手册的要求
至少要有1G以上的/tmp空间
至少4.4G的空间用来安装database软件
至少1.7G的空间还创建数据库
文件系统可以是EXT2/EXT3/EXT4/XFS等(see Note:236826.1 for further information)
3、关于Linux8.0安装Oracle的内核支持
Kernel requirements
The following kernels are supported:
Oracle Linux 8.2 with the Unbreakable Enterprise Kernel 6: 5.4.17-2136.302.7.2.1.el8_5.x86_64 or later
Oracle Linux 8.2 with the Red Hat Compatible Kernel: 4.18.0-348.12.2.el8_5.x86_64 or later
Red Hat Enterprise Linux 8.2: 4.18.0-348.12.2.el8_5.x86_64 or later
Runlevel : 3 or 5
4、安装oracle
4.1、LINUX系统安装
我这里使用了oracle linux 8.9
系统安装的时候,选择最小安装,勾选了一些常用的工具和开发包。
安装完,查看当前系统版本
[root@oracle ~]# uname -a
Linux oracle 5.15.0-200.131.27.el8uek.x86_64 #2 SMP Wed Oct 4 22:19:10 PDT 2023 x86_64 x86_64 x86_64 GNU/Linux
[root@oracle ~]# cat etc/oracle-release
Oracle Linux Server release 8.9
4.2、配置主机名
hostnamectl set-hostname oracle
echo "192.168.56.200 oracle" >>/etc/hosts
4.3、创建用户、参数配置
#create user
/usr/sbin/groupadd oinstall
/usr/sbin/groupadd dba
/usr/sbin/groupadd oper
/usr/sbin/useradd -g oinstall -G dba,oper oracle
echo "oracle" | passwd --stdin oracle
#change system parameter
cp etc/sysctl.conf etc/sysctl.conf.bak
echo "#oracle" >> /etc/sysctl.conf
echo "kernel.shmmni = 4096" >> /etc/sysctl.conf
echo "fs.aio-max-nr = 1048576" >> /etc/sysctl.conf
echo "fs.file-max = 6815744" >> /etc/sysctl.conf
echo "kernel.sem = 250 32000 100 128" >> /etc/sysctl.conf
echo "net.ipv4.ip_local_port_range = 9000 65500" >> /etc/sysctl.conf
echo "net.core.rmem_default = 262144" >> /etc/sysctl.conf
echo "net.core.rmem_max = 4194304" >> /etc/sysctl.conf
echo "net.core.wmem_default = 262144" >> /etc/sysctl.conf
echo "net.core.wmem_max = 1048586" >> /etc/sysctl.conf
echo "vm.swappiness = 10" >> /etc/sysctl.conf
echo "kernel.shmmax= $(free|grep Mem |awk '{print int($2*1024*0.85)}')" >> /etc/sysctl.conf
echo "kernel.shmall = $(free|grep Mem |awk '{print int(($2*1024*0.85)/4096)}')" >> /etc/sysctl.conf
echo "vm.nr_hugepages = $(free -m|grep Mem |awk '{print int(($2*0.8*0.8)/2)}')" >> /etc/sysctl.conf
free -m
sysctl -p
echo "#oracle" >> /etc/security/limits.conf
echo "oracle soft nproc 2047" >> /etc/security/limits.conf
echo "oracle hard nproc 16384" >> /etc/security/limits.conf
echo "oracle soft nofile 1024" >> /etc/security/limits.conf
echo "oracle hard nofile 65536" >> /etc/security/limits.conf
echo "* soft memlock $(free |grep Mem|awk '{print int($2*0.90*1024)}')" >> /etc/security/limits.conf
echo "* hard memlock $(free |grep Mem|awk '{print int($2*0.90*1024)}')" >> /etc/security/limits.conf
#add oracle profile
cat >> /etc/profile