redhat7装12c rac

#设置主机名 双

hostnamectl set-hostname rac01

#关闭selinux 双

vi /etc/selinux/config

SELINUX=disabled

setenforce 0

#hostname 双节点

改 /etc/hosts

#### For Oracle Rac ####

#public ip

10.81.4.31 rac01

10.81.4.32 rac02

#private ip

172.16.100.11 rac01-pri

172.16.100.12 rac02-pri

#vip

10.81.4.29 rac01-vip

10.81.4.30 rac02-vip

#scanip

10.81.4.35 rac-scan

#firewall 双

systemctl stop firewalld

systemctl disable firewalld

#关闭NetworkManager 双

systemctl stop NetworkManager

systemctl disable NetworkManager

#关闭时间同步ntpd服务 双

检查两节点时间,时区是否相同,并禁止ntp

systemctl disable ntpd.service

systemctl stop ntpd.service

mv /etc/ntp.conf /etc/ntp.conf.orig

systemctl status ntpd

时区设置

# timedatectl #看时区是否正确

# timedatectl list-timezones |grep Shanghai #查找中国时区的完整名称

Asia/Shanghai

# timedatectl set-timezone Asia/Shanghai

#复制UTC时间到 /etc/localtime

cp /usr/share/zoneinfo/UTC /etc/localtime

#创建软连接 /etc/localtime

ln -sf /usr/share/zoneinfo/UTC /etc/localtime

#显示时间和时区

date

##配置bond0 双

cd /etc/sysconfig/network-scripts

vi ifcfg-bond0

BOOTPROTO=static

DEVICE=bond0

NAME=bond0

TYPE=Bond

BONDING_MASTER=yes

ONBOOT=yes

IPADDR=10.81.4.31

PREFIX=24

GATEWAY=10.81.4.254

BONDING_OPTS="miimon=100 mode=1" #miimon指网络检查的频率

vi /etc/sysconfig/network-scripts/ifcfg-eno1

TYPE=Ethernet

BOOTPROTO=none

DEVICE=eno1

NAME=eno1

ONBOOT=yes

MASTER=bond0

SLAVE=yes

vi /etc/sysconfig/network-scripts/ifcfg-eno2

TYPE=Ethernet

BOOTPROTO=none

DEVICE=eno2

NAME=eno2

ONBOOT=yes

MASTER=bond0

SLAVE=yes

再以同样的方式绑定其他口

#重启网络服务,使bond0生效

systemctl restart network

#user,group,目录权限,密码 双

groupadd -g 1010 oinstall

groupadd -g 1020 asmadmin

groupadd -g 1021 asmdba

groupadd -g 1022 asmoper

groupadd -g 1031 dba

groupadd -g 1032 oper

useradd -u 1100 -g oinstall -G asmadmin,asmdba,asmoper,oper,dba -d /home/grid -m grid

useradd -u 1101 -g oinstall -G dba,asmdba,oper -d /home/oracle -m oracle

mkdir -p /u01/app/12.1.0/grid

mkdir -p /u01/app/grid

chown -R grid:oinstall /u01

mkdir -p /u01/app/oraInventory

chown -R grid:oinstall /u01/app/oraInventory

mkdir -p /u01/app/oracle

chown oracle:oinstall /u01/app/oracle

chmod -R 775 /u01

#设置grid、oracle密码

passwd grid

passwd oracle

echo oracle | passwd --stdin oracle

echo oracle | passwd --stdin grid

#.bash_profile 双 节点2将+ASM1改成+ASM2,orcl1改成orcl2

#grid用户

vim /home/grid/.bash_profile

=>

ORACLE_SID=+ASM1; export ORACLE_SID

JAVA_HOME=/usr/local/java;export JAVA_HOME

ORACLE_BASE=/u01/app/grid; export ORACLE_BASE

ORACLE_HOME=/u01/app/12.1.0/grid; export ORACLE_HOME

ORACLE_PATH=/u01/app/oracle/common/oracle/sql; export ORACLE_PATH

ORACLE_TERM=xterm;export ORACLE_TERM

NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS";export NLS_DATE_FORMAT

TNS_ADMIN=$ORACLE_HOME/network/admin; export TNS_ADMIN

ORA_NLS11=$ORACLE_HOME/nls/data; export ORA_NLS11

PATH=.:${JAVA_HOME}/bin:${PATH}:$HOME/bin:$ORACLE_HOME/bin

PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin

PATH=${PATH}:/u01/app/common/oracle/bin

export PATH

LD_LIBRARY_PATH=$ORACLE_HOME/lib

LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib

LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib

export LD_LIBRARY_PATH

CLASSPATH=$ORACLE_HOME/JRE

CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib

CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib

CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib

export CLASSPATH

THREADS_FLAG=native; export THREADS_FLAG

export TEMP=/tmp

export TMPDIR=/tmp

export NLS_LANG=american_america.ZHS16GBK

alias sqlplus="rlwrap sqlplus"

umask 022

#oracle用户

vim /home/oracle/.bash_profile

=>

ORACLE_SID=gpp1; export ORACLE_SID

ORACLE_UNQNAME=gpp; export ORACLE_UNQNAME

JAVA_HOME=/usr/local/java; export JAVA_HOME

ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE

ORACLE_HOME=$ORACLE_BASE/product/12.1.0/dbhome_1; export ORACLE_HOME

ORACLE_PATH=/u01/app/common/oracle/sql; export ORACLE_PATH

ORACLE_TERM=xterm; export ORACLE_TERM

NLS_DATE_FORMAT="DD-MON-YYYY HH24:MI:SS"; export NLS_DATE_FORMAT

TNS_ADMIN=$ORACLE_HOME/network/admin; export TNS_ADMIN

ORA_NLS11=$ORACLE_HOME/nls/data; export ORA_NLS11

PATH=.:${JAVA_HOME}/bin:${PATH}:$HOME/bin:$ORACLE_HOME/bin

PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin

PATH=${PATH}:/u01/app/common/oracle/bin

export PATH

LD_LIBRARY_PATH=$ORACLE_HOME/lib

LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib

LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib

export LD_LIBRARY_PATH

CLASSPATH=$ORACLE_HOME/JRE

CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib

CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib

CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib

export CLASSPATH

THREADS_FLAG=native; export THREADS_FLAG

export TEMP=/tmp

export TMPDIR=/tmp

export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

umask 022

#修改root环境变量

加入grid用户$ORACLE_HOME

[root@rac1 opt]# vi ~/.bash_profile

# .bash_profile

# Get the aliases and functions

if [ -f ~/.bashrc ]; then

. ~/.bashrc

fi

# User specific environment and startup programs

PATH=$PATH:/u01/app/12.1.0/grid/bin:$HOME/bin

export PATH

#### sysctl,limits,login #### 双

vim /etc/sysctl.conf

=>

fs.aio-max-nr = 1048576

fs.file-max = 6815744

kernel.shmmax = 219902325555

kernel.shmall = 53687091

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 = 1048586

执行sysctl -p使配置生效

备注:kernel.shmmax = 3865470566

shmmax Linux进程可以分配的单独共享内存段的最大值

2g物理内存,shmmax=2*1024*1024*1024*0.9 大于SGA,小于物理内存

kernel.shmall = 943718

2g物理内存 shmall=shmmax/1024/4

#ORACLE SETTING 双

vim /etc/security/limits.conf

grid soft nproc 2047

grid hard nproc 16384

grid soft nofile 1024

grid hard nofile 65536

grid soft stack 10240

grid hard stack 32768

oracle soft nproc 2047

oracle hard nproc 16384

oracle soft nofile 1024

oracle hard nofile 65536

oracle soft stack 10240

oracle hard stack 32768

#修改20-nproc.conf

在两个节点修改/etc/security/limits.d/20-nproc.conf

vi /etc/security/limits.d/20-nproc.conf

# Change this

#注释这行* soft nproc 1024

# To this增加下面一行

* - nproc 16384

#修改login

在两个节点修改/etc/pam.d/login文件

vi /etc/pam.d/login

#ORACLE SETTING

session required pam_limits.so

#修改/etc/systemd/logind.conf文件

使用centos 7.2 安装grid时,需要修改这个参数,不然asm组件会起不来,crs时好时不好

vim /etc/systemd/logind.conf

RemoveIPC=no

systemctldaemon-reload

systemctlrestart systemcd-logind

#iso作为yum镜像源

cd /etc/yum.repos.d/

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.old

将iso挂载

vi base.repo

[Base]

name=base -Base

baseurl=file:///mnt/iso

gpgcheck=0

enabled=1

yum clean all

yum makecache

yum install -y binutils compat-libcap1 compat-libstdc++-33 compat-libstdc++-33.i686 gcc gcc-c++ glibc glibc.i686 glibc-devel glibc-devel.i686 ksh libgcc libgcc.i686 libstdc++ libstdc++.i686 libstdc++-devel libstdc++-devel.i686 libaio libaio.i686 libaio-devel libaio-devel.i686 libXext libXext.i686 libXtst libXtst.i686 libX11 libX11.i686 libXau libXau.i686 libxcb libxcb.i686 libXi libXi.i686 make sysstat unixODBC unixODBC-devel readline libtermcap-devel pdksh

上传compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm

rpm -ivh compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm

#停止avahi-daemon服务

两个节点分别操作

systemctl stop avahi-daemon.socket

systemctl stop avahi-daemon.service

systemctl disable avahi-daemon.socket

systemctl disable avahi-daemon.service

ps -ef|grep avahi-daemon

kill -9 pid avahi-daemon

#关闭透明大页

安装tuned

yum -y install tuned

tuned-adm active

throughput-performance

cd /usr/lib/tuned/

vi tuned.conf

然后就是配置关闭透明大页的关键,在tuned.conf文件中,增加以下内容

[vm]

transparent_hugepage=never

tuned-adm profile throughput-performance

#扫描磁盘

for host in $(ls /sys/class/scsi_host/);do echo "- - -" >/sys/class/scsi_host/${host}/scan; done

#multipath

获取设备wwid .

for i in `cat /proc/partitions | awk {'print $4'} |grep sd`; do echo "### $i: `/lib/udev/scsi_id --whitelist --replace-whitespace /dev/$i`"; done

模块没有加载成功使用下列命初始化DM、重启系统 .

// DM multipath kernel driver not loaded ----这个提示说明DM模块没有加载成功 !!

# modprobe dm-multipath

# modprobe dm-round-robin

# service multipathd start

# multipath –v2

#修改共享存储、udev规则

在节点1和节点2,固定设备名称并且赋予grid属性,执行如下命令,用来生成udev规则

--CentOS/RHEL6

[root@rac1]#

for i in b c d

do

echo "KERNEL==\"sd?\",SUBSYSTEM==\"block\", PROGRAM==\"/usr/lib/udev/scsi_id--whitelisted --replace-whitespace --device=/dev/\$name\",RESULT==\"`/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/sd$i`\", SYMLINK+=\"asm-disk$i\",OWNER=\"grid\", GROUP=\"asmadmin\",MODE=\"0660\""

done

--CentOS/RHEL7直接编辑如下文件,修改result

vi /etc/udev/rules.d/99-oracle-asmdevices.rules

KERNEL=="sd*[!0-9]", ENV{DEVTYPE}=="disk", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode", RESULT=="36000c2916521e6dbec5e963be5ab3947", RUN+="/bin/sh -c 'mknod /dev/asm-crs b $major $minor; chown grid:asmadmin /dev/asm-crs; chmod 0660 /dev/asm-crs'"

--MULTIPATH存储规则

for i in asm-ocr1 asm-ocr2 asm-ocr3 asm-data1; do printf "%s %s\n" "$i" "$(udevadm info --query=all --name=/dev/mapper/$i | grep -i dm_uuid)"; done

ACTION=="add|change",ENV{DM_UUID}=="mpath-360050768108204eea800000000000024",OWNER="grid",GROUP="asmadmin",MODE="0660",SYMLINK+="asm-ocr1"

ACTION=="add|change",ENV{DM_UUID}=="mpath-360050768108204eea800000000000025",OWNER="grid",GROUP="asmadmin",MODE="0660",SYMLINK+="asm-ocr2"

ACTION=="add|change",ENV{DM_UUID}=="mpath-360050768108204eea800000000000026",OWNER="grid",GROUP="asmadmin",MODE="0660",SYMLINK+="asm-ocr3"

ACTION=="add|change",ENV{DM_UUID}=="mpath-360050768108204eea800000000000027",OWNER="grid",GROUP="asmadmin",MODE="0660",SYMLINK+="asm-data1"

两个节点重启udev

systemctl restart systemd-udev-trigger.service

或者

/sbin/udevadm trigger --type=devices --action=change

/sbin/udevadm control --reload

检查共享磁盘分区

在两个节点检查udev重新生效后,有关asm磁盘是否可以识别

[root@rac01 ~]#ls /dev/asm* -l

brw-rw---- 1 grid asmadmin 8, 48 Apr 30 14:20 /dev/asm-arch

brw-rw---- 1 grid asmadmin 8, 16 Apr 30 14:20 /dev/asm-crs

brw-rw---- 1 grid asmadmin 8, 32 Apr 30 14:20 /dev/asm-data

#上传集群包软件包等

#安装集群CVUQDISK包 双

[root@rac1 grid]# cd rpm

[root@rac1 rpm]#export CVUQDISK_GRP=oinstall

[root@rac1 rpm]#rpm -ivh cvuqdisk-1.0.9-1.rpm

#集群安装

./runInstaller.sh

#数据库软件安装

./runInstaller.sh

#打补丁 双

解压OPatch包,替换的原来的包(grid和oracle)

查看版本是否更新

./opatch version

查看是否有补丁安装

./opatch lsInventory

解压补丁包

检查补丁包(grid和oracle)

cd 补丁包路径

/u01/app/12.1.0/grid/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -ph ./

/u01/app/oracle/product/12.1.0/dbhome_1/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -ph ./

安装补丁(grid和oracle)

/u01/app/12.1.0/grid/OPatch/opatch apply -oh /u01/app/12.1.0/grid -local 补丁包路径

/u01/app/oracle/product/12.2.0/dbhome_1/OPatch/opatch apply -oh $ORACLE_HOME -local 补丁包路径

#opatchauto apply安装命令

/u01/app/12.1.0/grid/OPatch/opatchauto apply /soft/patches/34204576_20220719/34204576/ -oh /u01/app/12.1.0/grid

/u01/app/oracle/product/12.1.0/dbhome_1/OPatch/opatchauto apply /soft/patches/34204576_20220719/34204576/ -oh /u01/app/oracle/product/12.1.0/dbhome_1

查看是否有补丁安装

./opatch lsInventory

#asm配置

asmca

#数据库安装

dbca

#监听等配置

netca

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值