一步一步搭建oracle 11gR2 rac+dg之环境准备(二)

 

一步一步在RHEL6.5+VMware Workstation 10上搭建 oracle 11gR2 rac + dg 之环境准备 (二)

本篇目录结构:

 

  1. Linux 环境准备

    安装linux的环境,我就不介绍了,这一部分如果不会的童鞋就去百度吧,一百度一大堆,如果还是不会的话就直接下载我已经安装好的系统吧,下载下来直接可用(http://yunpan.cn/cgkEsf8wpHC2G (提取码:90f5)),复制3份,直接命名为rac1、rac2和dg即可,如图:

     

 

  1. 前期环境准备

    1. 关闭防火墙

在rac1 和rac2 2个节点上分别执行如下语句:

 

[root@rac01 ~]# service iptables stop

[root@rac01 ~]# chkconfig iptables off

[root@rac01 ~]# chkconfig iptables --list

iptables 0:off 1:off 2:off 3:off 4:off 5:off 6:off

 

chkconfig iptables off ---永久

service iptables stop ---临时

/etc/init.d/iptables status ----会得到一系列信息,说明防火墙开着。

/etc/rc.d/init.d/iptables stop ----------关闭防火墙

 

 

  1. 修改主机名

 

#vi /etc/sysconfig/network

HOSTNAME=rac1

 

# hostname rac1

 

 

Rac 2 上同样执行

 

  1. 修改hosts文件--网络配置(网卡配置)

hosts文件:

[grid@rac1 ~]$ more /etc/hosts

127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4

::1 localhost localhost.localdomain localhost6 localhost6.localdomain6

 

 

#Public IP

192.168.59.135 rac1

192.168.59.136 rac2

 

#Private IP

192.168.116.133 rac1-priv

192.168.116.134 rac2-priv

 

#Virtual IP

192.168.59.137 rac1-vip

192.168.59.138 rac2-vip

 

#Scan IP

192.168.59.139 rac-scan

 

 

 

 

  1. 配置内核参数

    1. 修改/etc/sysctl.conf文件

[root@rac01 ~]# vi /etc/sysctl.conf

# for oracle 11g

fs.aio-max-nr = 1048576

fs.file-max = 6815744

kernel.shmall = 2147483648

kernel.shmmax = 68719476736

kernel.shmmni = 4096

kernel.sem = 250 32000 100 128

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

 

使修改参数立即生效:

[root@rac01 ~]# /sbin/sysctl -p

 

  1. 修改limits文件

[root@rac01 ~]# 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

 

  1. 修改/etc/pam.d/login文件

[root@rac01 ~]# vi /etc/pam.d/login

session required pam_limits.so

 

  1. 修改/etc/profile文件

[root@rac01 ~]# 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

 

  1. 禁用 selinux

[root@rac01 ~]# vi /etc/selinux/config

# This file controls the state of SELinux on the system.

# SELINUX= can take one of these three values:

# enforcing - SELinux security policy is enforced.

# permissive - SELinux prints warnings instead of enforcing.

# disabled - No SELinux policy is loaded.

SELINUX=disabled

# SELINUXTYPE= can take one of these two values:

# targeted - Targeted processes are protected,

# mls - Multi Level Security protection.

SELINUXTYPE=targeted

 

getsebool

getsebool: SELinux is disabled

 

 

 

 

  1. 停止 ntp 服务,11gR2 新增的检查项

root 用户双节点运行:

 

gird时间同步所需要的设置(11gR2新增检查项)

#Network Time Protocol Setting

/sbin/service ntpd stop

mv /etc/ntp.conf /etc/ntp.conf.bak (这时候oracle会自动启用自己的NTP服务)

 

[root@node1 ~]# service ntpd status

ntpd is stopped

[root@node1 ~]# chkconfig ntpd stop

[root@node1 ~]# cat /etc/ntp

ntp/ ntp.conf

[root@node1 ~]# cp /etc/ntp.conf /etc/ntp.conf.bak

[root@node1 ~]# rm -rf /etc/ntp.conf

[root@node1 ~]#

 

 

 

  1. /dev/shm 共享内存不足的处理

解决方法:

例如:为了将/dev/shm的大小增加到1GB,修改/etc/fstab的这行:默认的:

none /dev/shm tmpfs defaults 0 0

改成:

none /dev/shm tmpfs defaults,size=1024m 0 0

size参数也可以用G作单位:size=1G。

或者使用命令: mount -o remount,size=4G /dev/shm

重新mount /dev/shm使之生效:

# mount -o remount /dev/shm

或者:

# umount /dev/shm

# mount -a

马上可以用"df -h"命令检查变化。

 

  1. 添加组和用户

    1. 添加oracle和grid用户

groupadd -g 501 oinstall

groupadd -g 502 dba

groupadd -g 503 oper

groupadd -g 504 asmadmin

groupadd -g 505 asmoper

groupadd -g 506 asmdba

useradd -g oinstall -G dba,asmdba,oper oracle

useradd -g oinstall -G asmadmin,asmdba,asmoper,oper,dba grid

 

 

为oracle和grid用户设密码:

[root@rac01 ~]# passwd oracle

[root@rac01 ~]# passwd grid

 

 

检查:

[root@ora1 ~]# id oracle

uid=501(oracle) gid=501(oinstall) groups=501(oinstall),502(dba),503(oper),506(asmdba)

[root@ora1 ~]# id grid

uid=502(grid) gid=501(oinstall)

groups=501(oinstall),502(dba),503(oper),504(asmadmin),505(asmoper),506(asmdba)

 

  1. 创建目录并且配置 grid 和 oracle 用户的环境变量文件

? GRID 软件的 ORACLE_HOME 不能是 ORACLE_BASE 的子目录

 

 

--在2个节点均创建,root用户下创建目录:

mkdir -p /u01/app/oracle

mkdir -p /u01/app/grid

mkdir -p /u01/app/11.2.0/grid

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

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

chown -R oracle:oinstall /u01/app/oracle

chmod -R 775 /u01

 

mkdir -p /u01/app/oraInventory

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

chmod -R 775 /u01/app/oraInventory

 

 

 

 

修改gird、oracle用户的.bash_profile文件,以oracle账号登陆,编辑.bash_profile

或者在root直接编辑:

vi /home/oracle/.bash_profile

vi /home/grid/.bash_profile

 

 

--------Oracle User----切换到Oracle用户下------

[root@rhel_linux_asm ~]# su - oracle

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

export ORACLE_SID=rac1

export ORACLE_BASE=/u01/app/oracle

export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1

export LD_LIBRARY_PATH=$ORACLE_HOME/lib

export NLS_DATE_FORMAT="yyyy-mm-dd HH24:MI:SS"

export TMP=/tmp

export TMPDIR=$TMP

export PATH=$PATH:$ORACLE_HOME/bin

 

--------Grid User-----切换到grid用户下-----

[grid@rhel_linux_asm ~]$ vim .bash_profile

export ORACLE_SID=+ASM1

export ORACLE_BASE=/u01/app/grid

export ORACLE_HOME=/u01/app/11.2.0/grid

export LD_LIBRARY_PATH=$ORACLE_HOME/lib

export NLS_DATE_FORMAT="yyyy-mm-dd HH24:MI:SS"

export PATH=$ORACLE_HOME/bin:$PATH

 

注意:另外一台数据库实例名须做相应修改:

Oracle:export ORACLE_SID=rac2

grid:export ORACLE_SID=+ASM2

 

 

  1. 软件包的检查

依据官方文档要求,Red Hat Enterprise Linux 5须安装如下软件包

 

  1. binutils-2.17.50.0.6
  2. compat-libstdc++-33-3.2.3
  3. compat-libstdc++-33-3.2.3(32 位)
  4. elfutils-libelf-0.125
  5. elfutils-libelf-devel-0.125
  6. elfutils-libelf-devel-static-0.125
  7. gcc-4.1.2
  8. gcc-c++-4.1.2
  9. glibc-2.5-24
  10. glibc-2.5-24(32 位)
  11. glibc-common-2.5
  12. glibc-devel-2.5
  13. glibc-devel-2.5(32 位)
  14. glibc-headers-2.5
  15. ksh-20060214
  16. libaio-0.3.106
  17. libaio-0.3.106(32 位)
  18. libaio-devel-0.3.106
  19. libaio-devel-0.3.106(32 位)
  20. libgcc-4.1.2
  21. libgcc-4.1.2(32 位)
  22. libstdc++-4.1.2
  23. libstdc++-4.1.2(32 位)
  24. libstdc++-devel 4.1.2
  25. make-3.81
  26. sysstat-7.0.2
  27. unixODBC-2.2.11
  28. unixODBC-2.2.11(32 位)
  29. unixODBC-devel-2.2.11
  30. unixODBC-devel-2.2.11(32 位)

 

一般情况下除了compat的一些包没有安装外,其他的包都已经安装了,可以使用rpm –qa |grep 命令进行查询,注意一定要与操作系统版本相符

 

 

rpm -qa | grep binutils-

rpm -qa | grep compat-libstdc++-

rpm -qa | grep elfutils-libelf-

rpm -qa | grep elfutils-libelf-devel-

rpm -qa | grep glibc-

rpm -qa | grep glibc-common-

rpm -qa | grep glibc-devel-

rpm -qa | grep gcc-

rpm -qa | grep gcc-c++-

rpm -qa | grep libaio-

rpm -qa | grep libaio-devel-

rpm -qa | grep libgcc-

rpm -qa | grep libstdc++-

rpm -qa | grep libstdc++-devel-

rpm -qa | grep make-

rpm -qa | grep sysstat-

rpm -qa | grep unixODBC-

rpm -qa | grep unixODBC-devel-

 

 

rpm -ivh compat-libstdc++-33-3.2.3-69.el6.i686.rpm --force --nodeps

rpm -ivh unixODBC-* --force --nodeps

 

rhel6 还应该安装一个包:compat-libcap1-1.10-1.x86_64.rpm

 

  1. 关闭不需要的服务

chkconfig autofs off

chkconfig acpid off

chkconfig sendmail off

chkconfig cups-config-daemon off

chkconfig cpus off

chkconfig xfs off

chkconfig lm_sensors off

chkconfig gpm off

chkconfig openibd off

chkconfig pcmcia off

chkconfig cpuspeed off

chkconfig nfslock off

chkconfig ip6tables off

chkconfig rpcidmapd off

chkconfig apmd off

chkconfig sendmail off

chkconfig arptables_jf off

chkconifg microcode_ctl off

chkconfig rpcgssd off

chkconfig ntpd off

 

 

 

  1. 配SSH互信,建立 ssh 等效性--11G不用配置

虽然在安装软件的过程中,oracle 会自动配置 SSH 对等性,建议在安装软件之前手工配置。

 

以oracle身份在每个节点执行

 

为ssh和scp创建连接,检验是否存在:

ls -l /usr/local/bin/ssh

ls -l /usr/local/bin/scp

不存在则创建

/bin/ln -s /usr/bin/ssh /usr/local/bin/ssh

/bin/ln -s /usr/bin/scp /usr/local/bin/scp

 

[root@rac01 ~]# /bin/ln -s /usr/bin/ssh /usr/local/bin/ssh

[root@rac01 ~]# /bin/ln -s /usr/bin/scp /usr/local/bin/scp

 

为oracle用户配置SSH:

生成用户的公匙和私匙,在每个节点上:

[root@rac01 ~]# su – oracle

[oracle@rac01 ~]# mkdir ~/.ssh

[oracle@rac01 ~]#cd .ssh

[oracle@rac01 ~]# ssh-keygen -t rsa

[oracle@rac01 ~]# ssh-keygen -t dsa

 

在节点1上,把所有节点的authorized_keys文件合成一个,再用这个文件覆盖各个节点.ssh下的同名文件:

[oracle@rac01 ~]# touch authorized_keys

[oracle@rac01 ~]# ssh rac01 cat /home/oracle/.ssh/id_rsa.pub >> authorized_keys

[oracle@rac01 ~]# ssh rac02 cat /home/oracle/.ssh/id_rsa.pub >> authorized_keys

[oracle@rac01 ~]# ssh rac01 cat /home/oracle/.ssh/id_dsa.pub >> authorized_keys

[oracle@rac01 ~]# ssh rac02 cat /home/oracle/.ssh/id_dsa.pub >> authorized_keys

[oracle@rac01 ~]# scp authorized_keys rac02:/home/oracle/.ssh/

 

分别在每个节点上执行检验操作:

[oracle@rac01 ~]# ssh rac01 date

[oracle@rac01 ~]# ssh rac02 date

 

[oracle@rac01 ~]# ssh-agent $SHELL

[oracle@rac01 ~]# ssh-add

 

 

为grid用户配置SSH:

在每个节点上:

[root@rac01 ~]# su – grid

[grid@rac01 ~]# mkdir ~/.ssh

[grid@rac01 ~]#cd .ssh

[grid@rac01 ~]# ssh-keygen -t rsa

[grid@rac01 ~]# ssh-keygen -t dsa

 

在节点1上

[grid@rac01 ~]# touch authorized_keys

[grid@rac01 ~]# ssh rac01 cat /home/grid/.ssh/id_rsa.pub >> authorized_keys

[grid@rac01 ~]# ssh rac02 cat /home/grid/.ssh/id_rsa.pub >> authorized_keys

[grid@rac01 ~]# ssh rac01 cat /home/grid/.ssh/id_dsa.pub >> authorized_keys

[grid@rac01 ~]# ssh rac02 cat /home/grid/.ssh/id_dsa.pub >> authorized_keys

[grid@rac01 ~]# scp authorized_keys rac02:/home/grid/.ssh/

 

 

分别在每个节点上:

[grid@rac01 ~]# ssh rac01 date

[grid@rac01 ~]# ssh rac02 date

 

[grid@rac01 ~]# ssh-agent $SHELL

[grid@rac01 ~]# ssh-add

 

--------------------------------------------------------------------------------------自己:

为Oracle用户配置SSH:

以oracle身份在每个节点执行以下代码

su - oracle

mkdir ~/.ssh

cd .ssh

ssh-keygen -t rsa

ssh-keygen -t dsa

cat *rsa.pub >> authorized_keys

cat *dsa.pub >> authorized_keys

 

然后在rac1下:

ssh rac2 cat /home/oracle/.ssh/authorized_keys >> authorized_keys

scp authorized_keys rac2:/home/oracle/.ssh/

 

然后分别在每个节点上执行检验操作:

ssh rac1 date

ssh rac2 date

ssh-agent $SHELL

ssh-add

 

为grid用户配置SSH:

以grid身份在每个节点执行

su - grid

mkdir ~/.ssh

cd ~/.ssh

ssh-keygen -t rsa

ssh-keygen -t dsa

cat *rsa.pub >> authorized_keys

cat *dsa.pub >> authorized_keys

 

然后在rac1节点下执行:

ssh rac2 cat /home/grid/.ssh/authorized_keys >> authorized_keys

scp authorized_keys rac2:/home/grid/.ssh/

 

然后分别在每个节点上执行检验操作:

ssh rac1 date

ssh rac2 date

ssh rac1-priv date

ssh rac2-priv date

 

第二次执行时不再提示输入口令,并且可以成功执行命令,则表示 oracle 用户 SSH 对等性

配置成功,至此,Oracle 用户 SSH 对等性配置完成!重复上述步骤,以 grid 用户配置对等性。

 

 

ssh-agent $SHELL

ssh-add

 

注意: 该步骤可以不配置然后在安装的过程中有如下的界面可以来配置:

  1. 配置NTP

root用户下执行:

  1. rac1执行

A. sed -i 's/OPTIONS/#OPTIONS/g' /etc/sysconfig/ntpd

B.

cat >> /etc/sysconfig/ntpd

OPTIONS="-x -u ntp:ntp -p /var/run/ntpd.pid"

EOF

C.

mv /etc/ntp.conf /etc/ntp.confbak

D.

cat > /etc/ntp.conf

restrict 0.0.0.0 mask 0.0.0.0 nomodify

server 127.127.1.0

fudge 127.127.1.0 stratum 10

driftfile /var/lib/ntp/drift

broadcastdelay 0.008

authenticate no

keys /etc/ntp/keys

EOF

  1. rac2执行

A.

sed -i 's/OPTIONS/#OPTIONS/g' /etc/sysconfig/ntpd

B.

cat >> /etc/sysconfig/ntpd

OPTIONS="-x -u ntp:ntp -p /var/run/ntpd.pid"

EOF

C.

mv /etc/ntp.conf /etc/ntp.confbak

D.

cat >> /etc/ntp.conf

restrict default kod nomodify notrap nopeer noquery

restrict 182.168.8.0 mask 255.255.255.0 nomodify notrap

restrict 127.0.0.1

server 182.168.8.61

server 127.127.1.0 # local clock

fudge 127.127.1.0 stratum 10

driftfile /var/lib/ntp/drift

broadcastdelay 0.008

authenticate no

keys /etc/ntp/keys

XL

  1. 启动服务(双节点执行)

#service ntpd restart

#chkconfig ntpd on

时间: 2024-10-06 13:22:20

一步一步搭建oracle 11gR2 rac+dg之环境准备(二)的相关文章

一步一步搭建 oracle 11gR2 rac+dg之grid安装(四)

一步一步在RHEL6.5+VMware Workstation 10上搭建 oracle 11gR2 rac + dg 之grid安装 (四) 本章目录结构:   这一步也比较重要,主要是安装ASM,如果前一步的共享磁盘没有准备好的话,执行root脚本的时候可能会报错,不过不要紧的,,,一定可以解决的,,,,     本章目录结构   Grid安装过程 下载软件,上传软件,解压软件: [root@rac1 share]# ll total 3398288 -rwxrwxrwx 1 root ro

一步一步搭建oracle 11gR2 rac+dg之共享磁盘设置(三)

  一步一步在RHEL6.5+VMware Workstation 10上搭建 oracle 11gR2 rac + dg 之共享磁盘准备 (三) 注意:这一步是配置rac的过程中非常重要的一步,很多童鞋多次安装rac都不成功,主要原因就是失败在共享磁盘的配置上,包括小麦苗我自己,多次安装才懂的这个道理,所以,这一步大家一定要睁大眼睛多看多想,如有不懂的地方就直接联系小麦苗吧.   本部分目录截图: 配置共享存储 这个是重点,也是最容易出错的地方,我最初安装的时候就是在这里老报错,大家看仔细了哟

一步一步搭建oracle 11gR2 rac+dg之database安装(五)

一步一步在RHEL6.5+VMware Workstation 10上搭建 oracle 11gR2 rac + dg 之database安装 (五) 本章目录结构: 这一步主要可能安装的时候找不见磁盘组,这个也不要急,一步一步肯定可以解决的,,,,,Database安装与配置   安装数据库 日志:tail -f /u01/app/oraInventory/logs/installActions2014-06-05_01-30-25AM.log   解压文件: [oracle@localhos

一步一步搭建 oracle 11gR2 rac + dg 之前传 (一)

      一步一步在RHEL6.5+VMware Workstation 10上搭建 oracle 11gR2 rac + dg  之前传 (一)       2014年国庆放七天假,但对于我来说放不放假都一样,单身的我也不愿意多出去转转了,觉得没意思,看着人家一对一对的,我出去岂不是太煞风景,,,那做些什么好呢?那就搭建一套rac+dg玩玩呗,总不能荒废时光吧,,,好了,废话少说了,下边就进入正题了.       搭建过程比较长,我就多分几个章节来发布吧,这样显得比较条理化,该搭建过程比较适

一步一步搭建11gR2 rac+dg之结尾篇(十)

     一步一步在RHEL6.5+VMware Workstation 10上搭建 oracle 11gR2 rac + 物理 dg 系列blog已基本完成,前9篇文章见以下链接,本篇为终结篇:   一步一步搭建 oracle 11gR2 rac + dg 之前传(一) http://blog.itpub.net/26736162/viewspace-1290405/  一步一步搭建oracle 11gR2 rac+dg之环境准备(二)  http://blog.itpub.net/26736

【RAC安装】 AIX下安装Oracle 11gR2 RAC

[RAC安装] AIX下安装Oracle 11gR2 RAC   1.1  BLOG文档结构图       1.2  前言部分   1.2.1  导读和注意事项 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识,~O(∩_∩)O~: ① 基于aix安装rac(重点) ② 静默安装rac软件 ③ dbca静默创建rac数据库     Tips:        ① 若文章代码格式有错乱,推荐使用QQ.搜狗或360浏览器,也可以下载pdf格式的文档来查看,pdf文档

一步一步搭建11gR2 rac+dg之安装rac出现问题解决(六)

一步一步在RHEL6.5+VMware Workstation 10上搭建 oracle 11gR2 rac + dg 之安装rac出现的问题 (六)   本章主要是搜集了一些安装rac的过程中出现的问题及解决办法,如果没有出现问题的话那么这一章可以不看的       目录结构: crs安装出现的问题 Oracle 11g RAC CRS-4535/ORA-15077 新安装了Oracle 11g rac之后,不知道是什么原因导致第二个节点上的crsd无法启动?其错误消息是CRS-4535: C

用PXE方法从裸机批量推Oracle 11gR2 RAC环境

       9月29日,由中科院高级工程师唐波在"DBA+福州群"进行了一次关于用PXE方法从裸机批量推Oracle 11gR2 RAC环境的线上主题分享.小编特别整理出其中精华内容,供大家学习交流.     嘉宾简介    唐波,福建省第一批Oracle ERP实施顾问,中国科学院最佳技术顾问.Oracle 10g/11g OCM.RHCE,ACOUG&SHOUG核心成员.   2004年4月到2006年12月在北京担任中科院ARP项目组数据仓库架构师,参与完成该项目中的数

Oracle 11gR2 RAC集群服务启动与关闭总结

<Oracle 11gR2 RAC集群服务启动与关闭总结> 新年新群招募: 中国Oracle精英联盟 170513055 群介绍:本群是大家的一个技术分享社区,在这里可以领略大师级的技术讲座,还有机会参加Oracle举办的技术沙龙,与兴趣相投的小伙伴一起笑谈风云起,感悟职场情! 引言:这写篇文章的出处是因为我的一名学生最近在公司搭建RAC集群,但对其启动与关闭的顺序和原理不是特别清晰,我在教学工作中也发现了很多学员对RAC知识了解甚少,因此我在这里就把RAC里面涉及到的最常用的启动与关闭顺序和