oracle数据库是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的适应高吞吐量的数据库解决方案。
Oracle数据库12c 引入了一个新的多承租方架构,使用该架构可轻松部署和管理数据库云。此外,一些创新特性可最大限度地提高资源使用率和灵活性,如Oracle Multitenant可快速整合多个数据库,而Automatic Data Optimization和Heat Map能以更高的密度压缩数据和对数据分层。这些独一无二的技术进步再加上在可用性、安全性和大数据支持方面的主要增强,使得Oracle数据库12c 成为私有云和公有云部署的理想平台。

本次就为搭建简单介绍一下,如何在centos7系统中安装Oracle12c。

环境准备

  • centos7虚拟机
  • IP:172.16.10.25
  • 4G物理内存,8G虚拟内存
  • Oracle的安装文件夹不低于15G
  • 为虚拟机分配两个以上的处理器
  • 磁盘SSD
  • 软件包:Oracle 12c
    以上虚拟机配置都不是硬性要求,除去安装目录大小,为了安装体验
    Centos7中部署安装Oracle 12c

    安装前准备

  • 关闭防火墙及selinux防火墙
    systemctl disable firewalld.service 
    systemctl stop firewalld.service
    setenforce 0
  • 修改主机名
    vim /etc/hostname
    oracle
  • 修改hosts文件
    vim /etc/hosts
    172.16.10.25 oracle     //直接在配置文件末行添加即可
  • 重启虚拟机
    reboot

    安装Oracle 12c

    软件环境包安装

    [root@oracle ~]# yum -y install binutils \
    > compat-libcap1 \
    > compat-libstdc++-33 \
    > gcc-c++ \
    > glibc \
    > glibc-devel \
    > ksh \
    > libaio \
    > libaio-devel \
    > libgcc \
    > libstdc++ \
    > libstdc++-devel \
    > libXi \
    > libXtst \
    > make \
    > sysstat \
    > unixODBC \
    > unixODBC-devel

    内核参数调整

    vim /etc/sysctl.conf
    fs.aio-max-nr = 1048576         //异步IO请求数目 推荐值是:1048576 其实它等于 1024*1024 也就是 1024K 个
    fs.file-max = 6815744           //打开的文件句柄的最大数量,防止文件描述符耗尽的问题
    kernel.shmall = 2097152         //共享内存总量 页为单位,内存除以4K所得
    kernel.shmmax = 4294967295  
    kernel.shmmni = 4096
    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 = 1048576   //套接字发送缓冲区大小的最大值
    sysctl -p    //不属于配置文件内容,重新加载配置文件

    Centos7中部署安装Oracle 12c

    用户环境配置

    groupadd oinstall
    groupadd dba
    useradd -g oinstall -G dba oracle      //指定组为oinstall附加组dba
    passwd oracle                                     //创建oracle用户密码
    mkdir -p /orc/app/oracle
    chown -R oracle:oinstall /orc/app/
    chmod -R 755 /orc/app/oracle/

    Oracle用户环境配置

    vim /home/oracle/.bash_profile
    umask 022
    ORACLE_BASE=/orc/app/oracle
    ORACLE_HOME=/orc/app/oracle/product/12.2.0/dbhome_1/
    ORACLE_SID=orcl
    NLS_LANG="SIMPLIFIED CHINESE_CHINA".UTF8
    PATH=$PATH:$HOME/.local/bin:$HOME/bin:$ORACLE_HOME/bin
    LANG=zh_CN.UTF-8
    export PATH LANG NLS_LANG ORACLE_BASE ORACLE_HOME ORACLE_SID

    Centos7中部署安装Oracle 12c

    Oracle用户资源限制

    vim /etc/pam.d/login
    session    required     /lib/security/pam_limits.so
    session    required     pam_limits.so

    Centos7中部署安装Oracle 12c

    vim /etc/security/limits.conf
    oracle        soft    nproc           2047       //单用户可使用的进程数量
    oracle        hard    nproc           16384
    oracle        soft    nofile          1024       //用户可打开的文件数量
    oracle        hard    nofile          65536
    oracle        soft    stack           10240      //堆栈设置
    //该配置文件中均为注释文件,只需在末行添加即可
    vim /etc/profile
    if [ $USER = "oracle" ]
    then
    if [ $SHELL = "/bin/ksh" ]
     then
       ulimit -p 16384                  //缓冲区大小
       ulimit -p 65536
    else
     ulimit -u 16384 -n 65536           //进程数  文件数
    fi
    fi                                      //配置文件末行直接添加

    oracle安装

    将解压完成的oracle安装文件挂载到linux /opt文件夹下

    xhost +    //以root用户在图形化界面操作
    su - oracle   //切换oracle用户
    cd /chen
    export DISPLAY=:0.0  //调整分辨率
    ./runInstaller

    Centos7中部署安装Oracle 12c

    图形化界面安装

    Centos7中部署安装Oracle 12c
    Centos7中部署安装Oracle 12c
    Centos7中部署安装Oracle 12c
    Centos7中部署安装Oracle 12c
    Centos7中部署安装Oracle 12c

    安装过程中弹窗的处理方法

    Centos7中部署安装Oracle 12c

    /orc/app/oraInventory/orainstRoot.sh
    /orc/app/oracle/product/12.2.0/dbhome_1/root.sh   //重新打开新的终端,以root用户运行

    Centos7中部署安装Oracle 12c

    web界面管理

  • 在安装完成的界面上指出了管理地址
    Centos7中部署安装Oracle 12c
  • web界面使用flash插件,需要手动安装
    rpm -ivh flash-player-npapi-26.0.0.131-release.x86_64.rpm
  • 在登陆界面使用账户密码登陆
    账户:sys
    密码是在安装数据库是设置的口令

    Centos7中部署安装Oracle 12c

    字符界面登陆

    用户要切换到oracle

    sqlplus / as sysdba    //sys用户是oracle的最高管理员所以要加上as
    help index                  //查看命令列表,sql中不区分大写小写
    show user                  //查看当前用户

    创建数据库

    [oracle@Oracle ~]$ dbca     //会自动跳转出,如果不弹窗口执行: export DISPLAY=:0.0
    1. 选择创建数据库
    2. 输入全局数据库名、管理口令和确认口令、取消创建为容器数据库

      启用监听

      [oracle@Oracle ~]$ lsnrctl 
      LSNRCTL> start
      TNS-01106: 使用名称LISTENER的监听程序已经启动
      [oracle@Oracle ~]$ lsnrctl stop
      正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=Oracle)(PORT=1521)))
      命令执行成功