在64位OL7或者RHEL7上安装Oracle 12.2数据库的要求
在继续安装之前,请花一些时间认真复查以下各项要求,以避免安装二进制文件期间出现任何明显的问题。
下载 Oracle Database 12.2 软件
-从 My Oracle Support 下载 Oracle Database 12.2 软件
-下载软件之后,验证所下载软件的完整性
Note 549617.1 How To Verify The Integrity Of A Patch/Software Download? [Video]
-如果在其他计算机上下载了软件,请使用二进制模式将 zip 文件传输到要进行安装的服务器上,然后使用 Oracle 软件用户身份解压缩文件。
I. 硬件:
最低硬件要求
a. 确保系统满足以下物理内存要求:
最低: 1 GB RAM
推荐: 2 GB RAM或更多
b. 交换磁盘空间与系统物理内存的比例如下
RAM Swap 空间
1 GB 到2 GB 之间 RAM 大小的 1.5 倍
2 GB 到 16 GB 之间 等于 RAM 的大小
超过 16 GB 16 GB
注意: 以上推荐值(摘自Oracle® Database Installation Guide 12c Release 2 (12.2) for Linux)是安装的最低要求。优化/改进 RDBMS 性能可能需要更多 RAM 和交换空间。
c. /tmp 目录中有 1.0 GB (1024MB) 磁盘空间(小于 2TB)。
d. 如果 /tmp 目录中可用的空闲空间小于所需空间,则完成以下步骤之一:
- 从 /tmp 目录删除不必要的文件以满足磁盘空间要求。
- 在设置 Oracle 用户环境时设置 TMP 和 TMPDIR 环境变量。
e. 约 6.5 GB 的本地磁盘空间用于数据库软件文件。
f. 如果要在安装期间创建配置数据库,则所选文件系统必须至少具有 2 GB 空闲磁盘空间。
对于生产数据库,必须根据数据库的使用来估算磁盘空间要求。
支持在 ext2、ext3 和 ext4 文件系统上运行 Oracle 数据库(有关详细信息,请参阅 Note:236826.1)。
II. 软件:
经过认证的 Linux 操作系统 :
Oracle Linux 7
Red Hat Enterprise Linux 7
a. 最小化的Linux安装 :
A 最小化的Linux安装是在安装OS时,对于Package Group Selection 选择了Minimal 选项或者安装OS时只选择安装Base 的软件包。最小化的Linux安装缺少很多Oracle数据库依赖的RPM包,所以必须再安装这些需要的软件。具体需要安装哪些软件包取决于使用的是哪种Linux发行版本。
b. 默认的Linux安装
Oracle 建议安装 Linux 操作系统缺省的软件包(RPMs),默认的Linux安装包含了大部分需要的软件包并且减少了手工检查软件包之间的依赖关系。Oracle 建议在安装过程中不要定制 RPMs。
Linux 内核要求:
支持下列的内核:
采用Unbreakable Enterprise Kernel 3的Oracle Linux 7: 3.8.13-35.3.1.el7uek.x86_64或更高版本
采用Unbreakable Enterprise Kernel 4的Oracle Linux 7.2: 4.1.12-32.2.3.el7uek.x86_64或更高版本
采用 Red Hat 兼容内核的Oracle Linux 7: 3.10.0-123.el7.x86_64或更高版本
Red Hat Enterprise Linux 7: 3.10.0-123.el7.x86_64或更高版本
SUSE Linux Enterprise Server 12 SP1: 3.12.49-11.1或更高版本
我们发现当RHEL 7中有非常多的CPU以及非常大的内存并且启用了NUMA时会出现hang的情况。作为一个临时解决方案,我们建议关闭NUMA。
Note 1508516.1 Is It Mandatory To Install UEK Kernel Under RHEL?
Oracle Universal Installer 需要一个X Window系统 (比如, libx)
Libx软件包是默认的Linux安装时自带的。
如果在安装系统时精简了一些软件包,那么需要确保安装了libx或者其它类似的X Window System。
/tmp 目录至少保留 1 GB 的空间
OS运行级 : 3 或者 5
Oracle 用户环境配置检查列表:
对于新的安装,如果尚未配置oraInventory 目录,那么安装时会创建一个Oracle inventory目录,并且把目录的属主设置为安装用户的主要用户组。
OINSTALL用户组必须是所有安装Oracle软件的用户的主要用户组。这个目录必须可以被所有用来安装Oracle软件的用户可写。Oracle推荐在开始安装前按照安全规划来创建好用户组和用户账号,并且对用户账号完成资源限制配置及其它的需求配置。
如果已经在主机上安装了其它的Oracle数据库软件,并且需要使用同样的用户账号来安装Oracle数据库软件,那么记得在安装前删除下面的几个环境变量设置: ORACLEHOME,ORACLE_HOME,ORACLEHOME,ORA_NLS10, 和 $TNS_ADMIN, $ORACLE_BASE, $ORACLE_SID
默认的情况下,操作系统已经在/etc/fstab里包含了一个/dev/shm的挂载点。但是如果Cluster Verification Utility (CVU) 或者 Oracle Universal Installer (OUI) 检查失败,那么需要确保/dev/shm是以tmpfs类型挂载的,并且满足下面的挂载选项::
设置了rw 和 exec 权限
没有设置 noexec 和 nosuid 的选项
在shell的启动配置文件中设置文件创建模式mask (umask) 为 022 。
磁盘空间检查列表:
对于Oracle数据库企业版,最少 7.5 GB 。
对于Oracle 标准版2, 最少7.5 GB。
Kernel 参数设置:
最低的操作系统资源参数设置
semmsl 250
semmns 32000
semopm 100
semmni 128
shmall 物理内存大小的40%,以页为单位 /proc/sys/kernel/shmall
shmmax 物理内存大小的 1/2,以 bytes 为单位 /proc/sys/kernel/shmmax
shmmni 4096
panic_on_oops 1
file-max 6815744
aio-max-nr 1048576
ip_local_port_range 最小: 9000
最大: 65500
rmem_default 262144
rmem_max 4194304
wmem_default 262144
wmem_max 1048576
UDP 和 TCP 相关的Kernel参数:
/etc/sysctl.conf 文件已经在 OL7 和 RHEL7上废弃了。关于如何修改Kernel 参数的值,请参考:
https://docs.oracle.com/en/database/oracle/oracle-database/12.2/ladbi/changing-kernel-parameter-values.html#GUID-FB0CC366-61C9-4AA2-9BE7-233EB6810A31
a.) 如果并未按照Oracle推荐的设置shell limits以及kernel参数,那么在安装时OUI会提供fixup脚本来完成这些工作:
如有必要,将内核参数设置为成功安装所需的值,包括:
共享内存参数
打开文件描述符和UDP发送/接收参数。
创建Oracle Inventory (central inventory)目录并设置权限
如有必要,为Oracle Inventory目录创建或者重新配置主要和辅助组成员身份
如有必要,将shell limits设置为所需的值。
如果不能执行fixup脚本,那么按照下面的文档手工设置参数:
https://docs.oracle.com/en/database/oracle/oracle-database/12.2/ladbi/minimum-parameter-settings-for-installation.html#GUID-CDEB89D1-4D48-41D9-9AC2-6AD9B0E944E3
https://docs.oracle.com/en/database/oracle/oracle-database/12.2/ladbi/checking-resource-limits-for-oracle-software-installation-users.html#GUID-293874BD-8069-470F-BEBF-A77C06618D5A
b.) 确认已加载最新版本的 PAM,然后在/etc/pam.d/login文件中加载下面的行(如果尚未添加的话):
session required pam_limits.so
下列的软件包(可以是更高版本)是必须安装的 :
bc
binutils-2.23.52.0.1-12.el7 (x86_64)
compat-libcap1-1.10-3.el7 (x86_64)
compat-libstdc+±33-3.2.3-71.el7 (i686)
compat-libstdc+±33-3.2.3-71.el7 (x86_64)
glibc-2.17-36.el7 (i686)
glibc-2.17-36.el7 (x86_64)
glibc-devel-2.17-36.el7 (i686)
glibc-devel-2.17-36.el7 (x86_64)
ksh
libaio-0.3.109-9.el7 (i686)
libaio-0.3.109-9.el7 (x86_64)
libaio-devel-0.3.109-9.el7 (i686)
libaio-devel-0.3.109-9.el7 (x86_64)
libgcc-4.8.2-3.el7 (i686)
libgcc-4.8.2-3.el7 (x86_64)
libstdc+±4.8.2-3.el7 (i686)
libstdc+±4.8.2-3.el7 (x86_64)
libstdc+±devel-4.8.2-3.el7 (i686)
libstdc+±devel-4.8.2-3.el7 (x86_64)
libxcb-1.9-5.el7 (i686)
libxcb-1.9-5.el7 (x86_64)
libX11-1.6.0-2.1.el7 (i686)
libX11-1.6.0-2.1.el7 (x86_64)
libXau-1.0.8-2.1.el7 (i686)
libXau-1.0.8-2.1.el7 (x86_64)
libXi-1.7.2-1.el7 (i686)
libXi-1.7.2-1.el7 (x86_64)
libXtst-1.2.2-1.el7 (i686)
libXtst-1.2.2-1.el7 (x86_64)
libXrender (i686)
libXrender (x86_64)
libXrender-devel (i686)
libXrender-devel (x86_64)
make-3.82-19.el7 (x86_64)
net-tools-2.0-0.17.20131004git.el7 (x86_64) (for Oracle RAC and Oracle Clusterware)
nfs-utils-1.3.0-0.21.el7.x86_64 (for Oracle ACFS)
smartmontools-6.2-4.el7 (x86_64)
sysstat-10.1.5-1.el7 (x86_64)
补充说明
从 Oracle Database 12.1 开始, 不再提供 32 位 Oracle 数据库服务器端软件。
通过认证的 32 位 (x86) Oracle 数据库客户端软件可以运行在采用 x86_64 架构的 AMD64/EM64T 和 Intel 处理器芯片上的 Linux OS 上。采用 64 位操作系统的 AMD64/EM64T 正常应该支持运行 Oracle 32 位数据库客户端软件,但这不在本文的涵盖范围内。
如果您的 scsi/fc 驱动程序支持异步功能,则 ext2 和 ext3 文件系统上支持异步 I/O。
注:在 OEL5.6 和更高版本上,Oracle 10g 及更高版本支持 Ext4 文件系统上的异步 I/O。
x86_64 的 DIRECTIO 支持无需额外补丁程序。
在 Oracle Database 12.2 产品上不应使用任何 LD_ASSUME_KERNEL 值。
可以使用以下 rpm 命令来区分 32 位或 64 位程序包。
rpm -qa --queryformat “%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n” | grep glibc-devel
glibc-devel-2.12-1.7.el6 (x86_64)
glibc-devel-2.12-1.7.el6 (i686)
Oracle Universal Installer 需要一个X Window系统 (比如, libx)。Libx软件包是默认的Linux安装时自带的。如果在安装系统时精简了一些软件包,那么需要确保libx或者其它类似的X Window System 是安装了的。
Oracle Unbreakable Enterprise Kernel 可以安装在64位的Oracle Linux 或者 Red Hat Enterprise Linux上。从Oracle Linux 5 Update 6开始,Oracle Unbreakable Enterprise Kernel 是默认的系统kernel。从Oracle Linux 5 update 7 开始,32位的Oracle Linux也包含Oracle Unbreakable Enterprise Kernel。
32位软件包(i686 rpm)仅在需要使用32位客户端应用程序访问64位服务器时才需要安装。
Oracle Database 12c Release 2 (12.2) 及以上版本的Oracle 数据库或者Oracle Grid Infrastructure的安装并不需要在Oracle Linux 或者 Red Hat Enterprise Linux 上安装gcc 和 gcc-c++ 的编译器软件包。
默认情况下,RHEL 7 x86_64 Linux设置了"enforcing"模式的SELinux,这并不影响 Oracle Database 12.2 的安装。