CentOS7.2安装oracle 12c RAC

一、基础结构:

wKiom1kP4xWjAbUeAAKHcNKs1L8536.png-wh_50


二、存储规划:

1、 GRID集群组件磁盘组

+dggrid: 1个,由三个10G磁盘组成normal

2、 数据库安装磁盘组

+dgsystem:用于数据库基本表空间,控制文件,参数文件等

+dgrecovery:用于归档与闪回日志空间

+dgdata:用户数据库业务表空间


三、IP规划:

oraclenode1:

publicip : bond0 :192.168.10.103

vip:192.168.10.105

privateip :bond2 :192.168.14.3

oraclenode2:

publicip : bond0 :192.168.10.104

vip:192.168.10.106

privateip :bond2 :192.168.14.4


scanip :192.168.10.107


四、软件版本:

操作系统:CentOS 7.2

数据库:ORACLE12c R1

集群管理软件:ORACLEGRID 12.0.1.2



五、系统环境配置:

注意:如下配置除非特别说明,否则两个节点都需要操作

1、安装软件依赖

yuminstallbinutilscompat-libcap1compat-libstdc++-33compat-libstdc++-33.i686gccgcc-c++glibcglibc.i686glibc-develglibc-devel.i686kshlibgcclibgcc.i686libstdc++libstdc++.i686libstdc++-devellibstdc++-devel.i686libaiolibaio.i686libaio-devellibaio-devel.i686libXextlibXext.i686libXtstlibXtst.i686libX11libX11.i686libXaulibXau.i686libxcblibxcb.i686libXilibXi.i686makesysstatunixODBCunixODBC-develreadlinelibtermcap-develpdksh-y


2、修改host文件

#在两台主机修改host文件,添加如下内容:
vim/etc/hosts
#publicipbond0
192.168.10.103oraclenode1
192.168.10.104oraclenode2

#privateipbond2
192.168.14.3oraclenode1pri
192.168.14.4oraclenode2pri

#vipip
192.168.10.105oraclenode1vip
192.168.10.106oraclenode2vip

#scanip
192.168.10.107oraclenodescan


3、关闭selinux和配置防火墙

setenforce0
firewall-cmd--set-defaults-zone=trusted


4、添加组与用户

#在两个节点增加用户与组:
groupadd-g60001oinstall
groupadd-g60002dba
groupadd-g60003oper
groupadd-g60004backupdba
groupadd-g60005dgdba
groupadd-g60006kmdba
groupadd-g60007asmdba
groupadd-g60008asmoper
groupadd-g60009asmadmin
useradd-u61001-goinstall-Gasmadmin,asmdba,dba,asmopergrid
useradd-u61002-goinstall-Gdba,backupdba,dgdba,kmdba,asmadmin,oper,asmdbaoracle

echo"grid"|passwd--stdingrid
echo"oracle"|passwd--stdinoracle

5、添加目录

mkdir-p/data/oracle/app/grid
mkdir-p/data/oracle/app/12.1.0.2/grid
chown-Rgrid:oinstall/data/oracle

mkdir-p/data/oracle/app/oraInventory
chown-Rgrid:oinstall/data/oracle/app/oraInventory

mkdir-p/data/oracle/app/oracle
chown-Roracle:oinstall/data/oracle/app/oracle
chmod-R775/data/oracle


6、修改操作系统参数

vim/etc/security/limits.conf
#ORACLESETTING
gridsoftnproc2047
gridhardnproc16384
gridsoftnofile1024
gridhardnofile65536
gridsoftstack10240
gridhardstack32768
oraclesoftnproc2047
oraclehardnproc16384
oraclesoftnofile1024
oraclehardnofile65536
oraclesoftstack10240
oraclehardstack32768

vim/etc/security/limits.d/20-nproc.conf
#Changethis
*softnproc1024
#Tothis
*-nproc16384

vim/etc/pam.d/login
#ORACLESETTING
sessionrequiredpam_limits.so

MEMTOTAL=$(free-b|sed-n'2p'|awk'{print$2}')
SHMMAX=$(expr$MEMTOTAL\*4/5)
SHMMNI=4096
SHMALL=$(expr$MEMTOTAL/\(4\*1024\))

cp/etc/sysctl.conf/etc/sysctl.conf.bak
cat>>/etc/sysctl.conf<<EOF
fs.aio-max-nr=1048576
fs.file-max=6815744
kernel.shmmax=$SHMMAX
kernel.shmall=$SHMALL
kernel.shmmni=$SHMMNI
kernel.sem=25032000100128
net.ipv4.ip_local_port_range=900065500
net.core.rmem_default=262144
net.core.rmem_max=4194304
net.core.wmem_default=262144
net.core.wmem_max=1048576
kernel.panic_on_oops=1
EOF

#kernel.shmmax大于共享内存区,小于物理内存
#kernel.shmall物理内存/4K

让配置生效:
sysctl�Cp

#使用centos7.2安装grid时,需要修改这个参数,不然会报错
vim/etc/systemd/logind.conf
RemoveIPC=no
systemctldaemon-reload
systemctlrestartsystemcd-logind


7、配置用户环境变量

su-grid
#grid用户的环境变量如下:
vim~/.bash_profile
PS1="[`whoami`@`hostname`:"'$PWD]$'
exportPS1
umask022
exportTMP=/tmp
exportLANG=en_US
exportTMPDIR=$TMP
exportORACLE_HOSTNAME=oraclenode1
ORACLE_SID=+ASM1;exportORACLE_SID
ORACLE_TERM=xterm;exportORACLE_TERM
ORACLE_BASE=/data/oracle/app/grid;exportORACLE_BASE
ORACLE_HOME=/data/oracle/app/12.1.0.2/grid;exportORACLE_HOME
NLS_DATE_FORMAT="yyyy-mm-ddHH24:MI:SS";exportNLS_DATE_FORMAT
PATH=.:$PATH:$HOME/bin:$ORACLE_HOME/bin;exportPATH
THREADS_FLAG=native;exportTHREADS_FLAG
if[$USER="oracle"]||[$USER="grid"];then
if[$SHELL="/bin/ksh"];then
ulimit-p16384
ulimit-n65536
else
ulimit-u16384-n65536
fi
umask022
fi

su-oracle
#oracle用户的环境变量如下:
vim~/.bash_profile
PS1="[`whoami`@`hostname`:"'$PWD]$'
exportPS1
exportTMP=/tmp
exportLANG=en_US
exportTMPDIR=$TMP
exportORACLE_HOSTNAME=oraclenode1
exportORACLE_UNQNAME=orcldb
ORACLE_BASE=/data/oracle/app/oracle;exportORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/12.1.0.2/db_1;exportORACLE_HOME
ORACLE_SID=orcldb1;exportORACLE_SID
ORACLE_TERM=xterm;exportORACLE_TERM
NLS_DATE_FORMAT="yyyy-mm-ddHH24:MI:SS";exportNLS_DATE_FORMAT
NLS_LANG=AMERICAN_AMERICA.ZHS16GBK;exportNLS_LANG
PATH=.:$PATH:$HOME/bin:$ORACLE_BASE/product/12.1.0.2/db_1/bin:$ORACLE_HOME/bin;exportPATH
THREADS_FLAG=native;exportTHREADS_FLAG
if[$USER="oracle"]||[$USER="grid"];then
if[$SHELL="/bin/ksh"];then
ulimit-p16384
ulimit-n65536
else
ulimit-u16384-n65536
fi
umask022
fi

#节点二:
su-grid
#grid的环境变量
vim~./bash_profile
PS1="[`whoami`@`hostname`:"'$PWD]$'
exportPS1
umask022
exportTMP=/tmp
exportLANG=en_US
exportTMPDIR=$TMP
exportORACLE_HOSTNAME=oraclenode2
ORACLE_SID=+ASM2;exportORACLE_SID
ORACLE_TERM=xterm;exportORACLE_TERM
ORACLE_BASE=/data/oracle/app/grid;exportORACLE_BASE
ORACLE_HOME=/data/oracle/app/12.1.0.2/grid;exportORACLE_HOME
NLS_DATE_FORMAT="yyyy-mm-ddHH24:MI:SS";exportNLS_DATE_FORMAT
PATH=.:$PATH:$HOME/bin:$ORACLE_HOME/bin;exportPATH
THREADS_FLAG=native;exportTHREADS_FLAG
if[$USER="oracle"]||[$USER="grid"];then
if[$SHELL="/bin/ksh"];then
ulimit-p16384
ulimit-n65536
else
ulimit-u16384-n65536
fi
umask022
fi

su-oracle
vim~/.bash_profile
PS1="[`whoami`@`hostname`:"'$PWD]$'
exportPS1
exportTMP=/tmp
exportLANG=en_US
exportTMPDIR=$TMP
exportORACLE_HOSTNAME=oraclenode2
exportORACLE_UNQNAME=orcldb
ORACLE_BASE=/data/oracle/app/oracle;exportORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/12.1.0.2/db_1;exportORACLE_HOME
ORACLE_SID=orcldb2;exportORACLE_SID
ORACLE_TERM=xterm;exportORACLE_TERM
NLS_DATE_FORMAT="yyyy-mm-ddHH24:MI:SS";exportNLS_DATE_FORMAT
NLS_LANG=AMERICAN_AMERICA.ZHS16GBK;exportNLS_LANG
PATH=.:$PATH:$HOME/bin:$ORACLE_BASE/product/12.1.0.2/db_1/bin:$ORACLE_HOME/bin;exportPATH
THREADS_FLAG=native;exportTHREADS_FLAG
if[$USER="oracle"]||[$USER="grid"];then
if[$SHELL="/bin/ksh"];then
ulimit-p16384
ulimit-n65536
else
ulimit-u16384-n65536
fi
umask022
fi

8、配置ssh无密登录(两节点)

su-grid
ssh-keygen
ssh-copy-id-i~/.ssh/id_rsa.pubgrid@192.168.10.103
ssh-copy-id-i~/.ssh/id_rsa.pubgrid@192.168.10.104

su-oracle
ssh-keygen
ssh-copy-id-i~/.ssh/id_rsa.puboracle@192.168.10.103
ssh-copy-id-i~/.ssh/id_rsa.puboracle@192.168.10.104

9、配置共享存储

存储划分以下卷:
grid0110G
grid0210G
grid0310G
system300G
recovery800G
data4T

配置多路径wwid和别名:
前提:服务器已经连接到存储,并识别到LUN

a、配置/etc/multipath.conf文件
defaults{
polling_interval10
path_selector"round-robin0"
path_grouping_policymultibus
prioalua
path_checkerreadsector0
rr_min_io100
max_fds8192
rr_weightpriorities
failbackimmediate
no_path_retryfail
user_friendly_namesyes
find_multipathsyes
}
blacklist{
devnode"^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"
devnode"^sd[a]"
}

b、执行如下命令
modprobedm-multipath
multipath-F
multipathdm-multipath
multipathdm-round-robin
执行完成上述命令之后,会在/etc/multipath目录下生成一个bindings这的一个文件,包含了存储的uuid和别名
mpatha36000d310036222000000000000000003
mpathb36000d310036222000000000000000004
mpathc36000d310036222000000000000000008
mpathd36000d310036222000000000000000007
mpathe36000d310036222000000000000000006
mpathf36000d310036222000000000000000005
mpathg36000d310036222000000000000000009

c、修改别名方便识别
multipaths{
multipath{
wwid36000d310036222000000000000000004
aliasdgdata
path_grouping_policymultibus
}
multipath{
wwid36000d310036222000000000000000005
aliasdggrid1
path_grouping_policymultibus
}
multipath{
wwid36000d310036222000000000000000006
aliasdggrid2
path_grouping_policymultibus
}
multipath{
wwid36000d310036222000000000000000009
aliasdgrecovery
path_grouping_policymultibus
}
multipath{
wwid36000d310036222000000000000000007
aliasdggrid3
path_grouping_policymultibus
}
multipath{
wwid36000d310036222000000000000000008
aliasdgsystem
path_grouping_policymultibus
}
}

重启服务生效
systemctlreloadmultipath

d、修改udev权限
vim/etc/udev/rules/12-mulitpath-privs.rules
ENV{DM_NAME}=="dg*",OWNER:="grid",GROUP:="asmadmin",MODE:="660"

重启服务器生效,并检查重启后权限、别名是否正常


10、安装cvuqdisk包并验证

解压安装包
unziplinuxamd64_12102_grid_1of2.zip
unziplinuxamd64_12102_grid_2of2.zip

cd/soft/grid/rpm
exportCVUQDISK_GRP=oinstall
rpm-ivhcvuqdisk-1.0.9-1.rpm

su-grid
./runcluvfy.shstage-precrsinst-noraclenode1,oraclenode2-fixup-verbose
./runcluvfy.shstage-posthwos-noraclenode1,oraclenode2-verbose

#检查不通过的配置

11、安装grid

#远程调用图形界面安装vnc
./runInstaller

图形化界面安装,按照前面规划填写相关配置,值得注意的是硬盘位置需要修改:使用多路径修改为/dev/mapper/dg*

wKiom1kP7z2z3eXVAAMlL6wdZ-U028.png-wh_50


wKiom1kP8OKCLmvnAAOXGo46_JQ771.png-wh_50

wKioL1kP8OSQXLDrAAR7vrjfyZk347.png-wh_50

grid安装完成,使用crs_stat-t查看集群状态,使用ocrcheckcrsctl query css votedisk查看ocr磁盘状态

12、创建asm磁盘组

su-grid
asmca
#按照自己的规划,添加相应的磁盘组,并和存储卷关联

wKioL1kP8gTCU1WNAALbT7jpRmw791.png-wh_50

wKioL1kP8gXxj5j4AAKedBLfK68596.png-wh_50

wKiom1kP8gaSKjdFAAM6XyqdAMo563.png-wh_50

wKiom1kP8gjzHHBRAANQyOLlRE8508.png-wh_50

wKioL1kP8gqgxDWjAAM3_2CsZp0813.png-wh_50

wKiom1kP8gvyn1ufAAODUgGcS50394.png-wh_50

wKioL1kP8g2TMd49AANJsbsi5k0819.png-wh_50


数据库软件的安装和实例创建,可以参考http://ld0381.blog.51cto.com/3318114/1923076上的内容,集群的配置和单实例步骤基本上是一致的。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


linux下开机自启: 在/etc/init.d目录下新建文件elasticsearch 并敲入shell脚本: 注意, 前两行必须填写,且要注释掉。 第一行为shell前行代码,目的告诉系统使用shell。 第二行分别代表运行级别、启动优先权、关闭优先权,且后面添加开机服务会用到。 shell脚本
1、因为在centos7中/etc/rc.d/rc.local的权限被降低了,所以需要赋予其可执行权 chmod +x /etc/rc.d/rc.local 2、赋予脚本可执行权限假设/usr/local/script/autostart.sh是你的脚本路径,给予执行权限 chmod +x /usr
最简单的查看方法可以使用ls -ll、ls-lh命令进行查看,当使用ls -ll,会显示成字节大小,而ls- lh会以KB、MB等为单位进行显示,这样比较直观一些。 通过命令du -h –max-depth=1 *,可以查看当前目录下各文件、文件夹的大小,这个比较实用。 查询当前目录总大小可以使用d
ASP.NET Core应用程序发布linux在shell中运行是正常的。可一但shell关闭网站也就关闭了,所以要配置守护进程, 用的是Supervisor,本文主要记录配置的过程和过程遇到的问题 安装Supervisor&#160;1 yum install python-setuptools
设置时区(CentOS 7) 先执行命令timedatectl status|grep &#39;Time zone&#39;查看当前时区,如果不是时区(Asia/Shanghai),则需要先设置为中国时区,否则时区不同会存在时差。 #已经是Asia/Shanghai,则无需设置 [root@xia
vim&#160;/etc/sysconfig/network-scripts/ifcfg-eth0 BOOTPROTO=&quot;static&quot; ONBOOT=yes IPADDR=192.168.8.106 NETMASK=255.255.252.0 GATEWAY=192.168.
一、安装gcc依赖 由于 redis 是用 C 语言开发,安装之前必先确认是否安装 gcc 环境(gcc -v),如果没有安装,执行以下命令进行安装 [root@localhost local]# yum install -y gcc 二、下载并解压安装包 [root@localhost local
第一步 On CentOS/RHEL 6.*: $ sudo rpm -Uvh http://li.nux.ro/download/nux/dextop/el6/x86_64/nux-dextop-release-0-2.el6.nux.noarch.rpm On CentOS/RHEL 7: $
/// &lt;summary&gt; /// 取小写文件名后缀 /// &lt;/summary&gt; /// &lt;param name=&quot;name&quot;&gt;文件名&lt;/param&gt; /// &lt;returns&gt;返回小写后缀,不带“.”&lt;/ret
which nohup .bash_profile中并source加载 如果没有就安装吧 yum provides */nohup nohup npm run start &amp; nohup ./kibana &amp;
1.1 MySQL安装 1.1.1 下载wget命令 yum -y install wget 1.1.2 在线下载mysql安装包 wget https://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm 1.1.3 安装My
重启 reboot shutdown -r now init 6 关闭 init 0 shutdown -h now shutdown -h 20:25 #8点25关机查看内存 free CPU利用率 top 日期 date 设置时间 date 033017002015 #月日时间年 日历 cal
1、firewalld的基本使用 启动: systemctl start firewalld 关闭: systemctl stop firewalld 查看状态: systemctl status firewalld 开机禁用 : systemctl disable firewalld 开机启用 :
1 下载并安装MySQL官方的&#160;Yum Repository wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm 使用上面的命令就直接下载了安装用的Yum Repository,大概
CentOS6.x CentOS6中转用Upstrat代替以前的init.d/rcX.d的线性启动方式。 一、相关命令 通过initctl help可以查看相关命令 [root@localhost ~]# initctl help Job commands: start Start job. sto
1、使用命令:df -lk 找到已满磁盘 2、使用命令:du --max-depth=1 -h 查找大文件,删除
ifconfig:查看网卡信息 网卡配置文件位置: /etc/sysconfig/network-scripts/文件夹 nmtui:配置网卡 netstat -tlunp:查看端口信息 端口信息存储位置: /etc/services文件 route:查看路由信息 wget:下载网路文件,例如 wg
ps -ef:查看所有进程,&#160;ps -ef |grap firewalld 查看与firewalld相关的进程 which :查看进程:which firewalld kill 进程id:杀掉进程 kill 640,强制杀:kill -9 640 man:查看帮助,例如 man ps 查看
useradd:添加用户 useradd abc,默认添加一个abc组 vipw:查看系统中用户 groupadd:添加组groupadd ccna vigr:查看系统中的组 gpasswd:将用户abc添加到ccna组 gpasswd -a abc ccna groups abc:查看用户abc属