CentOS 7 安装 Oracle 12c 数据库服务端

Ø  简介

本文记录在 CentOS 7 中安装 Oracle 12c 的详细步骤,以及注意事项。

安装环境如下:

Linux 内核版本:CentOS Linux release 7.6.1810 (Core)

Oracle 12c 版本:12.2.0.1.0(Enterprise Edition)

 

n  准备工作

首先在官网下载 Oracle 12c 软件包,下载地址:Oracle Database 12c Release 2,选择 Linux x86-64

 

n  友情提示:在 Linux 中安装 Oracle 不比在 Window 中安装那样简单,每个环节必须小心谨慎,一个不小心可能会导致整体安装失败。

 

1.   系统配置

1)   配置 hosts

echo "192.168.1.150 abeam150" >> /etc/hosts

 

2)   关闭防火墙

systemctl stop firewalld.service

systemctl disable firewalld.service

 

3)   安装 oracle 所需软件包

yum -y install binutils compat-libcap1 compat-libstdc++-33 compat-libstdc++-33*i686 compat-libstdc++-33*.devel compat-libstdc++-33 compat-libstdc++-33*.devel gcc gcc-c++ glibc glibc*.i686 glibc-devel glibc-devel*.i686 ksh libaio libaio*.i686 libaio-devel libaio-devel*.devel libgcc libgcc*.i686 libstdc++ libstdc++*.i686 libstdc++-devel libstdc++-devel*.devel libXi libXi*.i686 libXtst libXtst*.i686 make sysstat unixODBC unixODBC*.i686 unixODBC-devel unixODBC-devel*.i686

 

检查是否安装成功(31个安装包)

rpm -q binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libXi libXtst make sysstat unixODBC unixODBC-devel

 

4)   配置内核参数

vi /etc/sysctl.conf

# 文件末尾添加如下配置:

fs.aio-max-nr = 1048576            #异步IO请求数目推荐值是:1048576 其实它等于1024*1024 也就是1024k

fs.file-max = 6815744              #打开的文件句柄的最大数量,防止文件描述耗尽问题

kernel.shmall = 2097152            #该参数表示系统任意时刻可以分配的所有共享内存段的总和的最大值(以页为单位).其值应不小于shmmax/page_size(getconf PAGESIZE可以查询到).缺省值就是2097152

#64 位 linux 系统:可取的最大值为物理内存值 -1byte ,建议值为多于物理内存的一半,一般取值大于 SGA_MAX_SIZE 即可,可以取物理内存 -1byte.例:内存为 16G 时,该值为 16*1024*1024*1024-1 = 17179869183,4G=4294967295,8G=8589934591

kernel.shmmax = 4294967295

kernel.shmmni = 4096               #缺省为32M,对于oracle来说,该缺省值太低了,通常将其设置为2G

kernel.sem = 250 32000 100 128      #SEMMSL: 每个信号集的最大信号数量 SEMMNS:用于控制整个 Linux 系统中信号的最大数 SEMOPM: 内核参数用于控制每个 semop 系统调用可以执行的信号操作的数量 SEMMNI :内核参数用于控制整个 Linux 系统中信号集的最大数量

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 = 1048586         #套接字发送缓冲区大小的最大值

 

# 更改好后使之生效

sysctl -p

 

5)   配置 oracle 资源限制

vi /etc/security/limits.conf

# 文件末尾添加如下内容:

oracle soft nproc 2047      #单用户可以使用的进程数量

oracle hard nproc 16384

oracle soft nofile 1024     #单用户可以打开的文件数量

oracle hard nofile 65536

oracle soft stack 10240     #堆栈设置

oracle hard stack 32768

 

6)   使用 pam_limits 安全认证模块

vi /etc/pam.d/login

# 文件末尾添加如下内容:

session required /lib64/security/pam_limits.so

session required pam_limits.so

 

7)   配置 oracle 登录环境变量

vi /etc/profile

# 文件末尾添加如下内容:

if [ $USER = "oracle" ]; then

    if [ $SHELL = "/bin/ksh" ]; then

        ulimit -p 16384

        ulimit -n 65536

    else

        ulimit -u 16384 -n 65536

    fi

fi

 

8)   创建用户组、用户、目录、权限

groupadd dba

useradd -g dba oracle

echo "oracle" | passwd --stdin oracle

mkdir -p /opt/oracle/app/oracle

chown -R oracle:dba /opt/oracle

chmod -R 775 /opt/oracle

 

9)   配置 oracle 用户环境变量

su - oracle

vi ~/.bash_profile

# 将 export PATH 删除掉

umask 022

export ORACLE_BASE=/opt/oracle/app/oracle

export ORACLE_HOME=$ORACLE_BASE/product/12.2.0/dbhome_1

export ORACLE_UNQNAME=devzxsm

export ORACLE_SID=devzxsm

export LANG=zh_CN.UTF-8

export NLS_LANG="AMERICAN_AMERICA".ZHS16GBK

export PATH=$PATH:$ORACLE_HOME/bin

source ~/.bash_profile

env | grep ORACLE

 

注意:以上配置完成后,reboot 重启系统。

 

2.   安装 Oracle 数据库

使用 oracle 用户以 x window 模式登录系统。

1)   将数据库安装文件上传至 /opt/oracle/ 目录下

env | grep ORACLE       #检查环境变量

source ~/.bash_profile  #注意:这里需要在次执行(如果是 Xstart 登录)

cd /opt/oracle

unzip linuxx64_12201_database.zip

cd database

./runInstaller  #启动安装程序

如果使用的阿里云 ESC 云服务器,默认 CentOS 7.6 是没有分配 swap 分区的,Oracle 会给出提示:

CentOS 7 安装 Oracle 12c 数据库服务端

free -m

CentOS 7 安装 Oracle 12c 数据库服务端

此时,需要手动分配 swap 空间:

su - root

mkdir /var/swap

chmod 700 /var/swap

# 创建指定大小的文件(用于挂载 swap 的文件)

dd if=/dev/zero of=/var/swap/2GB01.swap bs=1024k count=2048

chmod 600 /var/swap/2GB01.swap

mkswap /var/swap/2GB01.swap

vi /etc/fstab       #设置自动挂载,加入以下参数

/var/swap/2GB01.swap       swap    swap    defaults    0 0

reboot  #重启后生效

free -m

CentOS 7 安装 Oracle 12c 数据库服务端

 

再回到第1步,正常情况下会显示以下信息:

CentOS 7 安装 Oracle 12c 数据库服务端

 

2)   进入图形界面安装(共12个步骤)

说明:在下面的步骤中,采用默认的或不重要的步骤,就略过了

CentOS 7 安装 Oracle 12c 数据库服务端

 

3)   第3步(选择服务器类)

CentOS 7 安装 Oracle 12c 数据库服务端

 

4)   第5步(选择高级安装)

CentOS 7 安装 Oracle 12c 数据库服务端

 

5)   第6步(选择企业版)

CentOS 7 安装 Oracle 12c 数据库服务端

 

6)   第7步(之前配置的环境变量,默认即可)

CentOS 7 安装 Oracle 12c 数据库服务端

 

7)   第8步(之前配置的环境变量,默认即可)

CentOS 7 安装 Oracle 12c 数据库服务端

 


8)   第9步(默认即可)

CentOS 7 安装 Oracle 12c 数据库服务端

 

9)   第10步(创建为非容器数据库)

CentOS 7 安装 Oracle 12c 数据库服务端

如果创建为容器数据库:这里将数据库名改为:zxsm,可插入数据库名:zxsmpdb

 

10)  第11步

内存使用默认

CentOS 7 安装 Oracle 12c 数据库服务端

字符集选择“ZHS16GBK – GBK 16 简体中文”

CentOS 7 安装 Oracle 12c 数据库服务端

如果需要可以添加“示例方案”

CentOS 7 安装 Oracle 12c 数据库服务端

 

11)  第15步(设置统一的密码)

CentOS 7 安装 Oracle 12c 数据库服务端

 

12)  第14步(选择dba组)

CentOS 7 安装 Oracle 12c 数据库服务端

 

13)  之前交换空间设置有点小,不过这里可以先忽略

CentOS 7 安装 Oracle 12c 数据库服务端

 

14)  第18步(检查没有问题就可以安装了)

CentOS 7 安装 Oracle 12c 数据库服务端

 

15)  安装过程中会弹出提示

CentOS 7 安装 Oracle 12c 数据库服务端

以 root 用户执行以下脚本,给出的提示回车即可:

/opt/oracle/app/oraInventory/orainstRoot.sh

/opt/oracle/app/oracle/product/12.2.0/dbhome_1/root.sh

 

16)  如果提示失败

CentOS 7 安装 Oracle 12c 数据库服务端

可能是 hosts 没有设置正确,否则只能退出重新安装了!

 

17)  安装成功

CentOS 7 安装 Oracle 12c 数据库服务端

删除安装文件

rm -f /opt/oracle/linuxx64_12201_database.zip

rm -rf /opt/oracle/database

 

18)  访问 https://192.168.1.150:5500/em

CentOS 7 安装 Oracle 12c 数据库服务端

 

更多参考:http://www.mamicode.com/info-detail-2369544.html

上一篇:了解数据库


下一篇:PostgreSQL优化器入门:(一)