前端之家收集整理的这篇文章主要介绍了
CentOS 7.1静默安装11.2.0.3 64位单机数据库软件,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
第1章CentOS 7.1静默安装11.2.0.3 64位单机数据库软件
1.1 安装前的准备工作
1.1.1 软件准备
1.1.2 检查硬件
注意这里的内存应该满足要求,不然可能引起数据库在安装过程中长时间的挂起等待。。。。
在正式安装开始前,请先检查你的软硬件条件是否满足安装需要。
硬件上可以使用命令查看内存情况和cpu特性:
@H_
301_65@
more /proc/meminfo
@H_
301_65@
more /proc/cpuinfo
其中内存的要求是不低于1G
下面的不是必须的,可选使用
cat /etc/redhat-release
@H_
301_65@
#df–k /dev/shm检查共享内存
@H_
301_65@
k /tmp检查临时磁盘空间
@H_
301_65@
#more /proc/version检查操作系统版本
@H_
301_65@
#unamer检查内核版本
内存:
# grep MemTotal /proc/meminfo
交换空间
# grep SwapTotal /proc/meminfo
磁盘空间
# df -ah
@H_
301_65@
# free
@H_
301_65@
#free -m
1.1.3 修改hosts文件、修改主机名
永久生效:
[root@localhost ~]# hostnamectl set-hostname COSLHR
或修改文件/etc/hostname:
[root@localhost ~]# cat /etc/hostname
@H_
301_65@
COSLHR
临时生效:
[root@localhost ~]# hostname COSLHR
查看/etc/hosts文件中必须包含a fully qualified name for the server,必须包含127.0.0.1和真实的IP地址这2行:
[root@localhost ~]# cat /etc/hosts
@H_
301_65@
# Do not remove the following line,or varIoUs programs
@H_
301_65@
# that require network functionality will fail.
@H_
301_65@
127.0.0.1 localhost.localdomain localhost
@H_
301_65@
::1 localhost6.localdomain6 localhost6
@H_
301_65@
192.168.59.155 COSLHR
注意将主机名对应到真实地址,否则Oracle有可能将监听程序仅仅建立在上。
注意:修改主机名后,需要重启系统后生效。
1.1.3.1 配置固定IP
DEVICE=ens33
@H_
301_65@
IPADDR=192.168.59.51
@H_
301_65@
NETMASK=255.255.255.0
@H_
301_65@
NETWORK=192.168.59.0
@H_
301_65@
BROADCAST=192.168.59.255
@H_
301_65@
GATEWAY=192.168.59.2
@H_
301_65@
ONBOOT=yes
@H_
301_65@
USERCTL=no
@H_
301_65@
BOOTPROTO=static
@H_
301_65@
#HWADDR=00:0c:29:97:f1:5b
@H_
301_65@
TYPE=Ethernet
@H_
301_65@
IPV6INIT=no
@H_
301_65@
DNS1=202.96.209.5
@H_
301_65@
DNS2=8.8.8.8
@H_
301_65@
NAME="ens33"
1.1.4 安装软件包检查
http://blog.itpub.net/26736162/viewspace-2133603/
可以统一检查:
rpm -q \
@H_
301_65@
binutils \
@H_
301_65@
compat-libstdc++-33 \
@H_
301_65@
elfutils-libelf \
@H_
301_65@
elfutils-libelf-devel \
@H_
301_65@
expat \
@H_
301_65@
gcc \
@H_
301_65@
gcc-c++ \
@H_
301_65@
glibc \
@H_
301_65@
glibc-common \
@H_
301_65@
glibc-devel \
@H_
301_65@
glibc-headers \
@H_
301_65@
libaio \
@H_
301_65@
libaio-devel \
@H_
301_65@
libgcc \
@H_
301_65@
libstdc++ \
@H_
301_65@
libstdc++-devel \
@H_
301_65@
make \
@H_
301_65@
pdksh \
@H_
301_65@
sysstat \
@H_
301_65@
unixODBC \
@H_
301_65@
unixODBC-devel | grep "not installed"
如果部分包不存在,可以批量更新安装,但如果依赖关系缺失,可能需要多执行两遍或者手工调整,所以建议使用yum进行安装:
package compat-libstdc++-33 is not installed
@H_
301_65@
package elfutils-libelf-devel is not installed
@H_
301_65@
package gcc-c++ is not installed
@H_
301_65@
package libaio-devel is not installed
@H_
301_65@
package libstdc++-devel is not installed
@H_
301_65@
package pdksh is not installed
@H_
301_65@
package unixODBC is not installed
@H_
301_65@
package unixODBC-devel is not installed
依次安装如下的包:
yum install -y compat-libstdc++-33
@H_
301_65@
yum install -y elfutils-libelf-devel
@H_
301_65@
yum install -y gcc-c++
@H_
301_65@
yum install -y libaio-devel
@H_
301_65@
yum install -y libstdc++-devel
@H_
301_65@
yum install -y pdksh
@H_
301_65@
yum install -y unixODBC
@H_
301_65@
yum install -y unixODBC-devel
安装完成后再次检查是否还有没有安装的包。
注意:其中的pdksh包可以忽略。
1.1.5 内核参数--shell限制
1.1.5.1 /etc/security/limits.conf
设置Shell Limits
在/etc/security/limits.conf文件中加入下列行:
oracle soft nofile 65536
@H_
301_65@
oracle hard nofile 65536
@H_
301_65@
oracle soft nproc 16384
@H_
301_65@
oracle hard nproc 16384
为安装用户设置资源限制
要改善Linux系统上的软件性能,必须对软件所有者用户(grid、oracle)增加以下资源限制:
Shell限制 limits.conf中的条目 硬限制
打开文件描述符的最大数 nofile 65536
可用于单个用户的最大进程数 nproc 16384
进程堆栈段的最大大小 stack 10240
1.1.5.2 /etc/pam.d/login
/etc/pam.d/login文件中加入下列行,如果里面没有的话:
1.1.5.3 /etc/profile
对默认的shell启动文件进行以下更改,以便更改所有安装所有者的ulimit设置:
在/etc/profile后加入以下语句:
if [ $USER = "oracle" ]; then
@H_
301_65@
if [ $SHELL = "/bin/ksh" ]; then
@H_
301_65@
ulimit -p 16384
@H_
301_65@
ulimit -n 16384
@H_
301_65@
else
@H_
301_65@
ulimit -u 16384 -n 16384
@H_
301_65@
fi
@H_
301_65@
fi
1.1.5.4 /etc/sysctl.conf
Configuring Kernel Parameters for Linux
vim /etc/sysctl.conf
fs.aio-max-nr = 1048576
@H_
301_65@
fs.file-max = 6815744
@H_
301_65@
kernel.shmall = 2097152
@H_
301_65@
kernel.shmmax = 4294967295
@H_
301_65@
kernel.shmmni = 4096
@H_
301_65@
kernel.sem = 250 32000 100 128
@H_
301_65@
net.ipv4.ip_local_port_range = 9000 65500
@H_
301_65@
net.core.rmem_default = 262144
@H_
301_65@
net.core.rmem_max = 4194304
@H_
301_65@
net.core.wmem_default = 262144
@H_
301_65@
net.core.wmem_max = 1048576
生效
# /sbin/sysctl -p
参数的含义:http://blog.itpub.net/26736162/viewspace-2147273/
1.1.6 关闭防火墙
systemctl status firewalld.service
@H_
301_65@
systemctl stop firewalld.service
@H_
301_65@
systemctl disable firewalld.service
@H_301_65@[root@localhost /]# systemctl status firewalld.service
@H_
301_65@
●firewalld.service - firewalld - dynamic firewall daemon
@H_
301_65@
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
@H_
301_65@
Active:active (running)since Thu 2016-04-07 18:54:29 PDT; 2h 20min ago
@H_
301_65@
Main PID: 802 (firewalld)
@H_
301_65@
CGroup: /system.slice/firewalld.service
@H_
301_65@
└─802 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopid
@H_
301_65@
@H_
301_65@
Apr 07 18:54:25 localhost.localdomain systemd[1]: Starting firewalld - dynamic firewall daemon...
@H_
301_65@
Apr 07 18:54:29 localhost.localdomain systemd[1]: Started firewalld - dynamic firewall daemon.
@H_
301_65@
[root@localhost /]# systemctl stop firewalld.service #关闭防火墙
@H_
301_65@
[root@localhost /]# systemctl status firewalld.service再次查看防火墙状态,发现已关闭
@H_
301_65@
inactive (dead)since Thu 2016-04-07 21:15:34 PDT; 9s ago
@H_
301_65@
Main PID: 802 (code=exited,status=0/SUCCESS)
@H_
301_65@
Apr 07 21:15:33 localhost systemd[1]: Stopping firewalld - dynamic firewall daemon...
@H_
301_65@
Apr 07 21:15:34 localhost systemd[1]: Stopped firewalld - dynamic firewall daemon.
@H_
301_65@
[root@localhost /]# systemctl disable firewalld.service禁止使用防火墙(重启也是禁止的)
@H_
301_65@
Removed symlink /etc/systemd/system/dbus-org.Fedoraproject.FirewallD1.service.
@H_
301_65@
Removed symlink /etc/systemd/system/basic.target.wants/firewalld.service.
@H_
301_65@
[root@localhost /]#
1.1.7 禁用selinux
修改/etc/selinux/config
编辑文本中的SELINUX=enforcing为SELINUX=disabled
[root@OCPLHR ~]# vi /etc/selinux/config
@H_
301_65@
[root@OCPLHR ~]# more /etc/selinux/config
@H_
301_65@
# This file controls the state of SELinux on the system.
@H_
301_65@
# SELINUX= can take one of these three values:
@H_
301_65@
# enforcing - SELinux security policy is enforced.
@H_
301_65@
# permissive - SELinux prints warnings instead of enforcing.
@H_
301_65@
# disabled - SELinux is fully disabled.
@H_
301_65@
SELINUX=disabled
@H_
301_65@
# SELINUXTYPE= type of policy in use. Possible values are:
@H_
301_65@
# targeted - Only targeted network daemons are protected.
@H_
301_65@
# strict - Full SELinux protection.
@H_
301_65@
SELINUXTYPE=targeted
@H_
301_65@
[root@OCPLHR ~]# /usr/sbin/sestatus -v
@H_
301_65@
SELinux status: disabled
@H_
301_65@
[root@OCPLHR ~]# getenforce
@H_
301_65@
Disabled
临时关闭(不用重启机器):setenforce 0
SELinux状态:
1/usr/sbin/sestatus -v ##如果SELinux status参数为enabled即为开启状态
SELinux status: enabled
getenforce ##也可以用这个命令检查
1.2 新建用户和组
The Oracle Inventory group (oinstall)数据库安装组
The OSDBA group (dba)数据库管理员组
The Oracle software owner (oracle)管理员用户
groupadd oinstall
@H_
301_65@
groupadd dba
@H_
301_65@
useradd -g oinstall -G dba -m oracle
@H_
301_65@
passwd oracle