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,一般不用更改