1 服务器参数确认
1.1 使用root用户登录控制台
在环境参数配置过程中,大部分文件需要root才能修改,当前用户可通过如下指令切换为root用户
su - root
1.2 内存要求
物理内存
Oracle 官方说明:
最小:1GB
建议:2GB以上
通过如下命令确认当前系统内存大小:
grep MemTotal /proc/meminfo
SWAP 空间
作用: 在物理内存不足时,将一部分物理存储转化为内存使用,将暂时不使用的内存数据存储到 SWAP 空间中,从而达到扩展内存的作用。
Oracle官方说明:
RAM | Swap Space |
---|---|
1GB ≤ Size < 2GB | 1.5倍的RAM |
2GB ≤ Size < 16GB | RAM的大小 |
Size > 16GB | 16GB |
通过如下指令查看 Swap 大小:
grep SwapTotal /proc/meminfo
传送门: Swap空间大小设置
共享内存
作用:
Oracle官方说明:
共享内存大小不得小于 MEMORY_TARGET 与 MEMORY_MAX_TARGET 大小,否则在启动数据库时会报如下错误
ORA-00845:MEMORY_TARGET not supported on this system
ORA-01078:Failure in processing system parameters
通过如下指令查看共享内存大小:
df -h /dev/shm/
2.3 系统版本与架构
通过如下命令查看系统版本:
cat /etc/redhat-release
通过如下指令查看架构信息:
uname -m
根据系统版本及架构信息,确定应该安装什么版本的Oracle。
2.4 存储空间
Oracle官方说明:
/tmp需要有1GB以上的空间
通过如下指令查看 tmp 空间
df -h /tmp
各版本Oracle所需的空间大小如下:
- Linux x86
Oracle版本 | 软件所占空间大小(GB) |
---|---|
企业版(Enterprise) | 4.5 |
标准版(Standard) | 4.4 |
Oracle版本 | 数据文件所占空间大小(GB) |
---|---|
企业版(Enterprise) | 1.7 |
标准版(Standard) | 1.5 |
- Linux x86_64
Oracle版本 | 软件所占空间大小(GB) |
---|---|
企业版(Enterprise) | 4.7 |
标准版(Standard) | 4.6 |
Oracle版本 | 数据文件所占空间大小(GB) |
---|---|
企业版(Enterprise) | 1.7 |
标准版(Standard) | 1.5 |
- IBM Linux on System z
Oracle版本 | 软件所占空间大小(GB) |
---|---|
企业版(Enterprise) | 4.9 |
标准版(Standard) | 4.8 |
Oracle版本 | 数据文件所占空间大小(GB) |
---|---|
企业版(Enterprise) | 2.0 |
标准版(Standard) | 1.5 |
按上述标准检查磁盘空间是否足够。
2.5 服务器软件环境要求
2.5.1 操作系统要求
对于 Linux x86 需要满足在如下版本系统之上:
- Oracle Linux 4 Update 7
- Oracle Linux 5 Update 2
- Oracle Linux 6
- Red Hat Enterprise Linux 4 Update 7
- Red Hat Enterprise Linux 5 Update 2
- Red Hat Enterprise Linux 6
- SUSE Linux Enterprise Server 10 SP2
- SUSE Linux Enterprise Server 11
对于 Linux x86_64 需要满足在如下版本系统之上:
- Oracle Linux 4 Update 7
- Oracle Linux 5 Update 2 (with Red Hat Compatible Kernel)
- Oracle Linux 5 Update 5
- Oracle Linux 6
- Oracle Linux 6 (with Red Hat Compatible Kernel)
- Red Hat Enterprise Linux 4 Update 7
- Red Hat Enterprise Linux 5 Update 2
- Red Hat Enterprise Linux 5 Update 5 (with the Oracle Unbreakable Enterprise Kernel for Linux)
- Red Hat Enterprise Linux 6
- Red Hat Enterprise Linux 6 (with the Oracle Unbreakable Enterprise Kernel for Linux)
- SUSE Linux Enterprise Server 10 SP2
- SUSE Linux Enterprise Server 11
可通过如下指令查看系统版本信息:
cat /proc/version
2.5.2 内核要求
不同架构的系统对内核要求如下:
Linux x86:
- On Oracle Linux 4 and Red Hat Enterprise Linux 4 (2.6.9 or later)
- On Asianux Server 3, Oracle Linux 5, and Red Hat Enterprise Linux 5 (2.6.18 or later)
- On Oracle Linux 6 (2.6.32.100 or later)
- On Red Hat Enterprise Linux 6 (2.6.32-71 or later)
- On SUSE Linux Enterprise Server 10 (2.6.16.21 or later)
- On SUSE Linux Enterprise Server 11 (2.6.27.19 or later)
Linux x86-64:
- On Oracle Linux 4 and Red Hat Enterprise Linux 4 (2.6.9 or later)
- On Oracle Linux 5 Update 2 with Red Hat Compatible Kernel (2.6.18 or later)
- On Oracle Linux 5 Update 5 with Red Hat Compatible Kernel (2.6.18 or later)
- On Oracle Linux 5 Update 5 with Unbreakable Enterprise Kernel (2.6.32-100.0.19 or later)
- On Oracle Linux 6 (2.6.32-100.28.5.el6.x86_64 or later)
- On Oracle Linux 6 with Red Hat Compatible Kernel (2.6.32-71.el6.x86_64 or later)
- On Red Hat Enterprise Linux 5 Update 2 (2.6.18 or later)
- On Red Hat Enterprise Linux 5 Update 5 (2.6.18 or later)
- On Red Hat Enterprise Linux 5 Update 5 with Unbreakable Enterprise Kernel (2.6.32 or later)
- On Red Hat Enterprise Linux 6 (2.6.32-71.el6.x86_64 or later)
- On Red Hat Enterprise Linux 6 with Unbreakable Enterprise Kernel (2.6.32-100.28.5.el6.x86_64 or later)
- On Asianux Server 3 (2.6.18 or later)
- On SUSE Linux Enterprise Server 10 (2.6.16.21 or later)
- On SUSE Linux Enterprise Server 11 (2.6.27.19 or later)
IBM Linux on System z:
- On Red Hat Enterprise Linux 6 (2.6.32-200 or later)
- On Red Hat Enterprise Linux 4 (2.6.9 or later)
- On Red Hat Enterprise Linux 5 (2.6.18 or later)
- On SUSE Linux Enterprise Server 10 (2.6.16.60 or later)
- On SUSE Linux Enterprise Server 11 (2.6.32.12 or later)
可以通过如下指令查看当前系统内核版本信息:
uname -r
在安装Oracle前确保系统内核满足要求,若低于要求,则需要先升级系统内核。
默认情况下一般操作系统版本不是特别旧的情况下一般都能满足安装Oracle的要求。
2.5.3 依赖安装包要求
Oracle的安装需要依赖部分安装包,一般若你的系统使用的是默认安装,则大部分依赖包就一句安装成功了,但是一般我都会重新安装一次依赖包,确保依赖包没有遗漏安装,且保证依赖包的版本最新。
不同内核版本的系统需要的依赖包也不一样,下面我仅以 Linux x86_64为例,介绍需要安装的依赖包,其他版本请自行查找官网或度娘。
依赖包:
- binutils
- compat-libcap1
- compat-libstdc++
- gcc
- gcc-c++
- glibc
- glibc-devel
- ksh
- libgcc
- libstdc++
- libstdc+±devel
- libaio
- libaio-devel
- make
- sysstat
- unixODBC
- unixODBC-devel
我使用如下sh脚本进行依赖包安装:
#!/bin/bash
yum install -y binutils compat-libcap1 compat-libstdc++ gcc gcc-c++ glibc glibc-devel ksh libgcc libstdc++ libstdc++-devel libaio libaio-devel make sysstat unixODBC unixODBC-devel
注意:在某些情况下,操作系统是离线的,无法通过网络安装库文件,由于大部分库文件在系统安装包中都有,因此可通过配置本地镜像源的方式,配置安装库文件,具体方法可参考 —— 本机镜像源配置
2.5.4 新建用户、用户组
- 创建用户组 oinstall
groupadd oinstall
- 创建用户组 dba
groupadd dba
- 新建用户oracle,并加入 oinstall、dba 组
useradd -g oinstall -G dba oracle
- 初始化oracle用户密码
echo "test_123" | passwd --stdin oracle
2.5.5 系统参数配置
- 资源数量限制
# 修改 /etc/security/limits.conf ,添加如下配置信息
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 1024
oralce hard stack 32768
- Linux内核配置
# 修改配置文件 /etc/sysctl.conf,添加如下信息
fs.aio-max-nr = 1048576 # 异步 I/O 请求数目
fs.file-max = 6815744 # 一个进程可以打开的文件句柄的最大数目
kernel.shmall = 2097152 # 控制共享内存页数(内存M x 1024 / 4)
kernel.shmmax = 4294967295 # 共享内存段的最大尺寸,一般为内存的2/3(内存M x 1024 x 1024 x 0.6)
kernel.shmmni = 4096 # 共享内存段的最大数量
kernel.sem = 250 32000 100 128 # 设置的信号量
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 # 发送缓冲区最大值
2.5.6 Oracle安装路径配置
- 新建软件安装目录
官方建议路径为 /u01/app/ ,确保该路径下oracle用户(oracle安装用户)具有操作权限。
# 新建安装目录文件夹
mkdir -p /u01/app
# 新建安装包上传目录,后续文件上传时会使用到
mkdir -p /home/oracle/oracle_files
# 修改文件夹用户与权限
chown -R oracle:oinstall /u01/
chmod -R 755 /u01/
chown -R oracle:oinstall /home/oracle/oracle_files
chmod -R 755 /home/oracle/oracle_files
- 新建备份路径(可选)
在Oracle安装过程中可以指定Oracle的恢复文件(recovery file)的存放路径。为此你必须先建立这个路径:
mkdir /oraBK
chown -R oracle:oinstall /oraBK
chmod -R 755 /u01
2.5.7 配置环境变量
切换为oracle用户,并为其配置环境变量。
传送门:环境变量的作用?
# 切换用户
su - oracle
# 编辑 ~/.bash_profile文件,在文件尾部添加如下信息
vi ~/.bash_profile
export ORACLE_BASE=/u01/app
# oracle_home路径可以在之安装完oracle后配置,该属性值与oracle的版本有关,在确定版本号后,可根据实际修改版本号
export ORACLE_HOME=$ORACLE_BASE/product/11.2.4/db_1
# oracle的sid值,需要与安装时的设置值匹配
export ORACLE_SID=orcl
export PATH=$PATH:$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$ORACLE_HOME/jdk/bin
export LANG="en_US.UTF-8"
export NLS_LANG=american_AMERICA.UTF8
完成环境变量配置后,保存退出,并通过如下指令应用环境变量
source .bash_profile
3 安装ORACLE
3.1 上传ORACLE安装包
- 查看并开启服务器ssh服务,确保防火墙端口开放22端口
service sshd status
service sshd start # 若服务未开启可通过该指令开启ssh服务
# 确保防火墙开放了22端口
service iptables status
iptables -I INPUT -p tcp --dport 22 -j ACCEPT # 可通过该语句开放22端口
# 若为 redhat 或者 Centos 7 版本,则使用如下命令
systemctl status firewalld
systemctl start firewalld
# 开放22端口
vi /etc/sysconfig/iptables
# 添加如下语句
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
# 保存退出后
systemctl restart iptables.service # 重启防火墙使配置生效
- 通过ssh或xshell连接服务器(使用oracle用户登录,保证上传的文件权限为oracle),并通过xftp上传安装包至 /home/oracle/oracle_files 路径下
- 解压oracle安装包
unzip linux.x64_11gR2_database_1of2.zip
unzip linux.x64_11gR2_database_2of2.zip
至此所有的Oracle准备工作就都完成了。
在下一篇文章中,我将介绍Oracle安装过程中的图形配置界面及Oracle安装完后的启动说明