CentOS 7安装Oracle 11G教程

本文详细介绍了如何在 CentOS 7 系统上安装 Oracle 11G 数据库,包括关闭 selinux 和 firewall,创建用户,安装依赖,修改内核参数,通过桌面和命令行两种方式安装,以及设置开机启动等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、 安装环境和工具

系统环境:CentOS Linux release 7.3.1611 (Core)
Oracle版本:Oracle Database 11g R2
工具:Xshell6和Xftp6
注:系统安装时需安装桌面组件。

二、 安装前准备

1、 关闭selinux
查看selinux状态:getenforce 或者sestatus –v
临时关闭:setenforce 0
永久关闭:vim /etc/selinux/config 设置SELINUX=disabled
注:修改/etc/selinux/config 后需重启服务器才生效(reboot)
2、 关闭firewalld 安装iptables(服务器不建议执行,直接使用firewalld)
systemctl status firewalld.service
systemctl start firewalld.service
systemctl stop firewalld.service
systemctl disable firewalld.service

yum -y install iptables-services
systemctl restart iptables.service
systemctl enable iptables.service
3、 创建用户及安装目录,安装依赖包
创建用户:

[root@hzjz ~]# groupadd oinstall
[root@hzjz ~]# groupadd dba
[root@hzjz ~]# useradd -g oinstall -G dba -m oracle
[root@hzjz ~]# passwd oracle

创建安装目录并解压安装文件:

[root@hzjz ~]# mkdir -p /ora

通过Xftp将
linux.x64_11gR2_database_1of2.zip
linux.x64_11gR2_database_2of2.zip
上传到/ora目录下

[root@hzjz ~]# unzip -d /ora/ /ora/linux.x64_11gR2_database_1of2.zip
[root@hzjz ~]# unzip -d /ora/ /ora/linux.x64_11gR2_database_2of2.zip
[root@hzjz ~]# chown -R oracle:oinstall /ora
[root@hzjz ~]# chmod 755 -R /ora
[root@hzjz ~]# mkdir -p /u01/app
[root@hzjz ~]# mkdir -p /u01/app/tmp
[root@hzjz ~]# mkdir -p /u01/app/oracle
[root@hzjz ~]# chown -R oracle:oinstall /u01
[root@hzjz ~]# chmod 755 -R /u01

4、 安装oracle所需依赖

[root@hzjz ~]# yum -y install binutils compat compat-libstdc gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libXi libXtst make sysstat unixODBC unixODBC-devel

5、 系统内核修改
说明:
内核参数需要注意,shmall 和shmmax 的值由服务器内存决定:
kernel.shmall:
该参数控制可以使用的共享内存的总页数。Linux共享内存页大小为4KB,共享内存段的大小都是共享内存页大小的整数倍。一个共享内存段的最大大小是16G,那么需要共享内存页数是16GB/4KB=16777216KB/4KB=4194304(页),也就是64Bit系统下16GB物理内存,设置kernel.shmall = 4194304 符合要求。
kernel.shmmax:
是核心参数中最重要的参数之一,用于定义单个共享内存段的最大值。64位linux系统:可取的最大值为物理内存值-1byte,建议值为多于物理内存的一半,例如,如果为16GB物理内存,可取1010241024*1024-1=10737418239。
kernel.shmmni:
该参数是共享内存段的最大数量。shmmni缺省值4096,一般肯定是够用了。
kernel.sem = 250 32000 100 128 的意思是:
250是参数semmsl的值,表示一个信号量集合中能够包含的信号量最大数目。
32000是参数semmns的值,表示系统内可允许的信号量最大数目。
100是参数semopm的值,表示单个semopm()调用在一个信号量集合上可以执行的操作数量。
128是参数semmni的值,表示系统信号量集合总数。
4G内存左右服务器配置:

[root@hzjz ~]# vim /etc/sysctl.conf
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 1048576
kernel.shmmax = 3221225471
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

8G内存左右服务器配置:

[root@hzjz ~]# vim /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

16/32G内存左右服务器配置:

[root@hzjz ~]# vim /etc/sysctl.conf
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 4194304 
kernel.shmmax = 17179869183
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@hzjz ~]# sysctl -p

6、 修改认证模块

[root@hzjz ~]# vim /etc/security/limits.conf
oracle soft nproc 131072
oracle hard nproc 131072
oracle soft nofile 131072
oracle hard nofile 131072
oracle soft core unlimited
oracle hard core unlimited
oracle soft memlock 50000000
oracle hard memlock 50000000

7、 修改用户登录认证

[root@hzjz ~]# vim /etc/pam.d/login
session required /lib64/security/pam_limits.so
session required pam_limits.so

注:
32位:/lib/security/pam_limits.so
64位:/lib64/security/pam_limits.so
8、 设置环境变量(ORACLE_HOME 设置为安装目录product下默认目录)

[root@hzjz ~]# vim /etc/profile
#oracle 
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
export ORACLE_SID=orcl
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi

9、 修改Oracle用户环境变量

[oracle@hzjz ~]# vim /home/oracle/.bash_profile
export TMP=/u01/app/tmp
export TMPDIR=/u01/app/tmp 
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
export ORACLE_SID=orcl
export 
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值