简介:
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安装完成,具体操作及内部存储只是详见下一篇!