文章目录
以下操作需要在所有节点root权限下进行
一、查看操作系统信息
查看操作系统版本
[root ~]# cat /etc/redhat-release
查看系统内存
[root ~]# grep MemTotal /proc/meminfo
查看swap 分区
oaracle安装需要swap分区为8G,可在安装系统时进行配置
[root ~]# grep SwapTotal /proc/meminfo
如果swap分区小于8G,可用以下命令进行扩展
查看当前内存信息和swap信息,发现swap空间小于8G,我们需要扩展到8GB
free -h
依次执行以下命令,创建swap分区并挂载
[root ~]# dd if=/dev/zero of=/swapfile bs=1M count=3072
[root ~]# mkswap /swapfile
[root ~]# swapon /swapfile
二、配置安装环境
1、修改主机名称
按照网络规划修改节点主机名称
[root ~]#hostname oracle01
2、关闭防火墙
关闭防火墙
[root@localhost ~]# systemctl stop firewalld
永久关闭防火墙
[root@localhost ~]# systemctl disable firewalld
查看防火墙状态
[root@localhost ~]# systemctl status firewalld
3、关闭 selinux
修改文件 /etc/selinux/config,设置 SELINUX=disabled
[root@localhost ~]# vi /etc/selinux/config
执行 setenforce 0生效
[root@localhost ~]# setenforce 0
4、修改 /etc/hosts 文件,添加主机名和 IP 地址
hosts文件一定配置好,注意配置要严格按照网络规划表*
vi /etc/hosts
————————————————
192.168.1.101 oracle01
192.168.1.102 oracle02
168.168.168.101 oracle01-priv
168.168.168.102 oracle02-priv
192.168.1.201 oracle01-vip
192.168.1.202 oracle02-vip
192.168.1.100 oracle-scan
———————————————
5、修改系统内核参数
编辑vi /etc/sysctl.conf 文件,在文件结尾添加以下内容
———————————————————————
fs.file-max = 6815744
fs.aio-max-nr = 1048576
kernel.shmall = 2097152
kernel.shmmax = 1073741824
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 4194304
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
—————————————————————————
-
kernel.shmmax
kernel.shmmax 是核心参数中最重要的参数之一,用于定义单个共享内存段的最大值。设置应该足够大,能在一个共享内存段下容纳下整个的 SGA , 设置的过低可能会导致需要创建多个共享内存段,这样可能导致系统性能的下降。至于导致系统下降的主要原因为在实例启动以及 ServerProcess 创建的时候,多个小的共享内存段可能会导致当时轻微的系统性能的降低 ( 在启动的时候需要去创建多个虚拟地址段,在进程创建的时候要让进程对多个段进行“识别”,会有一些影响 ) ,但是其他时候都不会有影响。
官方建议值:32 位 linux 系统:可取最大值为 4GB ( 4294967296bytes ) -1byte ,即 4294967295 。建议值为多于内存的一半,所以如果是 32 为系统,一般可取值为 4294967295 。 32 位系统对 SGA 大小有限制,所以 SGA 肯定可以包含在单个共享内存段中。
64 位 linux 系统:可取的最大值为物理内存值 -1byte ,建议值为多于物理内存的一半,一般取值大于 SGA_MAX_SIZE 即可,可以取物理内存 -1byte 。
内存为 12G 时,该值为 12102410241024-1 = 12884901887
内存为 16G 时,该值为 16102410241024-1 = 17179869183
内存为 32G 时,该值为 32102410241024-1 = 34359738367
内存为 64G 时,该值为 64102410241024-1 = 68719476735
内存为 128G 时,该值为 12810241024*1024-1 = 137438953471= -
kernel.shmmax
该参数控制可以使用的共享内存的总页数。 Linux 共享内存页大小为 4KB, 共享内存段的大小都是共享内存页大小的整数倍。一个共享内存段的最大大小是 16G ,那么需要共享内存页数是 16GB/4KB==4194304 (页),
当内存为 12G 时, kernel.shmall = 3145728
当内存为 16G 时, kernel.shmall = 4194304
当内次为 32G 时, kernel.shmall = 8388608
当内存为 64G 时, kernel.shmall = 16777216
当内存为 128G 时, kernel.shmall = 33554432
按照以上条件进行相关参数配置
执行 sysctl -p 命令使配置文件立即生效
6、添加用户采用GI与DB分开安装和权限的策略:
创建组
[root@localhost ~]# groupadd -g 501 oinstall
[root@localhost ~]# groupadd -g 502 dba
[root@localhost ~]# groupadd -g 503 oper
[root@localhost ~]# groupadd -g 504 asmadmin
[root@localhost ~]# groupadd -g 505 asmdba
[root@localhost ~]# groupadd -g 506 asmoper
添加用户grid和oracle并设置用户名密码
[root@localhost ~]# useradd -u 502 -g oinstall -G dba,asmadmin,asmdba,asmoper grid
[root@localhost ~]# useradd -u 501 -g oinstall -G dba,oper,asmdba,asmadmin oracle
[root@localhost ~]# echo "oracle" | passwd --stdin oracle #为oracle用户设置密码
[root@localhost ~]# echo "grid" | passwd --stdin grid #为grid用户设置密码#
创建目录
[root@localhost ~]# mkdir -p /u01/app/11.2.0/grid
[root@localhost ~]# mkdir -p /u01/app/grid
[root@localhost ~]# mkdir -p /u01/app/oracle
授权
[root@localhost ~]# chmod -R 755 /u01
[root@localhost ~]# chown -R grid:oinstall /u01
[root@localhost ~]# chown -R oracle:oinstall /u01/app/oracle
7、修改用户资源限制
修改进程数和最大会话数
在配置文件 /etc/security/limits.conf 结尾添加如下内容
[root@localhost ~]# vi /etc/security/limits.conf
--------------复制以下内容到文件结尾--------------
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
grid soft nproc 2047
grid hard nproc 16384
grid soft nofile 1024
grid hard nofile 65536
设置关联信息
在文件 /etc/pam.d/login 结尾添加如下内容
[root@localhost ~]# vi /etc/pam.d/login
———复制以下内容到文件结尾—————
session required /lib64/security/pam_limits.so
session required pam_limits.so
———————————————————
8、配置 oracle 和 grid 用户的环境变量(两个节点同时操作)
修改 oracle 用户的配置文件
[root@rac1 rlwrap-0.37]# su oracle
[oracle@rac1 ~]$ vi .bash_profile
注意该处节点名称:export ORACLE_SID=oracle01
如果是oracle01,则此项值为oracle01,是oracle02,则此项值为oracle02
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/.local/bin:$HOME/bin
export PATH
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export ORACLE_OWNER=oracle
export ORACLE_SID=oracle01
export ORACLE_TERM=vt100
export THREADS_FLAG=native
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
export PATH=$ORACLE_HOME/bin:$PATH:$HOME/bin
export EDITOR=vi
export SQLPATH=/home/oracle
export LANG=en_US
alias sqlplus='rlwrap sqlplus'
alias lsnrctl='rlwrap lsnrctl'
alias rman='rlwrap rman'
alias dgmgrl='rlwrap dgmgrl'
使环境变量生效
[oracle@rac1 ~]$ source .bash_profile
————————————————
2、修改 grid 用户的配置文件
[oracle@rac1 ~]$ su - grid
Password:
[grid@rac1 ~]$ vi .bash_profile
注意该处节点配置:export ORACLE_SID=+ASM1,
如果是oracle01,则此项值为+ASM1,是oracle02,则此项值为+ASM2
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/.local/bin:$HOME/bin
export PATH
export ORACLE_BASE=/u01/app/grid
export ORACLE_HOME=/u01/app/11.2.0/grid
export ORACLE_OWNER=oracle
export ORACLE_SID=+ASM1
export ORACLE_TERM=vt100
export THREADS_FLAG=native
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
export PATH=$ORACLE_HOME/bin:$PATH:$HOME/bin
export LANG=en_US
alias sqlplus='rlwrap sqlplus'
alias rman='rlwrap rman'
alias lsnrctl='rlwrap lsnrctl'
alias asmcmd='rlwrap asmcmd'
使环境变量生效
[grid@rac1 ~]$ source .bash_profile