一、系统等基础环境

  1. 安装系统
  2. 安装一些常用的命令工具:

yum -y install rsync zip unzip telnet

yum install lvm* //磁盘采用逻辑卷方式

  1. 对磁盘进行分区/dev/sdb(200G用来存放数据库数据)

fdisk /dev/sdb

pvcreate /dev/sdb1

vgcreate oradata /dev/sdb1

lvcreate -L 198G -n lvoradata oradata

mkfs.ext4 /dev/oradata/lvoradata

mkdir /oradata

mount /dev/oradata/lvoradata /oradata

vi /etc/fatab //将挂载信息写在文件后面

/dev/oradata/lvoradata /oradata ext4 defaults 0 0

使用命令df -h 查看磁盘相关信息

  1. 关闭selinux

vi /etc/selinux/config

SELINUX=disabled

  1. 设置主机名 /etc/hostname,如oracle
  2. 添加host记录
  3. 重启 reboot

二、开始安装oracle软件

  1. 将软件安装包存放目录 /data/oracle/oraclesetup
  2. 解压

unzip linux.x64_11gR2_database_1of2.zip && unzip linux.x64_11gR2_database_2of2.zip

  1. 安装依赖包

yum install -y gcc make binutils gcc-c++ compat-libstdc++-33elfutils-libelf-devel elfutils-libelf-devel-static ksh libaio libaio-develnumactl-devel sysstat unixODBC unixODBC-devel pcre-devel libXtst.so.6

yum install libXp*.x86_64 libXt*.x86_64 libxtst*.x86_64 -y

  1. 添加用户和用户组

groupadd oinstall

groupadd dba

useradd -g oinstall -G dba oracle

  1. 修改内核参数文件 vi /etc/sysctl.conf

fs.aio-max-nr = 1048576

fs.file-max = 6815744

kernel.shmall = 2097152

kernel.shmmax = 8589934592

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

其中kernel.shmmax = 8589934592 为本机物理内存的一半,单位为byte。

  1. 修改文件/etc/security/limits.conf

oracle soft nproc 2047

oracle hard nproc 16384

oracle soft nofile 1024

oracle hard nofile 65536

oracle soft stack 10240

  1. 修改文件/etc/pam.d/login,添加

session required /lib64/security/pam_limits.so

session required pam_limits.so

  1. 修改文件/etc/profile,添加

##ORACLE

if [ $USER = "oracle" ]; then

if [ $SHELL = "/bin/ksh" ]; then

ulimit -p 16384

ulimit -n 65536

else

ulimit -u 16384 -n 65536

fi

fi

  1. 创建安装目录和设置目录权限

mkdir -p /data/oracle/product/11.2.0

mkdir /data/oracle/oradata //数据库文件,生产一般是放在存储上的

mkdir /data/oracle/inventory

mkdir /data/oracle/fast_recovery_area

chown -R oracle:oinstall /data/oracle

chmod -R 775 /data/oracle

chown -R oracle:oinstall /oradata //数据库文件,这里存储是挂在这个目录

  1. 设置oracle用户变量,编辑文件.bash_profile,添加

ORACLE_BASE=/data/oracle

ORACLE_HOME=$ORACLE_BASE/product/11.2.0

ORACLE_SID=orcl

PATH=$PATH:$ORACLE_HOME/bin

export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH

注意,粗体处必须与创建的数据库实例名称一致,否则数据库启动后无法访问。

  1. 编辑配置文件/data/oracle/oraclesetup/database/response/db_install.rsp静默安装响应文件

oracle.install.option=INSTALL_DB_SWONLY

ORACLE_HOSTNAME=oracle

UNIX_GROUP_NAME=oinstall

INVENTORY_LOCATION=/data/oracle/inventory

SELECTED_LANGUAGES=en,zh_CN

ORACLE_HOME=/data/oracle/product/11.2.0

ORACLE_BASE=/data/oracle

oracle.install.db.InstallEdition=EE

oracle.install.db.isCustomInstall=false

oracle.install.db.DBA_GROUP=dba

oracle.install.db.OPER_GROUP=dba

DECLINE_SECURITY_UPDATES=true

  1. 静默安装:

./runInstaller -silent -responseFile /data/oracle/oraclesetup/database/response/db_install.rsp -ignorePrereq

安装成功后,切换root用户执行

#sh /data/oracle/inventory/orainstRoot.sh

#sh /data/oracle/product/11.2.0/root.sh

  1. 以静默方式配置监听

su - oracle

export DISPLAY=10.7.230.198:0.0

netca -silent -responseFile /data/oracle/oraclesetup/database/response/netca.rsp

运行成功后会生成配置文件

使用命令查看服务状态

lsnrctl status

netstat -natp

配置监听过程报错及处理步骤:

报libXext.so.6

centos 7 安装oracle 11g,oracle静默安装_linux

  1. 以静默方式建立新库,同时也建立一个对应的实例。

编辑配置文件/data/oracle/oraclesetup/database/response/dbca.rsp

GDBNAME = "orcl"

SID = "orcl"

TEMPLATENAME = "General_Purpose.dbc"

SYSPASSWORD = "chenzm123"

SYSTEMPASSWORD = "chenzm123"

SYSMANPASSWORD = "chenzm123"

DBSNMPPASSWORD = "chenzm123"

DATAFILEDESTINATION = /oradata

RECOVERYAREADESTINATION=/data/oracle/fast_recovery_area

【RECOVERYAREADESTINATION=/oradata/fast_recovery_area //正式配置在/oradata

CHARACTERSET = "ZHS16GBK"

TOTALMEMORY = "12000" //物理内存的80%

开始安装数据库实例

dbca -silent -responseFile /data/oracle/oraclesetup/database/response/dbca.rsp

centos 7 安装oracle 11g,oracle静默安装_linux_02

lsnrctl status //查看实例状态

centos 7 安装oracle 11g,oracle静默安装_linux_03

15 . 设置oracle 开机启动

编辑配置文件/data/oracle/product/11.2.0/bin/dbshut

将ORACLE_HOME_LISTNER=$1修改为ORACLE_HOME_LISTNER=$ORACLE_HOME

修改/data/oracle/product/11.2.0/bin/dbstart

将ORACLE_HOME_LISTNER=$1修改为ORACLE_HOME_LISTNER=$ORACLE_HOME

centos 7 安装oracle 11g,oracle静默安装_linux_04

修改/etc/oratab文件

将orcl:/data/oracle/product/11.2.0:N中最后的N改为Y,成为orcl:/data/oracle/product/11.2.0:Y

centos 7 安装oracle 11g,oracle静默安装_oracle_05

dbshut //测试数据库关闭

dbstart // 测试数据库启动

添加启动脚本/etc/init.d/oracle

#!/bin/bash

#oracle: Start/Stop Oracle Database 11g R2

#chkconfig: 345 90 10

#description: The Oracle Database is an Object-Relational Database ManagementSystem.

. /etc/rc.d/init.d/functions

LOCKFILE=/var/lock/subsys/oracle

ORACLE_HOME=/data/oracle/product/11.2.0

ORACLE_USER=oracle

case "$1" in

'start')

if [ -f $LOCKFILE ]; then

echo $0 already running.

else

echo -n $"StartingOracle Database:"

su - $ORACLE_USER -c"$ORACLE_HOME/bin/lsnrctl start"

su - $ORACLE_USER -c"$ORACLE_HOME/bin/dbstart $ORACLE_HOME"

su - $ORACLE_USER -c"$ORACLE_HOME/bin/emctl start dbconsole"

touch $LOCKFILE

fi

;;

'stop')

if [ ! -f $LOCKFILE ]; then

echo $0 already stopping.

else

echo -n $"StoppingOracle Database:"

su - $ORACLE_USER -c"$ORACLE_HOME/bin/lsnrctl stop"

su - $ORACLE_USER -c"$ORACLE_HOME/bin/dbshut"

su - $ORACLE_USER -c"$ORACLE_HOME/bin/emctl stop dbconsole"

rm -f $LOCKFILE

fi

;;

'restart')

$0 stop

sleep 5

$0 start

;;

'status')

if [ -f $LOCKFILE ]; then

echo $0 started.

else

echo $0 stopped.

fi

;;

*)

echo "Usage: $0[start|stop|status]"

exit 1

esac

exit 0

centos 7 安装oracle 11g,oracle静默安装_linux_06

编辑启动脚本/etc/init.d/oracle,设置脚本开机启动

centos 7 安装oracle 11g,oracle静默安装_配置文件_07

reboot 查看oracle是否正常。