Centos7.6安装Oracle11g完整教程
1、关闭防火墙和selinux
测试环境,为了方便快速稳定部署,生产环境不建议关闭防火墙和selinux。建议提前做好系统优化,优化参考脚本→点击进入。
systemctl status firewalld
systemctl stop firewalld
systemctl disable firewalld
#firewall-cmd --zone=public --add-port=1521/tcp --permanent #如果打开防火墙的话,需放开Oracle1521端口
#firewall-cmd --reload #增加新的配置需重新加载
sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config
#sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config grep SELINUX=disabled /etc/selinux/config
setenforce 0 #临时设置SELinux 成为permissive模式
#setenforce 1 #临时设置SELinux 成为enforcing模式
getenforce #查看是否开启了SELinux。
#修改配置文件重启后生效
2、创建运行oracle用户和组
groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle
id oracle
mkdir -p /home/data/oracle #创建oracle安装目录
mkdir -p /home/data/database #创建oracle解压目录
mkdir -p /home/data/oraInventory #创建oracle配置文件目录
chown -R oracle:oinstall /home/data #设置oracle用户为目录的所有者
chmod -R 775 /home/data
[root@oracle selinux]# groupadd oinstall
[root@oracle selinux]# groupadd dba
[root@oracle selinux]# useradd -g oinstall -G dba oracle
[root@oracle selinux]# id oracle
uid=1001(oracle) gid=1001(oinstall) groups=1001(oinstall),1002(dba)
[root@oracle selinux]# groups oracle
oracle : oinstall dba
[root@oracle selinux]# passwd oracle
Changing password for user oracle.
New password:
BAD PASSWORD: The password is shorter than 8 characters
Retype new password:
passwd: all authentication tokens updated successfully.
[root@oracle selinux]# mkdir -p /home/data/oracle
[root@oracle selinux]# mkdir -p /home/data/database
[root@oracle selinux]# mkdir -p /home/data/oraInventory
[root@oracle selinux]# chown -R oracle:oinstall /home/data
[root@oracle selinux]# chmod -R 775 /home/data
[root@oracle selinux]#
3、修改oracle用户限制
执行vim /etc/security/limits.conf文件,修改操作系统对oracle用户资源的限制。
oracle soft nproc 4096
oracle hard nproc 16384
oracle soft nofile 2048
oracle hard nofile 65536要使limits.conf文件配置生效,必须要确保pam_limits.so文件被加入到启动文件中。编辑文件:vim /etc/pam.d/login
session required /lib/security/pam_limits.so session required pam_limits.so
[root@oracle selinux]# vim /etc/security/limits.conf
[root@oracle selinux]# cat /etc/security/limits.conf
# /etc/security/limits.conf
####......省略注释部分
#ftp hard nproc 0
#@student - maxlogins 4
oracle soft nproc 4096
oracle hard nproc 16384
oracle soft nofile 2048
oracle hard nofile 65536
# End of file
[root@oracle selinux]#
[root@oracle selinux]# vim /etc/pam.d/login
#%PAM-1.0
##......省略部分内容
session include postlogin
-session optional pam_ck_connector.so
session required /lib/security/pam_limits.so
session required pam_limits.so
为了能让每个用户在每次登陆系统之后,都能自动设置其最大可启动进程数与最多可开启文件数,设置 /etc/profile
配置完成source /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
[root@oracle selinux]# vim /etc/profile
[root@oracle selinux]# source /etc/profile
[root@oracle selinux]#
4、配置内核参数和资源限制
编辑/etc/sysctl.conf文件,设置相关参数的系统默认值。每次操作系统启动时,便会自动设置这些内核参数。
####oracle
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 536870912
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 查看并生效:(-p:从指定的文件加载系统参数,如不指定即从/etc/sysctl.conf中加载)
[root@oracle selinux]# vim /etc/sysctl.conf
[root@oracle selinux]#
[root@oracle selinux]# sysctl -p
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 536870912
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
[root@oracle selinux]#
7、配置oracle用户环境变量
设置用户环境变量,将下列设置添加到 /home/oracle/.bash_profile文件中;注意:要写到原有“PATH=PATH:PATH:HOME/bin”变量上面,否则会提示“bash: sqlplus: command not found”
umask 022 export ORACLE_BASE=/home/data/oracle export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1 export ORACLE_SID=orcl export ORACLE_TERM=xterm export PATH=$ORACLE_HOME/bin:/user/sbin:$PATH export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib export LANG=C export NLS_LANG=``