CentOS 7 安装 Oracle 11g

官方文档:http://docs.oracle.com/cd/E11882_01/install.112/e24326/toc.htm

公司内部资源:ftp://192.168.10.70/pub/oracle/

前期准备

内容
OSCentOS 7
IP address172.16.0.247/16
hostnamedbserver1
USERroot
PASSWDABCabc123

设置主机名

hostnamectl set-hostname dbserver1

设置IP地址

修改 /etc/sysconfig/network-scripts/ifcfg-eth0 文件如下:

BOOTPROTO=none
ONBOOT=yes
IPADDR=172.16.0.247
NETMASK=255.255.0.0
GATEWAY=172.16.0.1
DNS1=202.96.128.86

注意点:Hostname 必须与下面设置的主机名一致,否则 oracle 的安装将无法启动。

配置 /etc/hosts 文件,添加如下参数:

172.16.0.247      dbserver1

设置软件源

rm -f /etc/yum.repos.d/*

新建 /etc/yum.repos.d/centos-dvd.repo 文件

[centos-dvd]
name=CentOS DVD
baseurl=http://192.168.10.70/cdrom
gpgcheck=0

刷新 yum cache

yum clean all && yum repolist

检查依赖包

rpm -q binutils gcc glibc libstdc++-devel libaio-devel make sysstat mksh unixODBC compat-libstdc++-33 gcc-c++ elfutils-libelf-devel | grep 'not installed'

缺哪个就装哪个,例如:

yum -y install gcc libstdc++-devel libaio-devel sysstat unixODBC compat-libstdc++-33 gcc-c++ elfutils-libelf-devel

创建 oracle 用户

groupadd oinstall
groupadd dba
useradd -g oinstall -G dba -m oracle
passwd oracle

修改内核参数

修改 /etc/sysctl.conf 文件,加上如下参数

fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 1987944448
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 = 1048586

为使上述配置生效而不重启系统,执行如下命令:

sysctl -p

内核参数代表的意思可见下表:

内核参数意义参数值参数存在位置
semmsl每个信号集最多可有几个信号250/proc/sys/kernel/sem
semmns整个系统最多可有几个信号32000 
semopm每个semopm所能呼叫的操作数100 
semmni整个系统最多可有几个信号集128 
shmall一个共享内存段所能容纳的内存数量(page)2097152/proc/sys/kernel/shmall
shmmax一个共享内存段所能容纳的内存数量(byte)4GB-1B/proc/sys/kernel/shmmax
shmmni整个系统最多可有几个共享内存段4096/proc/sys/kernel/shmmni
file-max整个系统同时可以开启的文件数量6553600/proc/sys/fs/file-max
ip_local_port_range应用程序可自由使用的端口范围1024-65000/proc/sys/net/ipv4/ip_local_port_range
rmen_default接收TCP封包的预设缓存空间4194304/proc/sys/net/core/rmen_default
rmen_max接收TCP封包的最大缓存空间4194304/proc/sys/net/core/rmen_max
wmen_default发送TCP封包的预设缓存空间262144/proc/sys/net/wmem_default
wmen_max发送TCP封包的最大缓存空间262144/proc/sys/net/wmem_max

修改用户限制

修改 /etc/security/limits.conf 文件,加上如下参数

oracle           soft    nproc   2047
oracle           hard    nproc   16384
oracle           soft    nofile  1024
oracle           hard    nofile  65536

修改用户验证选项

修改 /etc/pam.d/login 文件,加上如下参数:

session  required     pam_limits.so

修改用户配置文件

修改 /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

安装目录配置

mkdir /opt/oracle
mkdir /opt/oraInventory
chown oracle:oinstall /opt/oracle
chown oracle:oinstall /opt/oraInventory
chmod 775 /opt/oracle
chmod 775 /opt/oraInventory

修改 oracle 用户 .bashrc

修改 /home/oracle/.bashrc 文件,加入如下参数:

export ORACLE_BASE=/opt/oracle
export ORACLE_HOME=$ORACLE_BASE/oracle
export ORACLE_SID=orcl
export ORACLE_UNQNAME=$ORACLE_SID
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
export PATH=$ORACLE_HOME/bin:$PATH:$HOME/bin

完成后执行:

# su - oracle
$ env | grep ORA

检查环境变量是否完成

安装 Oracle 11g

tar -xzvf database.tar.gz
cd database
chmod -R +x .
./runInstaller

安装过程中的字符集选择

步骤 13/22,在字符集的标签页点选“从以下字符集列表中选择”,在“选择数据库字符集”列表中选择"简体中文ZHS16GBK"。

charset_ZHS16GBK.png

安装过程中的编译错误

安装过程中会出现以下的编译错误

Error in invoking target 'agent nmhs' of makefile

解决过程:

vi $ORACLE_HOME/sysman/lib/ins_emagent.mk

找到下面这一行

$(MK_EMAGENT_NMECTL)

将它修改成:

$(MK_EMAGENT_NMECTL) -lnnz11

然后点击 "retry",接着往下执行。

注意:如果是中途选择了忽略,也可以在安装完成之后以oracle用户执行:

make -f $ORACLE_HOME/sysman/lib/ins_emagent.mk agent nmhs

Oracle 开机启动

修改 /etc/oratab 文件最后一行的 N 为 Y,置为开机启动

# This file is used by ORACLE utilities.  It is created by root.sh
# and updated by either Database Configuration Assistant while creating
# a database or ASM Configuration Assistant while creating ASM instance.

# A colon, ':', is used as the field terminator.  A new line terminates
# the entry.  Lines beginning with a pound sign, '#', are comments.
#
# Entries are of the form:
#   $ORACLE_SID:$ORACLE_HOME::
#
# The first and second fields are the system identifier and home
# directory of the database respectively.  The third filed indicates
# to the dbstart utility that the database should , "Y", or should not,
# "N", be brought up at system boot time.
#
# Multiple entries with the same $ORACLE_SID are not allowed.
#
#
oracleSi:/opt/oracle/oracle:Y

拷贝 scripts/oracle 到 /etc/init.d/ 文件夹下

cp scripts/oracle /etc/init.d

配置 oracle 服务

chkconfig oracle on

转载于:https://my.oschina.net/91devel/blog/2878269

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值