技术分享
Redhat6.8 Oracle 11G RAC 搭建手册
2022-03-21
目 录
1 环境介绍
1.1 网络环境介绍
1.2 系统环境介绍
2 基础环境配置
2.1 网络配置
2.2 域名解析配置
2.3 安装数据库依赖包
2.4 内核参数调整
2.5 关闭selinux、防火墙服务
2.6 创建用户组
2.7 软件资源限制
2.8 修改profile
2.9 修改csh.login
2.10 配置oracle、grid用户环境变量
2.11 配置ASM共享磁盘
3 数据库软件安装
3.1 grid安装
3.2 DB软件安装
3.3 创建ASM磁盘
3.4 建库
4 常规配置
4.1 开启共享归档
4.2 静态监听配置
1 环境介绍
数据库主机系统、图形化工具安装参考《oracle RAC部署环境准备手册之一:系统与工具安装》
1.1 网络环境介绍
Oracle RAC每个节点需要占用四个IP
PUBLIC IP:主机对外的通信IP
PRIVATE IP:RAC节点之间的通信IP
VIP:节点的虚拟IP,可以飘移
SCAN IP:RAC的集群服务IP,调节集群服务的IP
PUBLIC IP | PRIVATE IP | VIP | SCAN IP | |
rac1 | 192.168.93.39 | 10.10.10.39 | 192.168.93.139 | 192.168.93.141 |
rac2 | 192.168.93.40 | 10.10.10.40 | 192.168.93.140 |
PUBLIC IP、VIP、SCAN IP同段,PRICATE IP与其他三个IP不同段
节点共用SCAN IP
1.2 系统环境介绍
Oracle 11g操作系统兼容性如图:
本次采用Redhat6.8作为演示环境
1.3 安装包
在ftp相应路径获取,database1、2是数据库软件包、grid是集群管理软件包
2 基础环境配置
RAC基础环境配置需要在两个节点配置,此处以RAC1示例
2.1 网络配置
两个节点均需按预配置的IP设置PUBLIC IP和PRIVATE IP
vi /etc/sysconfig/network-script/ifcfg-eth0
DEVICE=eth0
HWADDR=00:50:56:94:07:01
TYPE=Ethernet
UUID=4efd263a-5b37-4340-a7e9-556255ce69a8
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=192.168.93.39
NETMASK=255.255.192.0
GATEWAY=192.168.64.1
DNS1=61.139.2.69(可不配置)
vi /etc/sysconfig/network-script/ifcfg-eth1
DEVICE=eth1
HWADDR=00:50:56:94:0a:d6
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=10.10.93.139
NETMASK=255.255.255.0
2.2 域名解析配置
vi /etc/hosts
#PUBLIC
192.168.93.39 rac1
192.168.93.40 rac2
#PRIVATE
10.10.93.39 rac1-priv
10.10.93.40 rac2-priv
#VIP
192.168.93.139 rac1-vip
192.168.93.140 rac2-vip
192.168.93.141 rac-scan
配置完成后,可以检查一下两个节点hosts文件是否一致,可能会有隐藏符号
cat /etc/hosts 可以看到隐藏符号
注意:一定保证两个节点的hosts文件一致,不然后续grid安装会报错
2.3 安装数据库依赖包
参考《oracle RAC部署环境准备手册之二: yum源配置》文档配置
yum -y install binutils compat-libstdc++-33 glibc ksh libaio libgcc libstdc++ make compat-libcap1 gcc gcc-c++ glibc-devel libaio-devel libstdc++-devel sysstat
2.4 内核参数调整
vi /etc/sysctl.conf
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 6815744
fs.aio-max-nr = 1048576
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 104857
vm.swappiness = 0
vm.dirty_background_ratio = 3
vm.dirty_ratio = 80
vm.dirty_expire_centisecs = 500
vm.dirty_writeback_centisecs = 100
sysctl –p 使参数生效
参数可以根据实际情况调整
2.5 关闭selinux、防火墙服务
sed -i 's/enforcing/disabled/g' /etc/selinux/config
setenforce 0
service iptables stop
chkconfig iptables off
2.6 创建用户组
groupadd -g 1000 oinstall
groupadd -g 1001 dba
groupadd -g 1002 oper
groupadd -g 1003 asmadmin
groupadd -g 1004 asmdba
groupadd -g 1005 asmoper
useradd -u 1001 -g oinstall -G dba,asmadmin,asmdba,asmoper grid
useradd -u 1002 -g oinstall -G dba,oper,asmadmin,asmdba oracle
echo 密码 |passwd --stdin grid
echo 密码 |passwd --stdin oracle
mkdir -p /oracle/app/oraInventory
chown -R grid:oinstall /oracle/app/oraInventory
chmod -R 775 /oracle/app/oraInventory
mkdir -p /oracle/app/grid
chown -R grid:oinstall /oracle/app/grid
chmod -R 775 /oracle/app/grid
mkdir -p /oracle/app/11.2.0.4/grid
chown -R grid:oinstall /oracle/app/11.2.0.4/grid
chmod -R 775 /oracle/app/11.2.0.4/grid
mkdir -p /oracle/app/oracle
chown -R oracle:oinstall /oracle/app/oracle
chmod -R 775 /oracle/app/oracle
mkdir -p /oracle/app/oracle/product/11.2.0.4/db_1
chown -R oracle:oinstall /oracle/app/oracle/product/11.2.0.4/db_1
chmod -R 775 /oracle/app/oracle/product/11.2.0.4/db_1
2.7 软件资源限制
vi /etc/security/limits.conf
grid soft nproc 2047
grid hard nproc 16384
grid soft nofile 1024
grid hard nofile 65536
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
2.8 修改profile
vi /etc/profile
if [ \$USER = "oracle" ] || [ \$USER = "grid" ]; then
if [ \$SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
umask 022
fi
2.9 修改csh.login
vi /etc/csh.login
if ( \$USER = "oracle" || \$USER = "grid" ) then
limit maxproc 16384
limit descriptors 65536
endif
2.10 配置oracle、grid用户环境变量
修改grid用户环境变量
su - grid
vi .bash_profile
export ORACLE_BASE=/oracle/app/grid
export ORACLE_SID=+ASM1 ---节点2 为+ASM2
export ORACLE_HOME=/oracle/app/11.2.0.4/grid
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATH
NAME=`hostname`
PS1="[$NAME:$LOGNAME]:\${PWD}>"
umask 022
红框的需要注释掉
source ~/.bash_profile
env |grep ORACLE
修改oracle环境变量
su - oracle
vi .bash_profile
export ORACLE_BASE=/oracle/app/oracle
export ORACLE_SID=orcl1 ---节点2 为orcl2
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0.4/db_1
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATH
NAME=`hostname`
PS1="[$NAME:$LOGNAME]:\${PWD}>"
umask 022
红框的需要注释掉
source ~/.bash_profile
env |grep ORACLE
2.11 配置ASM共享磁盘
参考《oracle RAC部署环境准备手册之二:ASM磁盘组建》文档
2.12 配置swap分区
注:安装软件如果预检查报错swap分区过小,可以用此种方法增加swap分区,安装前先配置增加一倍swap分区
创建swap分区
dd if=/dev/zero of=/oracle/swap1 bs=1M count=2048
创建一个swap类型文件,
mkswap /oracle/swap1
将swpf1生成swap文件
swapon /oracle/swap1
查看一下,swap1起作用了
free -m
实现开机后自动使用新添的swap1分区
vi /etc/fstab
添加swap行
/oracle/swap1 swap swap defaults 0 0
修改tmpfs行
tmpfs /dev/shm tmpfs defaults,size=2G 0 0
tmpfs重置一下,使其当下有效
mount -o remount /dev/shm
3 数据库软件安装
3.1 grid安装
运行Xmanager中的Broadcast
记下图形化工具的窗口号
su - grid 进入grid用户下安装
cd /oracle/grid
export DISPLAY=192.168.128.43:0.0 (图形化工具安装主机IP)
./runInstaller
选择 skip software updates,跳过软件更新
选择安装并配置grid软件
选择高级安装
设置语言:英文
输入集群名称和scan名称,scan名称和hosts文件里scan名称保持一致,scan端口默认1521可以修改,不启动GNS
根据hosts文件里的配置点击Add增加集群节点
输入grid用户密码,配置节点互信
输入grid用户的密码,点击setup,如果提示配置成功,可以点击test测试是否现在是互信状态,如果未setup就test,会报错。
根据规划,选择好网卡类型,非public和private的网卡选择Do Not Use
选择Oracle ASM作为共享存储
建立CRS磁盘组SYSDG change discovery path 中输入/dev/asm* 确定,选择三块5g的磁盘组成的磁盘组
为所有的asm账号设置相同的密码YUNqi123456
IPMI一般不设置
配置ASM用户组属(一般默认)
选择安装路径,保持默认即可
选择Inventory目录,保持默认即可
开始检查安装环境,检查完毕后会列出不符合项
此处需要说明的是:
1)elfutils-libelf-devel-0.97和pdksh在RedHat 6里无需安装,可忽略;
2)resolv.conf为DNS解析的配置,可忽略;
3)Network Time Protocol(NTP)这一项,我们使用CTSSD,不配置NTP,可忽略;
4) ASM检查失败也可忽略。
除上述可忽略的几项外,如果还有其他的未满足项,则需要具体问题具体分析,待解决后再安装GRID。
因此可以选择“Ignore All”,然后单击“Next”按钮执行下一步:
Grid安装到这里时,需要去两个节点分别运行两个脚本
用root账户登录,分别先后在rac1 rac2执行两个脚本(执行完一个才能第二个)
rac1
rac2
如果有下图的报错,检查一下两个节点是否能ping通scan IP,如果能通,可以直接忽略
3.2 DB软件安装
在oracle用户下安装DB软件
cd /oracle/database
./runInstaller
忽略安全更新
忽略软件更新
选择只安装数据库软件
选择oracle rac数据库安装
和集群安装一样,这里需要配置互信,输入rac2 oracle用户的密码,点击setup,执行完后点击test测试,测试通过就可以下一步
选择语言:英文
选择企业版安装
选择安装路径,保持默认即可
选择操作角色组属
安装检查
出现如下界面
此处需要说明的是:
1)elfutils-libelf-devel-0.97和pdksh在RedHat 6里无需安装,可忽略;
2)resolv.conf为DNS解析的配置,可忽略;
3)Clock Synchronization这一项,我们使用CTSSD,不配置NTP,可忽略;
4) Single Client Access Name(SCAN)这一项,为没有配置DNS所致,可忽略;
除上述可忽略的几项外,如果还有其他的未满足项,则需要具体问题具体分析,待解决后再安装数据库软件。
因此可以选择“Ignore All”,然后单击“Next”按钮执行下一步:
点install进入安装界面
接着出现如下界面
以root用户登陆系统,在节点1、2顺序执行上面的脚本
完成安装
3.3 创建ASM磁盘
以grid用户登录节点1执行ASMCA创建DATADG和ARCHDG
进入界面后点creat
创建DATADG
创建ARCHDG
可以看到已经全部挂载,如果没有的话选择mount all
3.4 建库
以oracle用户登录节点1执行DBCA建库
注意要修改相关设置,如字符集、归档模式、redo log大小、multiplex redo log设置等
执行dbca后出现如下安装界面:
选择创建一个数据库
选择General Purpose or Transaction Processing
输入数据库名,然后选择select all所有节点
选择不创建EM
这里统一密码,输入密码
确认数据库文件目录为+DATADG
将归档放入+ARCHDG中
勾上enable archiving,安装好数据库以后就已经是开启归档的状态,不用再去开归档模式
不需要Sample Schemas
配置字符集
存储一般默认,点击Next
点击创建数据库
直接点Exit退出安装
4 常规配置
4.1 开启共享归档
①查询是否开启归档
SQL> archive log list;
②创建共享目录
[grid@rac1 ~]$ export ORACLE_SID=+ASM1
[grid@rac1 ~]$ asmcmd
ASMCMD > ls
DATADG/
ARCHDG/
SYSDG/
ASMCMD > cd DATADG/
ASMCMD > ls
Orcl/
ASMCMD > mkdir arch
ASMCMD > cd arch
ASMCMD > pwd
+DATADG/arch
ASMCMD > exit
③将rac设置成单实例模式
SQL > show parameter cluster_database
SQL > alter system set cluster_database=false scope=spfile sid='*'; (两个节点都要执行命令)
④开启归档
分别关闭两个节点实例
shutdown immediate
将节点1启动至mount状态,开启归档,设置归档路径,格式,并打开数据库还原rac模式
SQL> startup mount
SQL> show parameter cluster_database 查看之前设置是否生效
SQL> alter database archivelog; 开启归档
SQL> alter system set log_archive_format='test_%t_%s_%r.log' scope=spfile; 设置归档格式
SQL> alter system set log_archive_start=true scope=spfile;
SQL> alter system set log_archive_dest_1='location=+DATADG/arch' scope=spfile;
SQL> alter database open;
SQL> alter system set cluster_database=true scope=spfile sid='*';
SQL> shutdown immediate;
归档格式说明:
%t 重做线程号
%s 日志序列号
%r resetlogs的id号
⑤打开所有节点数据库
[oracle@rac1 ~]$ srvctl start database -d orcl
使用集群服务打开所有节点数据库
查看是否生效
SQL> archive log list;
切换归档,查看归档是否正常工作
alter system switch logfile; 或者alter system archive log current;
4.2 静态监听配置
vi /oracle/app/11.2.0.4/grid/network/admin/listener.ora
关注云祺,获取更多精彩信息。

- 标签:
-
技术分享