千家信息网

10G ORACLE RAC 搭建实战之环境配置

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,一. 用户创建各个节点用户名和用户组必须一样,并创建oracle安装目录以及clustercrs目录[root@rac1]#groupadd -g 500 dba[root@rac1]#groupad
千家信息网最后更新 2026年10月31日10G ORACLE RAC 搭建实战之环境配置

一. 用户创建

各个节点用户名和用户组必须一样,并创建oracle安装目录以及clustercrs目录

[root@rac1]#groupadd -g 500 dba

[root@rac1]#groupadd -g 501 oinstall

[root@rac1]#useradd -u 500 -g oinstall -G dba oracle

[root@rac1]#passwd oracle

Changing passwordfor user oracle.

New UNIX password:

BAD PASSWORD: itis based on a dictionary word

Retype new UNIXpassword:

passwd: allauthentication tokens updated successfully.

[root@rac1]# chmod-R 755 /home/oracle

(注意:该步骤涉及ssh等价性配置)

[root@rac1]# mkdir-p /oraapp/oracle/10g/db_1

[root@rac1]# mkdir-p /oraapp/oracle/10g/db_1

[root@rac1]# mkdir-p /oraapp/oracle/10g/crs

[root@rac1]# chown-R oracle:oinstall /oraapp

[root@rac1]# chmod-R 755 /oraapp

二. IP分配及hosts文件配置

hostname

saprac1

saprac2

公共ip(eth3)

133.160.130.18

133.160.130.19

虚拟ip(eth0)

192.168.1.18

192.168.1.19

私有ip(eth5)

10.10.10.18

10.10.10.19

ORACLE_SID

xgxrac1

xgxrac2

Hosts文件配置(两个节点一样)

[oracle@rac1 ~]$cat /etc/hosts

# Do not removethe following line, or various programs

# that requirenetwork functionality will fail.

127.0.0.1 localhost.localdomain localhost

::1 localhost6.localdomain6 localhost6

133.160.130.18 rac1

133.160.130.19 rac2

192.168.1.18 rac1_vip

192.168.1.19 rac2_vip

10.10.10.18 rac1_priv

10.10.10.19 rac2_priv

三、系统参数调整

修改下列文件:

1.添加以下内容到/etc/security/limits.conf

# vi/etc/security/limits.conf
#oracle limits

oracle softnproc 2047

oracle hardnproc 16384

oracle softnofile 1024

oracle hardnofile 65536

2.添加以下内容到/etc/pam.d/login
# vi /etc/pam.d/login

session required pam_limits.so

3.添加以下内容到/etc/profile
# vi /etc/profile
if [ $USER = "oracle" ]; then

if [ $SHELL = "/bin/ksh" ]; then

ulimit -p 16384

ulimit -n 65536

else

ulimit -u 16384 -n 65536

fi

fi

4.修改系统内核参数

# vi /etc/sysctl.conf

fs.file-max = 6815744

kernel.shmall = 2097152

kernel.shmmax =53687091200 (内存分配为>PGA+SGA)

kernel.shmmni = 4096

kernel.sem = 250 32000 100 128

net.ipv4.ip_local_port_range = 1024 65500

net.core.rmem_default = 262144

net.core.rmem_max = 4194304

net.core.wmem_default = 262144

net.core.wmem_max= 1048576

修改好内核参数后,执行如下命令使新的设置生效
# /sbin/sysctl -p

系统版本信息修改(安装完后改回)

编辑/etc/redhat-release文件替换现在的版本信息(Red Hat Enterprise Linux Server release 3(Tikanga))


四. 修改环境变量

在各个节点上依次修改,注意SID, ORACLE_BASE,ORACLE_HOME

[oracle@rac1 ~]$vi ~/.bash_profile

export PATH

unset USERNAME

alias ll="ls-la"

exportORACLE_BASE=/oraapp/oracle/10g

export ORACLE_HOME=$ORACLE_BASE/db_1

exportORA_CRS_HOME=$ORACLE_BASE/crs

exportORACLE_SID=sapora1

exportPATH=.:${PATH}:$HOME/bin:$ORACLE_HOME/bin:$ORA_CRS_HOME/bin

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

exportSPFILE_PATH=$ORACLE_HOME/dbs

exportTNS_ADMIN=$ORACLE_HOME/network/admin

exportORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data

exportLD_LIBRARY_PATH=$ORACLE_HOME/lib

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

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

exportCLASSPATH=$ORACLE_HOME/JRE

exportCLASSPATH=${CLASSPATH}:$ORACLE_HOME/JRE/lib

exportCLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib

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

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

exportTHREADS_FLAG=native

export TEMP=/tmp

export TMPDIR=/tmp

exportLIBPATH=$ORACLE_HOME/lib:$ORACLE_HOME/ctx/lib

exportORACLE_TERM=xterm

exportLC_CTYPE=en_US.AL16UTF16

exportNLS_LANG=AMERICAN_AMERICA.US7ASCII

~

~

~

~

".bash_profile"39L, 1244C written

使更改立即生效

[oracle@rac1 ~]$source ~/.bash_profile

五. 开发包检查

yum -y install compat-libstdc++ libaio libXp compat-dbopenmotif22 binutils control-center gcc gcc-c++ glibc glibc-common gnome-libslibstdc++ libstdc++-devel make pdksh sysstat xscreensaver setarch glibc-develsetarch-2* make-3* glibc-2* libaio-0* compat-libstdc++-33-3* compat-gcc-34-3*compat-gcc-34-c++-3* gcc-4* libXp-1* openmotif-2* compat-db-4* openmotif-2*

六. RAW绑定

所谓裸设备(裸分区、原始分区),就是没有被格式化、不被操作系统通过文件系统来读取的字符设备。裸设备避免了再经过Unix操作系统这一层,数据直接从Disk到Oracle进行传输,所以使用裸设备对于读写频繁的数据库应用来说,可以极大地提高数据库系统的性能。裸设备应该由root来创建裸设备,然后再分配给Oracle用户以供使用。同时还要把它归入Oracle用户所在的那个组里边(通常都是DBA)。

裸设备和非裸设备的表面差异是一个就是新出厂的磁盘,没有任何操作;一个就是fdisk格式化了的新磁盘

在aix上LV就是裸设备,但是在linux上需要单独创建;为防止重启后配置丢失,将绑定设置写到 /etc/sysconfig/rawdevices文件中

(1).编辑/etc/sysconfig/rawdevices 添加裸设备对应lv

[root@rac1 ~]# vi/etc/sysconfig/rawdevices

# raw devicebindings

# format:

#

# example:/dev/raw/raw1 /dev/sda1

# /dev/raw/raw2 8 5

/dev/raw/raw1 /dev/mapper/oravg01-lvol0

/dev/raw/raw2 /dev/mapper/oravg01-lvol1

/dev/raw/raw3 /dev/mapper/oravg01-lvol2

/dev/raw/raw4 /dev/mapper/oravg01-lvol3

/dev/raw/raw5 /dev/mapper/oravg01-lvol4

/dev/raw/raw6 /dev/mapper/oravg01-lvol5

/dev/raw/raw7 /dev/mapper/oravg01-lvol6

/dev/raw/raw8 /dev/mapper/oravg01-lvol7

/dev/raw/raw9 /dev/mapper/oravg01-lvol8

/dev/raw/raw10 /dev/mapper/oravg01-lvol9

/dev/raw/raw11 /dev/mapper/oravg01-lvol10

/dev/raw/raw12 /dev/mapper/oravg01-lvol11

/dev/raw/raw13 /dev/mapper/oravg01-lvol12

/dev/raw/raw14 /dev/mapper/oravg01-lvol13

/dev/raw/raw15 /dev/mapper/oravg01-lvol14

/dev/raw/raw16 /dev/mapper/oravg01-lvol15

/dev/raw/raw17 /dev/mapper/oravg01-lvol16

/dev/raw/raw18 /dev/mapper/oravg01-lvol17

/dev/raw/raw19 /dev/mapper/oravg01-lvol18

/dev/raw/raw20 /dev/mapper/oravg01-lvol19

/dev/raw/raw21 /dev/mapper/oravg01-lvol20

/dev/raw/raw22 /dev/mapper/oravg01-lvol21

/dev/raw/raw23 /dev/mapper/oravg01-lvol22

/dev/raw/raw24 /dev/mapper/oravg01-lvol23

/dev/raw/raw25 /dev/mapper/oravg01-lvol24

/dev/raw/raw26 /dev/mapper/oravg01-lvol25

/dev/raw/raw27 /dev/mapper/oravg01-lvol26

/dev/raw/raw28 /dev/mapper/oravg01-lvol27

/dev/raw/raw29 /dev/mapper/oravg01-lvol28

/dev/raw/raw30 /dev/mapper/oravg01-lvol29

/dev/raw/raw31 /dev/mapper/oravg01-lvol30

/dev/raw/raw32 /dev/mapper/oravg01-lvol31

/dev/raw/raw33 /dev/mapper/oravg01-lvol32

/dev/raw/raw34 /dev/mapper/oravg01-lvol33

/dev/raw/raw35 /dev/mapper/oravg01-lvol34

/dev/raw/raw36 /dev/mapper/oravg01-lvol35

(2).执行 /etc/init.d/rawdevices restart 使配置文件中的裸设备生效.

(3)执行 /sbin/chkconfig rawdevices on 保证机器启动的时候裸设备能够加载。(查看是否启动 chkconfig --list|grep raw)

(4)将裸设备授权给oracle 用户,更改裸设备的属主

第一种方法:修改/etc/udev/permissions.d/50-udev.permissions文件
将/etc/udev/permissions.d/50-udev.permissions的113行
从raw/*:root:disk:0660
修改为raw/*:oracle:oinstall:0660

这个的意思是修改裸设备的默认属主为oracle:oinstall,默认的mode是0660
这样在每次重启创建裸设备的时候,默认的属主就为oracle:oinstall。

#刷新裸设备(这样系统在下次启动时,会重新建立需要的raw设备名)

[root@myhost raw]# start_udev启动 udev: [ 确定][root@myhost raw]#init 6

第二种方法:先执行 chown oracle:oinstall/dev/raw/raw*

编辑启动配置文件 /etc/rc.local 添加 chown oracle:oinstall/dev/raw/raw*

[root@rac2 etc]# vi /etc/rc.local

#!/bin/sh

#

# This script will be executed *after* all the other init scripts.

# You can put your own initialization stuff in here if you don't

# want to do the full Sys V style init stuff.

touch /var/lock/subsys/local

#change raw owner

chown oracle:oinstall /dev/raw/raw*

重启系统,查看裸设备是否存在。

(5)切换到另外一个节点上,由于所有卷组都处于未激活状态,激活卷组: vgchange -ay oravgX,之后重复上述操作。

七. NTP服务配置

  1. 1. 服务端(133.160.130.18)

由于不能联网,不对上层时间服务进行修改,只修改连接限制;编辑/etc/ntp.conf

修改 restrict default kod nomodify notrap nopeernoquery

为 restrictdefault nomodify

重启ntp服务:service ntpd restart

设置开机启动:chkconfig ntpd on

  1. 2. 客户端(133.160.130.19)

添加任务,每5分钟执行一次

echo '*/5 * * * * root ntpdate133.160.130.18'>> /etc/crontab

八. hangcheck-timer模块配置

1.查看模块位置

[root@rac1 ~]#find /lib/modules/ -name "hangcheck"

[root@rac1 ~]#find /lib/modules/ -name "hangcheck-timer.ko"

/lib/modules/2.6.18-398.el5/kernel/drivers/char/hangcheck-timer.ko

2.配置系统启动时自动加载模块,添加以下内容

[root@rac1 ~]#modprobe hangcheck-timer

[root@rac1 ~]# vi/etc/rc.d/rc.local

modprobehangcheck-timer

3.配置 hangcheck-timer参数,添加以下内容

[root@rac1~]# vi /etc/modprobe.conf

optionshangcheck-timer hangcheck_tick=30 hangcheck_margin=180

4.确认模块加载成功

[root@rac1 ~]#grep Hangcheck /var/log/messages |tail -2

Mar 27 10:45:55localhost kernel: Hangcheck: starting hangcheck timer 0.9.0 (tick is 180seconds, margin is 60 seconds).

Mar 27 10:45:55localhost kernel: Hangcheck: Using monotonic_clock().

九.配置ssh等价

注意:

1.这一步是以oracle用户来操作的,需在配置hosts文件后再进行 ;

2.必须保证每个节点上Oracle用户的UID和DBA组的GID相同。

3.因为安装rac是在其中一个节点安装,然后oracle会自动复制到其它节点。最后的测试一定要不输入密码就能显示日期,不然安装一定失败!

1. 在配置用户等价的每个节点上执行

[oracle@rac01 ~]$ cd $HOME

[oracle@rac01 ~]$ mkdir .ssh

[oracle@rac01 ~]$ chmod 700 .ssh

[oracle@rac01 ~]$ cd .ssh

[oracle@rac01 .ssh]$ pwd

/home/oracle/.ssh

[oracle@rac01 .ssh]$ ssh-keygen -t rsa (连敲三次回车,不要输入)

[oracle@rac01 .ssh]$ ssh-keygen -t dsa (连敲三次回车,不要输入)

[oracle@rac01 .ssh]$ cat *.pub > authorized_keys

[oracle@rac01 .ssh]$ chmod 644 authorized_keys

2.将第一个节点上的authorized_keys拷贝到第二个节点

[oracle@rac01 .ssh]$ scp authorized_keys oracle@192.168.0.2:/home/oracle/.ssh/keys_ser01

3.将第二个节点与第一个节点合并后的authorized_keys在拷回第一个节点

[oracle@rac02 .ssh]$ cat keys_ser01 >>authorized_keys

[oracle@rac02.ssh]$ scp authorized_keys oracle@192.168.0.1:/home/oracle/.ssh/

4.测试ssh登陆另一个节点,无需输入密码

ssh rac1 date

ssh rac1-privdate

ssh rac2 date

ssh rac2-privdate

这一步一定要测试成功才能进行后面的安装!


设备 节点 配置 文件 系统 用户 内容 参数 就是 模块 服务 输入 数据 等价 测试 成功 操作系统 信息 内核 密码 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网和科技技术 互联网扶贫科技 上海挚品互联网科技 互联网科技革命 宜安科技 互联网金融 西安互联网科技公司 互联网女皇 腾讯科技 友谊互联网络科技 齐家互联网科技有限公司 互联网高科技企业 中正互联网科技招聘 滨湖区互联网智能科技产品供应 成都互联网科技公司工作好不好 速维有品互联网信息科技(苏州)有限公司 世界互联网领先科技成果获奖 互联网金融科技元年 黑云互联网科技有限公司 西安有哪些互联网高科技企业 三亚科技创新互联网基地 科技互联网企业在行动 互联网科技有限公司 互联网科技战争 互联网金融科技创新 互联网科技博客 太原新华互联网科技学校怎么样 湖南洣水互联网科技有限公司扣款 青岛中康互联网医疗科技有限公司 互联网企业和科技型企业 贵州叶脉互联网科技有限公司所属行业 小牛互联网科技有限公司地址
0