centos7下安装oracle11gR2

Posted 天涯羁客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了centos7下安装oracle11gR2相关的知识,希望对你有一定的参考价值。


https://www.2cto.com/database/201704/622237_2.html

1、关闭防火墙
systemctl stop firewalled service
systemctl disable firewalled service

2、关闭selinux
vim /etc/selinux/config
selinux=encourceing改为disabled

3、创建运行oracle数据库的用户组和系统用户
#groupadd oinstall //创建用户组oinstall
#groupadd dba //创建用户组dba
#useradd -g oinstall -g dba -m oracle //创建用户oracle,并加入到oinstall和dba用户组
#passwd oracle //设置用户oracle的登录密码
#id oracle //查看新建的用户oracle

4、创建数据库安装目录并授权
#mkdir -p /data/oracle //安装目录
#mkdir -p /data/oraInventory //配置文件目录
#mkdir -p /data/database // 解压目录

#chown -R oracle:oinstall /data/oracle
#chown -R oracle:oinstall /data/oraInventory
#chown -R oracle:oinstall /data/database

5、修改OS系统标识
注:CentOS系统默认不支持oracle数据库安装,需要修改系统标识为redhat-7
#cat /proc/version //查看Linux系统版本
#cat /etc/redhat-realease //查看CentOS系统版本
CentOS Linux release 7.2.1511(Core)
#vi /etc/redhat-realease
redhat-7

6、修改内核参数
#vi /etc/sysctl.conf
#System default……
#To override……
#
#For more……
net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.conf.all.rp_filter = 1
fs.file-max = 6815744 #设置最大打开文件数
fs.aio-max-nr = 1048576
kernel.shmall = 2097152 #共享内存的总量,8G内存设置:2097152*4k/1024/1024
kernel.shmmax = 2147483648 #最大共享内存的段大小
kernel.shmmni = 4096 #整个系统共享内存端的最大数
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500 #可使用的IPv4端口范围
net.core.rmem_default = 262144
net.core.rmem_max= 4194304
net.core.wmem_default= 262144
net.core.wmem_max= 1048576

使配置参数生效:
#sysctl -p

7、对oracle用户设置限制,提高软件运行性能
[root@localhost /]# vi /etc/security/limits.conf

#@student - maxlogins 4
oracle soft nproc 2047 //最大进程数
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536

# End of file

8、配置用户的环境变量
切换到oracle用户下:
$vim .bash_profile

export ORACLE_BASE=/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="SIMPLIFIED CHINESE_CHINA.AL32UTF8"
AMERICAN_AMERICA.ZHS16GBK #设置Oracle客户端字符集,必须 与Oracle安装时设置的字符集保持一致,如:ZHS16GBK,否则出现数据导入导出 中文乱码问题

注释掉原来的#PATH和#export PATH
使上述配置立即生效:#source /home/oracle/.bash_profile

10、增加主机名
注:若不执行此步,则配置监听时会出错,系统无法识别监听。
Linux查看计算机名 $hostname
#vi /etc/sysconfig/network
# Created by anaconda
hostname=lgswork //增加hostname
# vi /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 lgswork
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6

# hostname lgswork  //执行

11、安装oracle数据库所需的软件包
#yum install gcc* gcc-* gcc-c++-* glibc-devle-* glibc-headers-* compat-libstdc* libstdc* elfutils-libelf-devel*
libaio-devel* sysstat* unixODBC-* pdksh-* make ksh binutils -y
字符集设置
vi /home/oracle/.bash_profile #追加配置文件
export LANG=C #防止安装过程出现乱码
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK #设置Oracle客户端字符集,必须与Oracle安装时设置的字符集保持一致
export LANG=zh_CN.UTF-8
12、解压缩
将3个压缩文件放到/data下
$cd /data
$unzip oracle_11.2.0.4_Linux-64_1of7.zip -d /data/database
$unzip oracle_11.2.0.4_Linux-64_2of7.zip -d /data/database

13、安装
$cd /data/database
$./runInstaller
(1)Prerequisite Checks
①swap空间不足解决 :(要求2.67G 实际2G)
# free -m  //查看当前虚拟内存
# dd if=/dev/zero of=/home/swap bs=1024 count=1024000 //将当前swap 空间由2048M增加到3048M新增一个2014的swap文件
# swapon /home/swap //增加并启用虚拟内容
# free -m  //再次查看
②package检测失败
因为现有的包的版本比检测要高,最后忽略即可。也可下载相应的package后:
#rpm -ivh pdksh-5.2.14-37.el5_8.1.x86_64.rpm(需cd到包所在目录)
③安装过程是一个漫长的过程,中间有几次卡住,没有出现任何画面,屏幕中间有 条小线,尝试多次,发现光标在该线上,右键点击Closed,也可esc或enter。
(2)Install Product
①execute root scripts(根脚本执行)-failed
切换到root用户:
#/data/oraInventory/orainstRoot.sh
#/data/oracle/product/11.2.0/db_1/root.sh
执行完这连个脚本后再点击try便可执行成功。

[Oracle@localhost ~]$ netca //配置监听
[Oracle@localhost ~]$ lsnrctl status //查看监听状态
[Oracle@localhost ~]$ dbca //创建数据库实例orcl

 

https://www.cnblogs.com/kerrycode/archive/2013/09/13/3319958.html


4.4 修改系统内核参数

在修改系统内核参数前,你可以用命令先查看一下当前各类系统参数的值,亦或直接查看配置文件/etc/sysctl.conf

[root@getoraclelnx01 ~]# getconf PAGESIZE

4096

[root@getoraclelnx01 ~]# sysctl -a | grep sem

kernel.sem = 250 32000 32 128

[root@getoraclelnx01 ~]# sysctl -a | grep shm

kernel.shmmax = 68719476736

kernel.shmall = 4294967296

kernel.shmmni = 4096

vm.hugetlb_shm_group = 0

[root@getoraclelnx01 ~]# sysctl -a | grep file-max

fs.file-max = 2414060

[root@getoraclelnx01 ~]# sysctl -a | grep ip_local_port_range

net.ipv4.ip_local_port_range = 32768 61000

[root@getoraclelnx01 ~]#
kernel.shmmax

关于内核参数kernel.shmmax,oracle 建议,kernel.shmmax的值不能少于物理内存的一半,而且要大于Oracle中sga-max-size的值,否则会造成oracle性能下降

一般32bit操作系统,直接设置为系统支持的最大内存即可,64bit操作系统设置大于sga-max-size的值即可

如:当前内存为2G 则kernel.shmmax = 2*1024*1024=2097152

当前内存为8G则 kernel.shmmax = 7*1024*1024=7340032

Kernel.shmall

Shmall指系统一次可以使用的共享内存段的最大数量,以页为单位。Oracle默认设置为 kernel.shmall = 2097152

即最大8G(2097152*4/1024/1024),(在调整SGA时需要注意,SGA大小设置不可超过该值),根据系统内存大小和使用的不同可以参考如下:设置的一般规律

kernel.shmall = 8G/4k=8388608k/4k=2097152 ---内存8G

kernel.shmall = 16G/4k=16777216k/4k=4194304 ---内存16G

kernel.shmall = 32G/4k=33554432k/4k=8388608 ---内存32G

(RedHat linux系统中页大小为4096即4K,实际环境以getconf PAGE_SIZE结果为准)

kernel.shmmni

shmmni 指系统共享内存段的最大数量

oracle设置默认值为4096,一般是足够用了,不需要调整

文件句柄数的相关内核参数设置

fs.file-max

fs.file-max指系统能够打开最大的文件句柄数

oracle建议设置为65536,一般不用修改

信号的相关内核参数设置

kernel.sem

kernel.sem是指 semmsl,semmns,semopm,semmni这4个参数

semmsl 指每个线号集的最大信号数,Oracle建议是设置为oracle的最大进程数+10

semmni 指整个系统的信号集的最大数量

semmns 指整个系统的信号总数,也就是semmni*semmsl的结果

semopm 指每个semop系统调用可以执行的信号操作的最大数量

oracle默认设置

semmsl=250

semmns=3200

semopm=100

semmni=128

即kernel.sem= 250 3200 100 128

例:在oracle ora.init文件参数中设置PROCESSES参数为5000

则semmsl=5010,semmni=128,semmns=semmsl* semmni=641280

另外semopm建议设置等于semmsl值即5010

那么kernel.sem=5010 641280 5010 128

网络相关的内核参数设置

net.core.rmem_default

net.core.rmem_default 指网络套接字的默认接收缓冲区的大小,oracle建议设置为265K即262144

net.core.rmem_max

net.core.rmem_max 指网络套接字的最大接收缓冲区的大小,oracle10g及以前版本建议设置为256k即262144

oracle11g建议设置为4M 即4194304

net.core.wmem_default

net.core.wmem_default指网络套接字的默认发送缓冲区的大小,oracle建议设置为265K即262144

net.core.wmem_max

net.core.wmem_max 指网络套接字的最大发送缓冲区的大小,oracle10g及以前版本建议设置为256k即262144

oracle11g建议设置为1M即1048576

net.ipv4.ip_local_port_range

net.ipv4.ip_local_port_range ,指本地的允许打开随机端口范围

oracle10g前建议端口范围为1024 65000,oracle11g建议端口范围为:
65500 并忽略oracle安装程序任何关于这个参数的警告

Asynchronous I/O相关的内核参数设置

fs.aio-max-nr

fs.aio-max-nr 指系统允许的最大的异步IO请求大小

oracle默认设置为1M即1048576,一般不用更改

以上是关于centos7下安装oracle11gR2的主要内容,如果未能解决你的问题,请参考以下文章

安装CentOS7.7下图形化安装Oracle11gR2

centos7下安装oracle11gR2

CentOS7.3 安装Oracle 11gR2 64位

Centos7安装Oracle 11gR2

Centos7 Minimal安装Oracle 11gR2

CentOS7安装Oracle11gR2