Luotianyi

「CentOS 7.4安装Oracle 12c」

| 日常,技巧向 | 861字

记录一下,毕竟第一次安装这货的时候踩了好多坑花了几天的时间呐~
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用户的密码。

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中

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

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

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

创建需要的文件夹:

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

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

#### 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 文件,追加如下行:

#### 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

安装

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

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

# 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登录系统安装以避免一些不必要的麻烦!

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

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

正在启动 Oracle Universal Installer...

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

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

-EOF-

上一篇: Oracle数据库报错以及解决方法整理

下一篇: 根据树莓派CPU温度自动控制风扇转停

Kay

@2018-04-17 16:26:15

centos 12c Oracle
只有一个人评论呢QAQ
  1. 微信资源网

    感谢博主分享

评论的人最可爱~