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 以上虚拟机配置都不是硬性要求,除去安装目录大小,为了安装体验

安装前准备

  • 关闭防火墙及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    //不属于配置文件内容,重新加载配置文件

用户环境配置

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

Oracle用户资源限制

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

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

图形化界面安装

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

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

web界面管理

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

字符界面登陆

用户要切换到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)))
命令执行成功