CentOS 7.4安装Oracle 12c

记录一下,毕竟第一次安装这货的时候踩了好多坑花了几天的时间呐~ database270x170.png 说明

环境

  • CentOS 7.4 最小化安装
  • Oracle 12c
  • ssh客户端MobaXterm(免配置的支持X11-forward)

安装包

Oracle Database 12c Release 2 (12.2.0.1.0)安装包大小3.21G,可以从下面的路径获取下载 Oracle Database Software Downloads

记得校验hash。

扩展阅读 Oracle安装指南 Oracle数据库安装清单 本文参考文章Ubuntu 16.04 安装 Oracle 12c 踩坑记

准备工作

使用 root 权限创建所需用户组和用户,并修改oracle用户的密码。

1
2
3
4
5
6
sudo groupadd -g 510 oinstall
sudo groupadd -g 511 dba
sudo groupadd -g 512 oper
sudo groupadd -g 513 asmadmin
sudo useradd -u 510 -g oinstall -G dba,asmadmin,oper -s /bin/bash -m oracle
sudo passwd oracle

将oracle用户添加到sudoers中

1
sed -i '/root\tALL=(ALL)/aoracle\tALL=(ALL)\tALL'  /etc/sudoers

安装相关的工具:vim和X11以及字体等

1
2
3
yum install vim unzip -y
yum groupinstall "X Window System" -y
yum groupinstall "fonts" -y

创建需要的文件夹:

1
2
3
mkdir -p /u01/app/oracle/product/12/dbhome_1
chown -R oracle:oinstall /u01
chmod -R 775 /u01

配置启动参数 编辑/etc/sysctl.conf文件,追加如下行:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
#### Oracle 12c Kernel Parameters ####
fs.suid_dumpable = 1
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 483183
kernel.shmmax = 1932735283
kernel.shmmni = 4096
# semaphores: semmsl, semmns, semopm, semmni
kernel.sem = 250 32000 100 128
net.ipv4.tcp_rmem = 4096 87380 6291456
net.ipv4.tcp_wmem = 4096 16384 4194304
net.core.rmem_default=262144
net.core.rmem_max=4194304
net.core.wmem_default=262144
net.core.wmem_max=1048586

file-max表示文件句柄的最大数量。文件句柄设置表示在linux系统中可以打开的文件数量。

shmall是全部允许使用的共享内存大小,shmmax 是单个段允许使用的大小。这两个可以设置为内存的 90%。例如 16G 内存,16 x 1024 x 102 4x 1024 x 90% = 15461882265,shmall 的大小为 15461882265/4k(getconf PAGESIZE可得到) = 3774873。

kernel.sem对应4个值 SEMMSL、SEMMNS、SEMOPM、SEMMNI

SEMMSL每个信号集的最大信号数量 预期值: 250 SEMMNS用于控制整个 Linux 系统中信号(而不是信号集)的最大数。 Oracle 建议将 SEMMNS 设置为:系统中每个数据库的 PROCESSES 实例参数设置值的总和,加上最大 PROCESSES 值的两倍,最后根据系统中 Oracle 数据库的数量,每个加 10 。 使用以下计算式来确定在 Linux 系统中可以分配的信号的最大数量。它将是以下两者中较小的一个值:SEMMNS 或 (SEMMSL * SEMMNI) SEMOPM内核参数用于控制每个 semop 系统调用可以执行的信号操作的数量。semop 系统调用(函数)提供了利用一个 semop 系统调用完成多项信号操作的功能。预期值: 100 SEMMNI :内核参数用于控制整个 Linux 系统中信号集的最大数量。 预期值: 128

检查当前的TCP缓冲区大小: sysctl -a |grep -e net.ipv4.tcp_[rw]mem

编辑/etc/security/limits.conf文件,追加如下行:

1
2
3
4
5
6
#### oracle User Settings 4 Oracle 12c ####
oracle       soft  nproc  2047
oracle       hard  nproc  16384
oracle       soft  nofile 1024
oracle       hard  nofile 65536
oracle       soft  stack  10240

soft表示软限制,hard表示硬限制,软限制要小于等于硬限制。 noproc - 进程的最大数目 nofile - 打开文件的最大数目 stack - 最大栈大小

然后载入新内核参数: /sbin/sysctl -p

确保缓存空间足够大 使用free -h查看Swap空间。Oracle预期值: 2.6708GB (2800572.0KB) 如果缓存空间很小的话,需要通过以下方法进行增加。 临时扩大Swap方法 创建大小为2048M的交换文件 dd if=/dev/zero of=/u01/swapfile bs=1M count=2048 status=progress conv=fsync 更改swapfile的权限 chmod 0600 /u01/swapfile 使用mkswap命令来设置交换文件 mkswap /u01/swapfile 启用交换分区 swapon /u01/swapfile 写入/etc/fstab以便在引导时启用 /u01/swapfile swap swap defaults 0 0

如后续需禁用 swapoff /u01/swapfile

安装

安装依赖 以避免后续的警告,先安装好这些依赖

1
yum install compat-libcap1 libstdc++-devel sysstat gcc-c++ ksh libaio-devel smartmontools

准备安装文件 将下载好的安装文件传输到服务器上并进行解压缩文件操作 unzip -d /tmp linuxx64_12201_database.zip 更改临时文件夹的用户和组权限 chown -R oracle:oinstall /tmp/database 配置环境变量 vim /home/oracle/.bashrc

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
# ORACLE_HOSTNAME=后面为主机地址,本机为 127.0.0.1
# ORACLE_SID=SID 名,例如:MYDBSID

# Oracle Settings
TMP=/tmp; 
export TMP TMPDIR=$TMP; 
export TMPDIR ORACLE_HOSTNAME=127.0.0.1; 
export ORACLE_HOSTNAME
ORACLE_UNQNAME=DB12C; 
export ORACLE_UNQNAME
ORACLE_BASE=/u01/app/oracle; 
export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/12/dbhome_1; 
export ORACLE_HOME
ORACLE_SID=MYDBSID; 
export ORACLE_SID
PATH=$PATH:$ORACLE_HOME/bin:/usr/sbin; 
export PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/lib64; 
export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; 
export CLASSPATH

启动安装脚本

Install.png 安装前,请务必以oracle用户登录! su - oracle 推荐直接使用oracle登录系统安装以避免一些不必要的麻烦!

1
2
chmod -R +x /tmp/database
/tmp/database/runInstaller

然后屏幕会打印类似下面的信息完成后就可以开始安装了

1
2
3
4
5
6
正在启动 Oracle Universal Installer...

检查临时空间: 必须大于 500 MB。   实际为 42834 MB    通过
检查交换空间: 必须大于 150 MB。   实际为 4095 MB    通过
检查监视器: 监视器配置至少必须显示 256 种颜色。    实际为 16777216    通过
准备从以下地址启动 Oracle Universal Installer /tmp/OraInstallyyyy-mm-dd_03-39-13PM. 请稍候...

接下来就是图形化界面,按照提示来就可以了~

Licensed under CC BY-NC-SA 4.0
最后更新于 May 08, 2019 16:51 UTC
点击刷新🚌