zoukankan      html  css  js  c++  java
  • 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_sizegetconf PAGESIZE可以查询到).缺省值就是2097152

    #64 linux 系统:可取的最大值为物理内存值 -1byte ,建议值为多于物理内存的一半,一般取值大于 SGA_MAX_SIZE 即可,可以取物理内存 -1byte.:内存为 16G 时,该值为 16*1024*1024*1024-1 = 171798691834G=42949672958G=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 会给出提示:

    clip_image002

    free -m

    clip_image004

    此时,需要手动分配 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

    clip_image006

     

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

    clip_image008

     

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

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

    clip_image010

     

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

    clip_image012

     

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

    clip_image014

     

    5)   6步(选择企业版)

    clip_image016

     

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

    clip_image018

     

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

    clip_image020

     


    8)   9步(默认即可)

    clip_image022

     

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

    clip_image024

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

     

    10)  11

    内存使用默认

    clip_image026

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

    clip_image028

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

    clip_image030

     

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

    clip_image032

     

    12)  14步(选择dba组)

    clip_image034

     

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

    clip_image036

     

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

    clip_image038

     

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

    clip_image040

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

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

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

     

    16)  如果提示失败

    clip_image042

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

     

    17)  安装成功

    clip_image044

    删除安装文件

    rm -f /opt/oracle/linuxx64_12201_database.zip

    rm -rf /opt/oracle/database

     

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

    clip_image046

     

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

  • 相关阅读:
    怎么用代码弹回 UITableView 中左滑出来的删除按钮
    android 利用 aapt 解析 apk 得到应用名称 包名 版本号 权限等信息
    Missy
    html5 websocket + node.js 实现网页聊天室
    android 代码混淆示例
    android volley 发送 POST 请求
    android viewpager 拿到当前显示的 fragment 的实例
    android actionbar viewpager 实现类微信主界面布局
    (转)初学Git及简单搭建git服务器和客户端
    error: Cannot find OpenSSL's <evp.h> Mac
  • 原文地址:https://www.cnblogs.com/abeam/p/14724025.html
Copyright © 2011-2022 走看看