### Centos 7 上安装 Oracle 12C 的超详细步骤
#### 一、环境准备与基础配置
在正式开始安装 Oracle 12C 之前,我们需要确保 CentOS 7 系统满足一定的基本条件,包括但不限于系统内核版本、硬件资源(如内存大小)、以及必要的软件包等。
##### 1. 安装桌面环境 (可选)
虽然安装 Oracle 数据库通常可以在没有图形界面的服务器环境中完成,但在某些情况下,为了便于调试和管理,可能需要安装一个桌面环境。可以通过以下命令来安装一个简单的 GNOME 桌面环境:
```bash
sudo yum -y groupinstall "GNOME Desktop"
```
##### 2. 安装必要的软件包
为了确保 Oracle 12C 的顺利安装,需要安装一系列依赖包,包括编译工具、库文件等。这些软件包通常包括但不限于:`binutils`, `compat-libcap1`, `gcc`, `gcc-c++`, `glibc`, `libaio`, `make`, `sysstat` 等。
```bash
sudo yum -y install binutils compat-libcap1 gcc gcc-c++ glibc glibc-devel glibc.i686 ksh libaio libaio.i686 libaio-devel libaio-devel.i686 libgcc libgcc.i686 libstdc++ libstdc++.i686 libstdc++-devel libstdc++-devel.i686 compat-libstdc++-33 compat-libstdc++-33.i686 libXi libXi.i686 libXtst libXtst.i686 make sysstat
```
##### 3. 修改内核参数
为了提高 Oracle 数据库的性能并确保其正常运行,需要修改一些内核参数,如 AIO 支持、文件句柄数量限制、共享内存参数等。这一步骤可以通过编辑 `/etc/sysctl.conf` 文件并使用 `sysctl -p` 命令使更改生效来实现。
```bash
MEMTOTAL=$(free -b | sed -n '2p' | awk '{print $2}')
SHMMAX=$(expr $MEMTOTAL / 2)
SHMMNI=4096
PAGESIZE=$(getconf PAGE_SIZE)
echo "fs.aio-max-nr=1048576" >> /etc/sysctl.conf
echo "fs.file-max=6815744" >> /etc/sysctl.conf
echo "kernel.shmmax=$SHMMAX" >> /etc/sysctl.conf
echo "kernel.shmall=$((($SHMMAX / $PAGESIZE) * $SHMMNI / 16))" >> /etc/sysctl.conf
echo "kernel.shmmni=$SHMMNI" >> /etc/sysctl.conf
echo "kernel.sem=250 32000 100 128" >> /etc/sysctl.conf
echo "net.ipv4.ip_local_port_range=9000 65500" >> /etc/sysctl.conf
echo "net.core.rmem_default=262144" >> /etc/sysctl.conf
echo "net.core.rmem_max=4194304" >> /etc/sysctl.conf
echo "net.core.wmem_default=262144" >> /etc/sysctl.conf
echo "net.core.wmem_max=1048576" >> /etc/sysctl.conf
sysctl -p
```
#### 二、创建 Oracle 用户及组
在安装 Oracle 数据库之前,还需要创建专门用于运行 Oracle 服务的用户和组。这些用户和组包括但不限于 `oinstall`, `dba`, `backupdba`, `oper`, `dgdba`, 和 `kmdba` 等。
```bash
i=54321
for group in oinstall dba backupdba oper dgdba kmdba; do
groupadd -g $i $group
i=$((i + 1))
done
useradd -u 1200 -g oinstall -G dba,oper,backupdba,dgdba,kmdba -d /home/oracle oracle
passwd oracle
mkdir -p /u01/app/oracle
chown -R oracle:oinstall /u01/app
chmod -R 775 /u01
vi /etc/pam.d/login
# 在第 14 行附近添加以下内容:
session required pam_selinux.so open_session
session required pam_namespace.so
session required pam_limits.so
session optional pam_keyinit.so force revoke
session include system-auth
session optional pam_ck_connector.so
```
以上步骤完成了安装 Oracle 12C 前的基础环境配置。接下来,您可以下载并安装 Oracle 12C 的安装包,并按照官方文档中的指示继续后续步骤。在整个过程中,请注意检查日志文件和系统错误提示,以确保安装过程的顺利进行。