博客首页 注册 建议与交流 排行榜 加入友情链接
推荐 投诉 搜索: 帮助

AYing的业余生活

>> 当你感到悲哀痛苦时,最好是去学些什么东西。学习会使你永远立于不败之地。失败是什么?没有什么,只是更走近成功一步;成功是什么?就是走过了所有通向失败的路,只剩下一条路,那就是成功的路。让我们将对失败的忧虑,换为对成功的思考和计划吧!
ayingdicp.cublog.cn


linux下oracle10g集群配置
>> 十分感谢dingning239大哥!

从上到下顺序安装

先检查linux内核版本

#uname –r

2.6.9-55.ELsmp

 

安装linux自带的两个重要包:rsh-server 用来实现双机互联通信

telnet-server

libaio-0.3.105-2.i386.rpm

openmotif21-2.1.30-11.RHEL4.6.i386.rpm

 

 

根据版本不同到oracle网站下载相应的安装包,主要包括以下几个

Asm内核包:oracle oracleasm-2.6.9-42.0.0.0.1EL  up内核驱动程序

 

Ocfs包:    ocfs-2-2.6.9-42.0.0.0.1EL  2.6.9-42.0.0.0.1EL)为kernel版本

           ocfs2-tools

  ocfs2console

Oracleasmlib包:

oracleasm-support-2.0.3-2
oracleasmlib-2.0.2-1.i386.rpm

 

添加分区,根据不同的挂载点,添加不同的分区。其中主要包括三个分区:

1.  根分区,用于安装操作系统linux

2.  Swap分区,用于I/O与内存交换

3.  根据安装的oracle的要求,分配1个或者多个分区来存放程序文件和数据库文件。其实也就是把实例和数据库分开。

 

每台机器应该有两块网卡,一块连接局域网通信,一块主要用在集群系统之间通信。

 

同步每台机器的时间,以保证数据可以正确进行处理。

编辑/boot/grub/grub.conf修改为以下内容

#boot=/dev/sda
default=0
timeout=5
splashimage=(hd0,0)/boot/grub/splash.xpm.gz
hiddenmenu
title Enterprise (2.6.9-42.0.0.0.1.ELsmp)
        root (hd0,0)
        kernel /boot/vmlinuz-2.6.9-42.0.0.0.1.ELsmp ro 
root=LABEL=/ rhgb quiet clock=pit nosmp noapic nolapic
        initrd /boot/initrd-2.6.9-42.0.0.0.1.ELsmp.img
title Enterprise-up (2.6.9-42.0.0.0.1.EL)
        root (hd0,0)
        kernel /boot/vmlinuz-2.6.9-42.0.0.0.1.EL ro root=LABEL=/ 
rhgb quiet clock=pit nosmp noapic nolapic
        initrd /boot/initrd-2.6.9-42.0.0.0.1.EL.img

创建 oracle 用户,创建用户以及用户组oinstall,dba

# groupadd oinstall
# groupadd dba
# mkdir -p /export/home/oracle /ocfs
# useradd -d /export/home/oracle -g oinstall -G dba -s /bin/ksh oracle
# chown oracle:dba /export/home/oracle /u01
# passwd oracle
New Password:
Re-enter new Password:
passwd: password successfully changed for oracle

 

创建 oracle 用户环境文件

/export/home/oracle/.profile

export PS1="`/bin/hostname -s`-> "
export EDITOR=vi
export ORACLE_SID=devdb1
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
export ORA_CRS_HOME=$ORACLE_BASE/product/10.2.0/crs_1
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export PATH=$ORACLE_HOME/bin:$ORA_CRS_HOME/bin:/bin:
/usr/bin:/usr/sbin:/usr/local/bin:/usr/X11R6/bin
umask 022

 

创建文件系统目录结构

rac1-> mkdir p $ORACLE_BASE/admin 
rac1-> mkdir p $ORACLE_HOME
rac1-> mkdir p $ORA_CRS_HOME
rac1-> mkdir -p /u01/oradata/devdb

 

提高 Oracle 用户的 shell 限制

/etc/security/limits.conf

oracle soft nproc 2047

oracle hard nproc 16384

oracle soft nofile 1024

oracle hard nofile 65536

/etc/pam.d/login

session required /lib/security/pam_limits.so

/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

 

安装 Enterprise Linux 软件程序包

配置内核参数

# more  /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

 

#/sbin/sysctl –p

 

修改 /etc/hosts 文件

# more /etc/hosts
127.0.0.1               localhost
192.168.2.131           rac1.mycorpdomain.com        rac1
192.168.2.31            rac1-vip.mycorpdomain.com    rac1-vip
10.10.10.31             rac1-priv.mycorpdomain.com   rac1-priv
192.168.2.132           rac2.mycorpdomain.com        rac2
192.168.2.32            rac2-vip.mycorpdomain.com    rac2-vip
10.10.10.32             rac2-priv.mycorpdomain.com   rac2-priv

 

配置 hangcheck timer 内核模块

/etc/modprobe.conf
options hangcheck-timer hangcheck_tick=30 hangcheck_margin=180

要立即加载模块,执行modprobe -v hangcheck-timer

 

OCFS2 Oracle ASM 创建磁盘分区

Fdisk /dev/sdb

Fdisk /dev/sdc

Fdisk /dev/sdd

Fdisk /dev/sde

 

安装 oracleasmlib 程序包

ASM 磁盘映射原始设备

etc/sysconfig/rawdevices

/dev/raw/raw1 /dev/sdc1
/dev/raw/raw2 /dev/sdd1
/dev/raw/raw3 /dev/sde1
 

# /sbin/service rawdevices restart

# chown oracle:dba /dev/raw/raw[1-3]
# chmod 660 /dev/raw/raw[1-3]
# ls -lat /dev/raw/raw*

 

oracle 用户身份执行

rac1-> ln -sf /dev/raw/raw1 /u01/oradata/devdb/asmdisk1
rac1-> ln -sf /dev/raw/raw2 /u01/oradata/devdb/asmdisk2
rac1-> ln -sf /dev/raw/raw3 /u01/oradata/devdb/asmdisk3

 

 

 

修改 /etc/udev/permissions.d/50-udev.permissions

# raw devices
ram*:root:disk:0660
#raw/*:root:disk:0660
raw/*:oracle:dba:0660
 

====================================================

以上为配置一台服务器,按照所有的步骤配置其他机器

====================================================

 

 

 

使用 SSH 建立用户等效性,在安装过程中可以进行软件的复制,不提示输入口令,也就是直接认可所有节点,他们之间可以相互通信。所以必须在所有节点上按照以下步骤(绿色块)进行配置

rac1-> mkdir ~/.ssh

rac1-> chmod 700 ~/.ssh

rac1-> ssh-keygen -t rsa

rac1-> ssh-keygen -t dsa

 

最后在第一台要安装软件的机器上执行

rac1-> cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
rac1-> cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
rac1-> ssh rac2 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
rac1-> ssh rac2 cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
rac1-> scp ~/.ssh/authorized_keys rac2:~/.ssh/authorized_keys

 

配置完成然后测试通信:

Ssh rac1 date

Ssh rac2 date

Ssh rac1-priv date

Ssh rac2-priv date

::::::::::::::::::::::::::

Ssh racn date

Ssh racn-priv date

 

配置 Oracle 自动存储管理 (ASM),需要在所有节点上配置

# /etc/init.d/oracleasm configure

Default user to own the driver interface []: oracle
Default group to own the driver interface []: dba
Start Oracle ASM library driver on boot (y/n) [n]: y
Fix permissions of Oracle ASM disks on boot (y/n) [y]: y

 

创建 ASM 磁盘,任意一个节点上来创建

# /etc/init.d/oracleasm createdisk VOL1 /dev/sdc1

# /etc/init.d/oracleasm createdisk VOL2 /dev/sdd1

# /etc/init.d/oracleasm createdisk VOL3 /dev/sde1

# /etc/init.d/oracleasm scandisks

# /etc/init.d/oracleasm listdisks

配置 Oracle 集群文件系统 (OCFS2) 它允许所有节点在集群文件系统上同时共享文件

创建 OCFS2 配置文件

# ocfs2console

生成的配置文件如下:
# more /etc/ocfs2/cluster.conf
 rac1  OCFS2 控制台上选择 Cluster  Propagate Configuration 以将配置文件传播到 rac2

配置 O2CB 驱动程序。O2CB 是一组集群服务,负责管理节点与集群文件系统之间的通信

# /etc/init.d/o2cb unload
# /etc/init.d/o2cb configure
Load O2CB driver on boot (y/n) [y]: y
Cluster to start on boot (Enter "none" to clear) [ocfs2]:
Specify heartbeat dead threshold (>=7) [7]: 61
 
格式化文件系统,先验证是否挂载了文件系统
# /etc/init.d/o2cb status

# ocfs2console

1.       OCFS2 控制台:选择 TasksFormat

2.       格式:

o        可用设备:/dev/sdb1

o        卷标:oracle

o        集群大小:Auto

o        节点插槽数量: 4

o        块大小:Auto

3.       OCFS2 控制台:按 CTRL-Q 退出

手动挂载文件系统
# mount -t ocfs2 -o datavolume,nointr /dev/sdb1 /ocfs

如果要在引导时挂载需要添加下面内容到这里/etc/fstab

/dev/sdb1 /ocfs ocfs2 _netdev,datavolume,nointr 0 0

创建 Oracle 集群件目录

# mkdir /ocfs/clusterware
# chown -R oracle:dba /ocfs 

到此为止所有机器上面的ocfs2文件系统已经弄好,他们之间可以共享读取写入同样的文件,例如在/ocfs下面建立两个文件夹,所有的节点都可以看到了

 
 

 

 

安装 Oracle 集群件 ,按部就班来即可,最后需要在所有节点执行那两行脚本文件。

在除了第一台机器以外的其他节点上,如果出现提示The given interface(s), "eth0" is not public.Public interfaces should be used to configure virtual IPs那么运行下面命令

# /u01/app/oracle/product/10.2.0/crs_1/bin/vipca

在这里需要注意的是,在执行这个之前,先检查/etc/hosts中是不是包含了这一行内容:

127.0.0.1 localhost

集群件安装后检查

rac1-> /u01/app/oracle/product/10.2.0/crs_1/bin/cluvfy stage 
-post crsinst -n rac1,rac2
 

 

 

安装 Oracle 数据库 10g 2

需要注意以下几点

创建两个磁盘组 — DG1 RECOVERYDEST

DG1 normal冗余

RECOVERYDEST external冗余

在这里需要注意的是,如果在配置asm的时候出现mount不上所有的节点,

需要检查文件/dev/raw/* 所有文件的所属用户,组,还需要检查权限是否是660

需要检查文件/etc/hosts中是不是缺少这行 127.0.0.1 localhost

需要检查实例是否启动,监听进程是否也启动了 crs_stat –t

 

最后执行配置脚本:以 root 用户身份执行下面的脚本。

rac1 上执行 /u01/app/oracle/product/10.2.0/db_1/root.sh

rac2 上执行 /u01/app/oracle/product/10.2.0/db_1/root.sh

:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

racn 上执行 /u01/app/oracle/product/10.2.0/db_1/root.sh

 

至此完成了oracle10Glinux系统上的集群配置

启动服务:

Srvctl start nodeapps –n rac1

Srvctl start nodeapps –n racn

Srvctl start asm –n rac1

Srvctl start asm –n racn

Srvctl start database –d [sid]

Srvctl start service –d [sid]

关闭服务:

Srvctl stop service –d [sid]

Srvctl stop database –d [sid]

Srvctl stop asm –n rac1

Srvctl stop asm –n racn

Srvctl stop nodeapps –n rac1

Srvctl stop nodeapps –n racn

 

探索 RAC 数据库环境

 

 原文地址 http://linux.chinaunix.net/bbs/viewthread.php?tid=918338&extra=page%3D1
发表于: 2008-02-18 ,修改于: 2008-02-18 21:31,已浏览309次,有评论0条 推荐 投诉


网友评论

发表评论