Oracle RAC实现原理

本文详细介绍了Oracle RAC的部署过程,包括操作系统层面的网络配置、用户创建、环境变量设置、信任关系配置、内核参数调整,以及共享存储的裸设备配置、ASM磁盘组创建。此外,还涉及到了CRS软件的安装、VIP配置和Oracle软件安装及数据库创建等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、操作系统部署

1、网络配置

 

/etc/hosts

 

 

 

 

 

2、配置hangcheck-timer:用于监视      Linux内核是否挂起

vim /etc/modprobe.conf

iptions hangcheck-timer hangcheck_tick=30hangcheck_margin=180

开机自动加载:

vim /etc/rc.local

modprobe hangcheck-timer

3、创建oracle用户node1和node2

groupadd -g 1000 oinstall

groupadd -g 1001 dba

useradd -g oinstall -G dba -u 1000 oracle

passwd oracle

mkdir /u01/app -p

chown oracle.oinstall /u01 -R

chmod 775 /u01 -R

4、配置oracle环境变量

node1

su - oralce

vim .bash_profile

export ORACLE_BASE=/u01/app

exportORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1

export ORACLE_SID=RACDB1

export ORACLE_TERM=xterm

export PATH=/usr/sbin:$PATH

export PATH=$ORACLE_HOME/bin:$PATH

export LD_LIBRARY_PATH=$ORACLE_HOME/bin:/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin/

exportCLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib

ulimit -u 16384 -n 65536

umask 022

node2:

su - oracle

vim .bash_profile

export ORACLE_BASE=/u01/app

export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1

export ORACLE_SID=RACDB2

export ORACLE_TERM=xterm

export PATH=/usr/sbin:$PATH

export PATH=$ORACLE_HOME/bin:$PATH

exportLD_LIBRARY_PATH=$ORACLE_HOME/bin:/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin/

export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib

ulimit -u 16384 -n 65536

umask 022

5、配置信任关系

在oracle下

node1:

ssh-keygen -t rsa

ssh-keygen -t dsa

cd .ssh/

node2:

ssh-keygen -t rsa

ssh-keygen -t dsa

cd .ssh/

cat *.pub > authorized_keys

scp authoirzed_keysnode1:/home/oracle/.ssh/

 

node1:

cat *.pub >> authorized_keys

scp authorized_keys node2:/home/oracle/.ssh

 

验证

node1:

ssh node1

ssh node2

ssh priv1

ssh priv2

 

node2:

ssh node2

ssh node1

ssh priv2

ssh priv1

6、修改操作系统内核参数

vim /etc/sysctl.conf  文件底端 

kernel.shmall = 2097152

kernel.shmmax = 2147483648

kernel.shmmni = 4096

kernel.sem = 250 32000 100 128

fs.file-max = 65536

net.ipv4.ip_local_port_range = 1024 65000

net.core.rmem_default = 1048576

net.core.rmem_max = 1048576

net.core.wmem_default = 262144

net.core.wmem_max = 262144

7、修改内核限制

[root@node1~]# grep -v '^#'/etc/security/limits.conf

oracle soft nproc 2047

oracle hard nproc 16384

oracle soft nofile 1024

oracle hard nofile 65536

 

[root@dba ~]# grep 'limit'/etc/pam.d/system-auth

session    required      pam_limits.so

 

二、共享存储

 
 

1、配置裸设备

<1>分区

 

 

 

所有的外部用到共享磁盘都要做!

让磁盘生效

[root@node1~]#fdisk /dev/vdb

[root@node1~]#fdisk /dev/vdc

[root@node1~]#fdisk /dev/vdd

[root@node1~]#fdisk /dev/vde

[root@node1~]#fdisk /dev/vdf

<建立映射关系>

[root@node1~]#vim /etc/sysconfig/rawdevices

-----增加如下内容

/dev/raw/raw1         /dev/vda

/dev/raw/raw2         /dev/vdf

/dev/raw/raw3         /dev/vdd

/dev/raw/raw4         /dev/vde

/dev/raw/raw5         /dev/vdb

<3>启动服务

[root@node1~]#/etc/init.d/rawdevicesrestart

2、编辑/etc/udev/rules.d/60-raw.rules

 

ACTION=="add", KERNEL=="/dev/sdb1",RUN+="/bin/raw/dev/raw/raw1 %N"

ACTION=="add",ENV{MAJOR}=="8",ENV{MINOR}=="17",RUN+="/bin/raw/dev/raw/raw1 %M %m"

ACTION=="add",KERNEL=="/dev/sdc1",RUN+="/bin/raw /dev/raw/raw2 %N"

ACTION=="add",ENV{MAJOR}=="8",ENV{MINOR}=="33",RUN+="/bin/raw/dev/raw/raw2 %M %m"

ACTION=="add",KERNEL=="/dev/sdd1",RUN+="/bin/raw /dev/raw/raw3 %N"

ACTION=="add",ENV{MAJOR}=="8",ENV{MINOR}=="49",RUN+="/bin/raw/dev/raw/raw3 %M %m"

ACTION=="add",KERNEL=="/dev/sde1",RUN+="/bin/raw /dev/raw/raw4 %N"

ACTION=="add",ENV{MAJOR}=="8",ENV{MINOR}=="65",RUN+="/bin/raw/dev/raw/raw4 %M %m"

ACTION=="add",KERNEL=="/dev/sdf1",RUN+="/bin/raw /dev/raw/raw5 %N"

ACTION=="add",ENV{MAJOR}=="8",ENV{MINOR}=="81",RUN+="/bin/raw/dev/raw/raw5 %M %m"

KERNEL=="raw[1-4]", OWNER="oracle",GROUP="oinstall", MODE="640"

 

启动服务

[root@node1~]#start_udev

查看

[root@node1~]#ll /dev/raw

 

节点二上根据实际情况来做以上步骤。。。

 

2、安装oracleasm包(圈出来的是必须安装的)

 

 

3、安装完软件包的时候配置asm

 

 

4、创建asm磁盘组

【root@node1~】#/etc/init.d/oracleasm createdisk asmdisk_name /dev/vdc1

【root@node1~】#/etc/init.d/oracleasm createdisk asmdisk_name /dev/vdf1

【root@node1~】#/etc/init.d/oracleasm createdisk asmdisk_name /dev/vdd1

【root@node1~】#/etc/init.d/oracleasm createdisk asmdisk_name /dev/vde1

【root@node1~】#/etc/init.d/oracleasm createdisk asmdisk_name /dev/vdb1

查看磁盘组

 

[root@node1~]#/etc/init.d/oracleasm listdisks

 

node2上查看asm磁盘组

第二个节点上需要去刷新一下共享磁盘的信息

 

/etc/int.d/oracleasm listdisks

 

....

三、安装clusterware软件

在安装cluster软件之前需要先检查一下CRS安装前环境

[oracle@nodde1~]$/oracle/clusterware/cluvfy/runcluvfy.shstage  -pre  crsinst -n node1,node2 -verbose

 

 

 

 

选择crs安装目录 crs安装目录不要放在$ORACLE_HOME下 否则会报错

 

 

检查环境

 

 

指定节点

 

 

 

 

 

 

 

 

指定网卡 

 

 

指定ocr存储位置 下面这个是不对的,10G的裸设备应该是/dev/raw/raw

 

 

执行votingdisk的位置

 

 

 

 

 

 

执行脚本一定要按顺序执行每个脚本都是先执行node2再node1

 

第二个脚本/u01/app/product/10.2.0/crs_1/root.sh先执行node2在执行node1 这段时间比较长得需要至少一根烟的功夫,慢点儿吸~

 

第二个脚本再node1节点执行的时候如果遇到这种错误

 

解决方案就是配置一下vipca和srvctl

 

1、找到LD_ASSUME_KERNEL然后在后面添加一行

unset LD_ASSUME_KERNEL  (两个文件都要添加)

 

vim vipca

 

vim srvctl

 

(红框内为手动添加进去的内容 添加完毕之后请重新执行)

 

2、手工重新配置vip1和vip2

如果碰到这种错误

 

在crs的bin下执行

./oifcfg setif -globaleth0/192.168.0.0:public

./oifcfg setif -globaleth1/192.168.1.0:cluster_interconnect

 

3、配置vip

 

 

 

 

 

 

单机exit退出vip的配置

接下来进入主配置继续进行

 

 

单机exit退出

 

四、安装Oracle软件

 

单机next

 

检查完环境之后

 

单机next 安装oracle软件到oracle目录下

 

 

单机Next

 

 

一定要两个节点全选因为我们是集群

 

 

检查集群环境

 

 

这里我们仅安装数据库软件  一会儿再去创建数据库

 

 

安装

 

 

这个时间比较长得两根烟的功夫

 

 

顺序执行脚本先node2再node1

然后退出

 

 

 

五、dbca建库

选择rac database

 

创建数据库

 

 

全部选中因为两个实例 共用一个数据库

 

选择数据库类型

 

 

 

制定数据库全名

 

为了安全起见先不配置管理

 

创建sys sysman等用户的密码

 

 

 

我们用asm文件系统存储

 

 

 

 

 

 

 

 

 

制定数据库存放位置

 

 

 

 

 

 

 

 

制定字符集

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值