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
- 选择创建数据库
- 输入全局数据库名、管理口令和确认口令、取消创建为容器数据库
启用监听
[oracle@Oracle ~]$ lsnrctl
LSNRCTL> start
TNS-01106: 使用名称LISTENER的监听程序已经启动
[oracle@Oracle ~]$ lsnrctl stop
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=Oracle)(PORT=1521)))
命令执行成功