理解Oracle体系结构 并在CentOS 7 上安装Oracle 12c

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了理解Oracle体系结构 并在CentOS 7 上安装Oracle 12c相关的知识,希望对你有一定的参考价值。

简介:

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的 适应高吞吐量的数据库解决方案。Oracle Database 12C是Oracle11g的升级版。

概述:

本篇将介绍Oracle12c的基础知识,以及Oracle12c的安装程序和数据库配置助手(Database Configuration Assistant,DBCA)安装Oracle12c的基本知识。还将介绍组成Oracle12C实例的各种元素,包括 内存结构、磁盘结构、初始参数、表、索引和PL/SQL等。

数据库和实例:

* 虽然“数据库”和“实例”这两个术语常互换使用,但它们之间存在很大区别。在Oracle数据中心,它们是完全不同的实体。
* 数据库是磁盘上数据的集合,位于收集和维护相关信息的数据库服务器上的一个或多个文件中。数据库由各种物理和逻辑结构组成,而表则是数据库中最重要的逻辑结构。表由包含数据的相关行和列组成。
* 组成数据库的文件主要分为两类:数据库文件和非数据库文件。两者之间的区别在于存储何种数据。数据库文件包含数据和元数据,非数据库文件则包含初始参数和日志记录信息等。数据库文件对于每时每刻正在进行的数据库操作来说至关重要。
* 典型的企业服务器的主要组成部分是一个或多个CPU(有多个核)、磁盘空间和内存。Oracle数据库存储在服务器的磁盘上,而Oracle实例则存在于服务器的内存中。Oracle实例由一个大型内存块和大量后台进程组成;该内存块分配在系统全局区域中,后台进程在SGA和磁盘上的数据库文件之间交互。
* 在OracleRAC中,多个实例将使用同一个数据库。虽然共享数据库的实例可能在同一服务器上,但最可能的是这些实例位于不同服务器上,这些服务器通过高速互连进行连接,并且访问驻留在专门的,支持RAID磁盘子系统上的数据库。Oracle Exadata数据库一体机是一个将数据库服务器、I/O服务器和磁盘存储组合到一个或多个机柜,并针对RAC环境优化的示例(包括以每接口40Gbps的速度连接所有这些设备的双InfiniBand接口)。

Oracle 12c数据库架构

技术分享图片

安装环境:

* 安装系统:CentOS 7
* IP地址:192.168.72.129
* 硬盘大小:40G 或重新挂载一块40G硬盘
* 内存:4G
* SWAP(虚拟内存) : 8G
* 软件包链接:https://pan.baidu.com/s/1XA6WUchSzhxH3qYevF0gxA 
* 也可以直接去官网下载: https://www.oracle.com/cn

技术分享图片

安装过程:

1.首先部署环境,安装环境包,关闭防火墙及安全性
* yum -y install binutils compat-libcapl compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libXi libXtst make sysstat unixODBC unixODBC-devel
* systemctl stop firewalld.service
* setenforce 0

技术分享图片

2.主机名
* vim /etc/hostname #添加主机名
  HOSTNAME=oracle        #末行添加
* vim /etc/hosts #解析主机名
  192.168.72.129 oracle     #末行添加
3.配置内核参数
* vim /etc/sysctl.conf
 fs.aio-max-nr = 1048576   #异步IO请求数目 推荐值是:1048576 其实它等于 1024*1024 也就是1024个
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 #使其生效

技术分享图片

用户环境配置

1.创建oracle用户及密码
* groupadd oinstall
* groupadd dba
* useradd -g oinstall -G dba oracle
* passwd oracle

技术分享图片

2.创建oracle工作目录
* mkdir -p /orc/app/oracle
* chown -R oracle.oinstall /orc/app/
* chmod -R 755 /orc/app/oracle/
3.设置环境变量
* vim /home/oracle/.bash_profile    #先删除末尾两行数据插入
umask 022        #创建文件权限
ORACLE_BASE=/orc/app/oracle             #安装路径
OPACLE_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          #oracle命令导入到环境变量
LANG=zh_CN.UTF-8     #字符集 
export PATH LANG NLS_LANG ORACLE_BASE ORACLE_HOME ORACLE_SID   #声明全局,便于系统识别

技术分享图片

oracle用户资源限制

1.使用pam_limits认证模块
* vim /etc/pam.d/login
  在第7行下添加:
  session    required     /lib/security/pam_limits.so
  session    required     pam_limits.so

技术分享图片

2.配置限制文件
* 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        #堆栈设置

技术分享图片

3.修改环境变量
* vim /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

技术分享图片

安装Oracle

安装前提都做好了,现在开始Oracle 安装。

1..把解压的database 包挂载在Linux 中

技术分享图片

2.接下来在图形化界面操作
   xhost +      #需要root身份在图形化界面操作
3.切换Oracle用户安装Oracle数据库
su - oracle //切换成 oracle 用户
export DISPLAY=:0.0      #必须要有此步骤
cd /aaa/Oracle软件包/database     #切换到此目录
./runInstaller  //开始安装       

等待弹出窗口

技术分享图片
技术分享图片
4.接下来桌面弹出Oracle的窗口,进行安装
技术分享图片
技术分享图片
技术分享图片
技术分享图片
技术分享图片
技术分享图片
技术分享图片
技术分享图片

技术分享图片

* 切换 root  用户执行脚本:
* /orc/app/oraInventory/orainstRoot.sh
* /orc/app/oracle/product/12.2.0/dbhome_1/root.sh

技术分享图片
5.安装完成后,用浏览器访问https://192.168.72.129:5500/em
技术分享图片
到此Oracle 12c安装完成,具体操作及内部存储只是详见下一篇!

以上是关于理解Oracle体系结构 并在CentOS 7 上安装Oracle 12c的主要内容,如果未能解决你的问题,请参考以下文章

基于CentOS7安装部署 Oracle 12c

基于CentOS7安装部署 Oracle 12c ?

浅析理解Oracle数据库体系结构和存储结构

Centos 7下安装Oracle 12c 以及装后优化(附软件包)

Oracle体系结构和用户管理

oracle监听器理解