Install Oracle 12c R2 on CentOS 7 silently
准备工作
- VMware 虚拟机
- CentOS 7 17.08 系统安装包镜像
- Oracle 12c R2 软件安装包
配置 yum 库并安装如下包
binutils-2.23.52.0.1-12.el7 (x86_64)
compat-libcap1-1.10-3.el7 (x86_64)
compat-libstdc++-33-3.2.3-71.el7 (i686)
compat-libstdc++-33-3.2.3-71.el7 (x86_64)
glibc-2.17-36.el7 (i686)
glibc-2.17-36.el7 (x86_64)
glibc-devel-2.17-36.el7 (i686)
glibc-devel-2.17-36.el7 (x86_64)
ksh
libaio-0.3.109-9.el7 (i686)
libaio-0.3.109-9.el7 (x86_64)
libaio-devel-0.3.109-9.el7 (i686)
libaio-devel-0.3.109-9.el7 (x86_64)
libX11-1.6.0-2.1.el7 (i686)
libX11-1.6.0-2.1.el7 (x86_64)
libXau-1.0.8-2.1.el7 (i686)
libXau-1.0.8-2.1.el7 (x86_64)
libXi-1.7.2-1.el7 (i686)
libXi-1.7.2-1.el7 (x86_64)
libXtst-1.2.2-1.el7 (i686)
libXtst-1.2.2-1.el7 (x86_64)
libgcc-4.8.2-3.el7 (i686)
libgcc-4.8.2-3.el7 (x86_64)
libstdc++-4.8.2-3.el7 (i686)
libstdc++-4.8.2-3.el7 (x86_64)
libstdc++-devel-4.8.2-3.el7 (i686)
libstdc++-devel-4.8.2-3.el7 (x86_64)
libxcb-1.9-5.el7 (i686)
libxcb-1.9-5.el7 (x86_64)
make-3.82-19.el7 (x86_64)
nfs-utils-1.3.0-0.21.el7.x86_64 (for Oracle ACFS)
net-tools-2.0-0.17.20131004git.el7 (x86_64) (for Oracle RAC and Oracle Clusterware)
smartmontools-6.2-4.el7 (x86_64)
sysstat-10.1.5-1.el7 (x86_64)
配置用户和组
组:
UNIX_GROUP_NAME=oinstall
OSDBA_GROUP=dba
OSOPER_GROUP=oper
OSBACKUPDBA_GROUP=backupdba
OSDGDBA_GROUP=dgdba
OSKMDBA_GROUP=kmdba
OSRACDBA_GROUP=racdba
用户:
oracle -g oinstall -G dba,oper,backupdba,dgdba,kmdba,racdba
配置内核参数
vi /etc/sysctl.conf
加入如下内容
fs.aio-max-nr = 1048576 fs.file-max = 6815744 kernel.shmall = 2097152 kernel.shmmax = 4294967295 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 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
修改oracle用户运行限制
vi /etc/security/limits.conf
添加以下内容
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
修改未知项
vi /etc/pam.d/login
添加以下内容
session required pam_limits.so
修改未知项
vi /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用户环境变量
vi ./.bash_profile
添加以下内容
ORACLE_BASE=/u01/app/oracle ORACLE_HOME=$ORACLE_BASE/product/12.2.0/dbhome_1 ORACLE_SID=ordb export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH=$PATH:$ORACLE_HOME/bin export PATH
使环境变量生效
source ./.bash_profile
准备安装响应文件
安装
./database/runInstaller -silent -responseFile /home/oracle/db_install.rsp
准备创建监听响应文件
运行命令创建监听
netca -silent -responseFile /home/oracle/netca.rsp
准备创建数据库响应文件
运行命令创建数据库
dbca -silent -createDatabase -responseFile /home/oracle/dbca.rsp
制作启动服务
su root cd /etc/init.d vi ordb
ordb文件内容
#! /bin/sh ORA_HOME=/u01/app/oracle/product/12.2.0/dbhome_1 ORA_OWNER=oracle case "$1" in 'start') su - $ORA_OWNER -c "$ORA_HOME/bin/dbstart $ORA_HOME" & touch /var/lock/subsys/ordb ;; 'stop') su - $ORA_OWNER -C "ORA_HOME/bin/dbshut $ORA_HOME" & rm -f /var/lock/subsys/ordb ;; esac
启动 oracle
service ordb start
停止 oracle
service ordb stop