好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

详解Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part1:准备工作

Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part1:准备工作,具体如下:

环境:OEL 5.7 + Oracle 10.2.0.5 RAC

1.实施前准备工作

    1.1 服务器安装操作系统

    1.2 Oracle安装介质

    1.3 共享存储规划

    1.4 网络规划分配

2.主机配置

    2.1 使用yum安装oracle-validated包来简化主机配置的部分工作

    2.2 共享存储配置

    2.3 配置/etc/hosts

    2.4 配置Oracle用户等价性

    2.5 创建软件目录

    2.6 配置用户环境变量

    2.7 关闭各节点主机防火墙和SELinux

    2.8 各节点系统时间校对

1.实施前准备工作

1.1 服务器安装操作系统

配置完全相同的两台服务器,安装相同版本的Linux操作系统。留存系统光盘或者镜像文件。
 我这里是OEL5.7,系统目录大小均一致。对应OEL5.7的系统镜像文件放在服务器上,供后面配置本地yum使用。

1.2 Oracle安装介质

Oracle 10.2.0.1版本的clusterware和db,以及10.2.0.5的升级包。

?

1

2

3

-rwxr-xr-x 1 root root 302M 12月 24 13:07 10201_clusterware_linux_x86_64.cpio.gz

-rwxr-xr-x 1 root root 724M 12月 24 13:08 10201_database_linux_x86_64.cpio.gz

-rwxr-xr-x 1 root root 1.2G 12月 24 13:10 p8202632_10205_Linux-x86-64.zip

这个用MOS账号自己去support.oracle.com下载,然后只需要上传到节点1即可。

1.3 共享存储规划

从存储中划分出两台主机可以同时看到的共享LUN。

我这里自己的实验环境是使用openfiler模拟出共享LUN:

5个100M大小LUN;用于OCR,votedisk;

3个10G大小LUN;用于DATA;

2个5G大小LUN;用于FRA。

openfiler使用可参考:Openfiler配置RAC共享存储

1.4 网络规划分配

公有网络 以及 私有网络。

公有网络:物理网卡eth0(public IP,VIP),需要4个IP地址。

私有网络:物理网卡eth1(private IP),需要2个内部IP地址。

实际生产环境一般服务器都至少有4块网卡。建议是两两bonding后分别作为公有网络和私有网络。

2.主机配置

2.1 使用yum安装oracle-validated包来简化主机配置的部分工作

由于系统环境是OEL5.7,可以简化依赖包安装、内核参数调整,用户和组创建等工作,可参考:OEL上使用yum install oracle-validated 简化主机配置工作

2.2 共享存储配置:

我这里openfiler所在主机的IP地址为192.168.1.12。归划的10块LUN全部映射到iqn.2006-01.com.openfiler:rac10g上。

?

1

2

3

4

5

6

7

8

9

10

11

12

[root@oradb28 ~] # iscsiadm -m discovery -t sendtargets -p 192.168.1.12

192.168.1.12:3260,1 iqn.2006-01.com.openfiler:rac10g

 

#手工登录iscsi目标

iscsiadm -m node -T iqn.2006-01.com.openfiler:rac10g -p 192.168.1.12 -l

 

#配置自动登录

iscsiadm -m node -T iqn.2006-01.com.openfiler:rac10g -p 192.168.1.12 -- op update -n node.startup - v automatic

 

#重启iscsi服务

service iscsi stop

service iscsi start

注意:安装10g RAC,要确保共享设备上划分的LUN要在所有节点上被识别为相同设备名称。

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

[root@oradb27 ~] # ls -lh /dev/sd*

brw-r----- 1 root disk 8, 0 Jan 2 22:40 /dev/sda

brw-r----- 1 root disk 8, 16 Jan 2 22:40 /dev/sdb

brw-r----- 1 root disk 8, 32 Jan 2 22:40 /dev/sdc

brw-r----- 1 root disk 8, 48 Jan 2 22:40 /dev/sdd

brw-r----- 1 root disk 8, 64 Jan 2 22:40 /dev/sde

brw-r----- 1 root disk 8, 80 Jan 2 22:40 /dev/sdf

brw-r----- 1 root disk 8, 96 Jan 2 22:40 /dev/sdg

brw-r----- 1 root disk 8, 112 Jan 2 22:40 /dev/sdh

brw-r----- 1 root disk 8, 128 Jan 2 22:40 /dev/sdi

brw-r----- 1 root disk 8, 144 Jan 2 22:40 /dev/sdj

 

[root@oradb28 ~] # ls -lh /dev/sd*

brw-r----- 1 root disk 8, 0 Jan 2 22:41 /dev/sda

brw-r----- 1 root disk 8, 16 Jan 2 22:41 /dev/sdb

brw-r----- 1 root disk 8, 32 Jan 2 22:41 /dev/sdc

brw-r----- 1 root disk 8, 48 Jan 2 22:41 /dev/sdd

brw-r----- 1 root disk 8, 64 Jan 2 22:41 /dev/sde

brw-r----- 1 root disk 8, 80 Jan 2 22:41 /dev/sdf

brw-r----- 1 root disk 8, 96 Jan 2 22:41 /dev/sdg

brw-r----- 1 root disk 8, 112 Jan 2 22:41 /dev/sdh

brw-r----- 1 root disk 8, 128 Jan 2 22:41 /dev/sdi

brw-r----- 1 root disk 8, 144 Jan 2 22:41 /dev/sdj

其中sda,sdb,sdc,sdd,sde是100M大小的LUN,我们分别将这5个LUN各分成一个区(我实验中发现如果不分区直接绑成裸设备,在安装clusterware后执行root.sh时会报错:[Failed to upgrade Oracle Cluster Registry configuration],分区后绑定分区成裸设备,发现可以正常执行通过)

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

[root@oradb27 ~] # ls -lh /dev/sd*

brw-r----- 1 root disk 8, 0 Jan 3 09:36 /dev/sda

brw-r----- 1 root disk 8, 1 Jan 3 09:36 /dev/sda1

brw-r----- 1 root disk 8, 16 Jan 3 09:36 /dev/sdb

brw-r----- 1 root disk 8, 17 Jan 3 09:36 /dev/sdb1

brw-r----- 1 root disk 8, 32 Jan 3 09:36 /dev/sdc

brw-r----- 1 root disk 8, 33 Jan 3 09:36 /dev/sdc1

brw-r----- 1 root disk 8, 48 Jan 3 09:36 /dev/sdd

brw-r----- 1 root disk 8, 49 Jan 3 09:36 /dev/sdd1

brw-r----- 1 root disk 8, 64 Jan 3 09:36 /dev/sde

brw-r----- 1 root disk 8, 65 Jan 3 09:36 /dev/sde1

 

[root@oradb28 crshome_1] # ls -lh /dev/sd*

brw-r----- 1 root disk 8, 0 Jan 3 09:36 /dev/sda

brw-r----- 1 root disk 8, 1 Jan 3 09:36 /dev/sda1

brw-r----- 1 root disk 8, 16 Jan 3 09:36 /dev/sdb

brw-r----- 1 root disk 8, 17 Jan 3 09:36 /dev/sdb1

brw-r----- 1 root disk 8, 32 Jan 3 09:36 /dev/sdc

brw-r----- 1 root disk 8, 33 Jan 3 09:36 /dev/sdc1

brw-r----- 1 root disk 8, 48 Jan 3 09:36 /dev/sdd

brw-r----- 1 root disk 8, 49 Jan 3 09:36 /dev/sdd1

brw-r----- 1 root disk 8, 64 Jan 3 09:36 /dev/sde

brw-r----- 1 root disk 8, 65 Jan 3 09:36 /dev/sde1

1)使用udev 绑定raw devices ,供ocr和voting disk使用

编辑配置文件并追加以下内容:

?

1

2

3

4

5

6

7

# vi /etc/udev/rules.d/60-raw.rules

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

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

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

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

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

ACTION== "add" , KERNEL== "raw*" , OWNER== "oracle" , GROUP== "oinstall" , MODE== "0660"

启动start_udev:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

[root@oradb27 rules.d] # start_udev

Starting udev:            [ OK ]

[root@oradb27 rules.d] # ls -l /dev/raw*

crw-rw---- 1 oracle oinstall 162, 0 Jan 2 22:37 /dev/rawctl

 

/dev/raw :

total 0

crw-rw---- 1 oracle oinstall 162, 1 Jan 2 23:11 raw1

crw-rw---- 1 oracle oinstall 162, 2 Jan 2 23:11 raw2

crw-rw---- 1 oracle oinstall 162, 3 Jan 2 23:11 raw3

crw-rw---- 1 oracle oinstall 162, 4 Jan 2 23:11 raw4

crw-rw---- 1 oracle oinstall 162, 5 Jan 2 23:11 raw5

[root@oradb27 rules.d] #

配置文件60-raw.rules传到节点2:

?

1

[root@oradb27 rules.d] # scp /etc/udev/rules.d/60-raw.rules oradb28:/etc/udev/rules.d/

在节点2启动start_udev。

注意:如果安装中发现raw曾被使用过,可能需要dd清除头部信息;

?

1

2

3

4

5

dd if = /dev/zero of= /dev/raw/raw1 bs=1048576 count=10

dd if = /dev/zero of= /dev/raw/raw2 bs=1048576 count=10

dd if = /dev/zero of= /dev/raw/raw3 bs=1048576 count=10

dd if = /dev/zero of= /dev/raw/raw4 bs=1048576 count=10

dd if = /dev/zero of= /dev/raw/raw5 bs=1048576 count=10

2)使用udev 绑定asm devices,供data磁盘组和fra磁盘组使用

?

1

2

3

4

for i in f g h i j;

do

echo "KERNEL==\"sd*\", BUS==\"scsi\", PROGRAM==\"/sbin/scsi_id -g -u -s %p\", RESULT==\"`scsi_id -g -u -s /block/sd$i`\", NAME=\"asm-disk$i\", OWNER=\"oracle\", GROUP=\"oinstall\", MODE=\"0660\""

done

操作过程如下:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

[root@oradb27 rules.d] # for i in f g h i j;

> do

> echo "KERNEL==\"sd*\", BUS==\"scsi\", PROGRAM==\"/sbin/scsi_id -g -u -s %p\", RESULT==\"`scsi_id -g -u -s /block/sd$i`\", NAME=\"asm-disk$i\", OWNER=\"oracle\", GROUP=\"oinstall\", MODE=\"0660\""

> done

KERNEL== "sd*" , BUS== "scsi" , PROGRAM== "/sbin/scsi_id -g -u -s %p" , RESULT== "14f504e46494c455279366c36366a2d5a4243752d58394a33" , NAME= "asm-diskf" , OWNER= "oracle" , GROUP= "oinstall" , MODE= "0660"

KERNEL== "sd*" , BUS== "scsi" , PROGRAM== "/sbin/scsi_id -g -u -s %p" , RESULT== "14f504e46494c45525453586652542d67786f682d594c4a66" , NAME= "asm-diskg" , OWNER= "oracle" , GROUP= "oinstall" , MODE= "0660"

KERNEL== "sd*" , BUS== "scsi" , PROGRAM== "/sbin/scsi_id -g -u -s %p" , RESULT== "14f504e46494c455232586c3151572d62504e412d3343547a" , NAME= "asm-diskh" , OWNER= "oracle" , GROUP= "oinstall" , MODE= "0660"

KERNEL== "sd*" , BUS== "scsi" , PROGRAM== "/sbin/scsi_id -g -u -s %p" , RESULT== "14f504e46494c45527061334151682d4666656d2d5a6a4c67" , NAME= "asm-diski" , OWNER= "oracle" , GROUP= "oinstall" , MODE= "0660"

KERNEL== "sd*" , BUS== "scsi" , PROGRAM== "/sbin/scsi_id -g -u -s %p" , RESULT== "14f504e46494c4552495649757a352d675251532d47744353" , NAME= "asm-diskj" , OWNER= "oracle" , GROUP= "oinstall" , MODE= "0660"

[root@oradb27 rules.d] #

 

vi

[root@oradb27 rules.d] # vi 99-oracle-asmdevices.rules

 

[root@oradb27 rules.d] # start_udev

Starting udev:            [ OK ]

[root@oradb27 rules.d] # ls -lh /dev/asm*

brw-rw---- 1 oracle oinstall 8, 80 Jan 2 23:18 /dev/asm-diskf

brw-rw---- 1 oracle oinstall 8, 96 Jan 2 23:18 /dev/asm-diskg

brw-rw---- 1 oracle oinstall 8, 112 Jan 2 23:18 /dev/asm-diskh

brw-rw---- 1 oracle oinstall 8, 128 Jan 2 23:18 /dev/asm-diski

brw-rw---- 1 oracle oinstall 8, 144 Jan 2 23:18 /dev/asm-diskj

 

#拷贝配置文件99-oracle-asmdevices.rules到节点2,启动start_udev

[root@oradb27 rules.d] # scp 99-oracle-asmdevices.rules oradb28:/etc/udev/rules.d/99-oracle-asmdevices.rules

 

[root@oradb28 ~] # start_udev

Starting udev:            [ OK ]

[root@oradb28 ~] # ls -l /dev/asm*

brw-rw---- 1 oracle oinstall 8, 80 Jan 2 23:20 /dev/asm-diskf

brw-rw---- 1 oracle oinstall 8, 96 Jan 2 23:20 /dev/asm-diskg

brw-rw---- 1 oracle oinstall 8, 112 Jan 2 23:20 /dev/asm-diskh

brw-rw---- 1 oracle oinstall 8, 128 Jan 2 23:20 /dev/asm-diski

brw-rw---- 1 oracle oinstall 8, 144 Jan 2 23:20 /dev/asm-diskj

2.3 配置/etc/hosts

按照规划配置节点1的/etc/hosts内容

?

1

2

3

4

5

6

7

8

9

#public ip

192.168.1.27 oradb27

192.168.1.28 oradb28

#private ip

10.10.10.27 oradb27-priv

10.10.10.28 oradb28-priv

#virtual ip

192.168.1.57 oradb27-vip

192.168.1.58 oradb28-vip

然后scp拷贝/etc/hosts配置文件到节点2:

?

1

scp /etc/hosts oradb28: /etc/

2.4 配置Oracle用户等价性

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

#所有节点执行:

ssh -keygen -q -t rsa -N "" -f ~/. ssh /id_rsa

 

#节点1执行:

ssh 192.168.1.27 cat ~/. ssh /id_rsa .pub >> ~/. ssh /authorized_keys

ssh 192.168.1.28 cat ~/. ssh /id_rsa .pub >> ~/. ssh /authorized_keys

 

chmod 600 ~/. ssh /authorized_keys

 

scp ~/. ssh /authorized_keys 192.168.1.28:~/. ssh /

 

#所有节点执行验证ssh等价性:

ssh 192.168.1.27 date ; ssh 192.168.1.28 date ;

ssh oradb27 date ; ssh oradb28 date ;

ssh oradb27-priv date ; ssh oradb28-priv date ;

对配置用户ssh互信步骤如有疑问可以参考:记录一则Linux SSH的互信配置过程

2.5 创建软件目录

?

1

2

3

mkdir -p /u01/app/oracle/product/10 .2.0.5 /dbhome_1

mkdir -p /u01/app/oracle/product/10 .2.0.5 /crshome_1

chown -R oracle:oinstall /u01/app

2.6 配置用户环境变量

节点1: vi /home/oracle/.bash_profile

?

1

2

3

4

5

6

7

8

export ORACLE_BASE= /u01/app/oracle

export ORACLE_HOME= /u01/app/oracle/product/10 .2.0.5 /dbhome_1

export ORA_CRS_HOME= /u01/app/oracle/product/10 .2.0.5 /crshome_1

export ORACLE_SID=jyrac1

export NLS_LANG=AMERICAN_AMERICA.US7ASCII

export PATH=$ORACLE_HOME /bin :$ORA_CRS_HOME /bin :$PATH

export LD_LIBRARY_PATH=$ORACLE_HOME /lib

alias sql= "sqlplus \"/as sysdba\""

节点2:vi /home/oracle/.bash_profile

?

1

2

3

4

5

6

7

8

export ORACLE_BASE= /u01/app/oracle

export ORACLE_HOME= /u01/app/oracle/product/10 .2.0.5 /dbhome_1

export ORA_CRS_HOME= /u01/app/oracle/product/10 .2.0.5 /crshome_1

export ORACLE_SID=jyrac2

export NLS_LANG=AMERICAN_AMERICA.US7ASCII

export PATH=$ORACLE_HOME /bin :$ORA_CRS_HOME /bin :$PATH

export LD_LIBRARY_PATH=$ORACLE_HOME /lib

alias sql= "sqlplus \"/as sysdba\""

2.7 关闭各节点主机防火墙和SELinux

各节点检查、关闭防火墙和SE Linux:

?

1

2

3

4

5

6

7

8

service iptables status

service iptables stop

chkconfig iptables off

 

getenforce

setenforce 0

vi /etc/selinux/config

  修改:Enforcing -> disabled

2.8 各节点系统时间校对

?

1

2

3

4

5

6

service ntpd stop

date

#如果时间有问题,就按下面的语法进行设定

date 072310472015 // 设定日期为2015-07-23 10:47:00

hwclock -w

hwclock -r

至此,主机配置的相关准备工作已经完成。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。

原文链接:http://www.cnblogs.com/jyzhao/p/6233686.html

查看更多关于详解Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part1:准备工作的详细内容...

  阅读:23次