CentOS5.2+Oracle RAC10gR2+RAW+ASM+VMServer

来源:互联网 发布:淘宝客点击数要钱吗 编辑:程序博客网 时间:2024/06/11 02:40

CentOS5.2+Oracle RAC10gR2+RAW+ASM+VMServer

.前期虚拟机共享磁盘设置

该环境在此选择lsilogic

创建共享磁盘

node1,node2 vmx虚拟机配置文件中添加

用于虚拟机打开磁盘用

scsi1.present = "TRUE"

scsi1:1.present = "TRUE"

scsi1:1.fileName = "ocr.vmdk"

scsi1:1.mode = "independent-persistent"

scsi1:2.present = "TRUE"

scsi1:2.fileName = "voting.vmdk"

scsi1:2.mode = "independent-persistent"

scsi1:3.present = "TRUE"

scsi1:3.fileName = "date.vmdk"

scsi1:3.mode = "independent-persistent"

scsi1.virtualDev = "lsilogic"

disk.locking = "false" 

diskLib.dataCacheMaxSize = "0" 

diskLib.dataCacheMaxReadAheadSize = "0" 

diskLib.DataCacheMinReadAheadSize = "0" 

diskLib.dataCachePageSize = "4096" 

diskLib.maxUnsyncedWrites = "0"

scsi1:1.deviceType = "disk"

scsi1:2.deviceType = "disk"

scsi1:3.deviceType = "disk"

将共享磁盘挂载与node1node2

二.安装centos系统及所需配置

关掉不需要的服务(测试机)

# chkconfig cups off
# chkconfig sendmail off
# chkconfig isdn off
# chkconfig smartd off
# chkconfig iptables off 

Linux补丁

rpm -Uvh setarch-2*

rpm -Uvh make-3*

rpm -Uvh glibc-2*

rpm -Uvh libaio-0*

rpm -Uvh compat-libstdc++-33-3*

*rpm -Uvh compat-gcc-34-3*

*rpm -Uvh compat-gcc-34-c++*

*rpm -Uvh gcc-4*

rpm -Uvh libXp-1*

rpm -Uvh openmotif-2*

rpm -Uvh compat-db*

修改机器名,固定IPhostnamedns,gateway,

修改机器名,ip,网关

#vi /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0

ONBOOT=yes

BOOTPROTO=static

IPADDR=192.168.19.129

NETMASK=255.255.255.0

GATEWAY=192.168.19.2

Eth1 配置同理

配置如下:

/etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0

BOOTPROTO=none

HWADDR=00:0C:29:E0:C2:DE

ONBOOT=yes

DHCP_HOSTNAME=node1

IPADDR=192.168.19.129

NETMASK=255.255.255.0

GATEWAY=192.168.19.2

TYPE=Ethernet

USERCTL=no

IPV6INIT=no

PEERDNS=yes

/etc/sysconfig/network-scripts/ifcfg-eth1

DEVICE=eth1

ONBOOT=yes

BOOTPROTO=none

HWADDR=00:0c:29:e0:c2:e8

TYPE=Ethernet

NETMASK=255.255.255.0

IPADDR=192.168.86.135

GATEWAY=192.168.86.2

USERCTL=no

IPV6INIT=no

PEERDNS=yes

修改主机名

#vi /etc/sysconfig/network

NETWORKING=yes

HOSTNAME=node1

修改后重启生效

/etc/rc.d/init.d/network restart 

编辑/etc/hosts

# (必须要这样)

127.0.0.1 localhost

#public eth0eth0 必须指定public

192.168.19.129  node1

192.168.19.130  node2

#pri eth1

192.168.86.135  node1-priv

192.168.86.136  node2-priv

#vip

10.10.10.140  node1-vip

10.10.10.141  node2-vip

两个节点要一样,将公网放前,eth0

编辑添加/etc/sysctl.conf

kernel.shmall = 2097152

kernel.shmmax = 536870912

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/security/limits.conf

*                soft    nproc          2047

*                hard    nproc          16384

*                soft    nofile          1024

*                hard    nofile          65536

编辑添加/etc/pam.d/login

session    required     /lib/security/pam_limits.so

编辑/etc/selinux/config

SELINUX=disabled

安装hangcheck-timer.ko模块

Hangcheck-timer 是Linux 提供的一个内核级的IO-Fencing 模块, 这个模块会监控Linux 内核运行状态, 如果长时间挂起, 这个模块会自动重启系统。 这个模块在Linux 内核空间运行, 不会受系统负载的影响。 这个模块会使用CPU的Time Stamp Counter(TSC) 寄存器,这个寄存器的值会在每个时钟周期自动增加, 因此使用的是硬件时间,所以精度更高。

配置这个模块需要2个参数: hangcheck_tick 和 hangcheck_margin。 

hangcheck_tick用于定义多长时间检查一次,缺省值是30秒。 有可能内核本身很忙, 导致这个检查被推迟, 该模块还允许定义一个延迟上限,就是hangcheck_margin, 它的缺省值是180秒。

Hangcheck-timer 模块会根据hangcheck_tick 的设置,定时检查内核。只要2次检查的时间间隔小于 hangcheck_tick + hangchec_margin, 都会认为内核运行正常,否则就意味着运行异常,这个模块会自动重启系统。

CRS本身还有一个MissCount 参数,可以通过crsctl get css miscount 命令查看。

    当RAC结点间的心跳信息丢失时, Clusterware 必须确保在进行重构时,故障结点确实是Dead 状态,否则结点仅是临时负载过高导致心跳丢失,然后其他结点开始重构,但是结点没有重启,这样会损坏数据库。 因此MissCount 必须大于 hangcheck_tick+hangcheck_margin的和

hangcheck-timer 最初只由 Oracle 提供;不过,从内核版本 2.4.9-e.12 和更高版本开始,此模块目前包含在 Red Hat Linux 

# find /lib/modules -name "hangcheck-timer.ko"

设置并加载

配置文件

#echo "options hangcheck-timer hangcheck_tick=30 hangcheck_margin=180" >> /etc/modprobe.conf

手动加载hangcheck模块进行测试

oracle 负责在需要时加载hangcheck-timer模块,不必在所有启动文件(/etc/rc.local)中执行每次启动时设置hangcheck-timer内核的加载

设置系统启动自动加载模块

#echo "/sbin/modprobe hangcheck-timer" >> /etc/rc.local

(注:你不必在每次重新启动后使用 modprobe 或 insmod 手动加载 hangcheck-timer 内核模块。Oracle 将在需要时自动加载 hangcheck-timer 模块。) 

测试hangcheck-timer内核模块是否使用/etc/modprobe.conf 文件中定义的正确擦数使用modprobe命令

尽管能通过向其传递相应的参数(如 insmod hangcheck-timer hangcheck_tick=30 hangcheck_margin=180

确认模块加载成功

验证使用modprobe.conf 文件中的参数

modprobe hangcheck-timer

grep Hangcheck /var/log/messages | tail -2

即:

#echo "options hangcheck-timer hangcheck_tick=30 hangcheck_margin=180" >> /etc/modprobe.conf

#echo "/sbin/modprobe hangcheck-timer" >> /etc/rc.local

modprobe hangcheck-timer

grep Hangcheck /var/log/messages | tail -2

用户组账号

/usr/sbin/groupadd -g 501 oinstall
/usr/sbin/groupadd -g 502 dba
/usr/sbin/useradd -u 501 -d /home/oracle -g "oinstall" -G "dba" -m -s /bin/bash oracle
id oracle 

账号密码

Passwd oracle

注意:uid..节点需要相同

挂载目录

mkdir -p /u01/app/oracle/product/10.2.0/db

mkdir -p /u01/app/oracle/product/10.2.0/crs

chown -R oracle:oinstall /u01

chmod -R 755 /u01

配置用户环境(rac集群中红色字体需要修改不同的SID

#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

    umask 022

fi

#source /etc/profile

#vi /home/oracle/.bash_profile添加下列语句:

#user specific environment and startup programs

export ORACLE_BASE=/u01/app/oracle

export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db

export ORA_CRS_HOME=$ORACLE_BASE/product/10.2.0/crs

export ORACLE_PATH=$ORACLE_BASE/common/oracle/sql:.:ORACLE_HOME/rdbms/admin

#each RAC node must have a unique ORACLE_SID.(ie. Ocr1,ocr2,..)

export ORACLE_SID=node1

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

export PATH=${PATH}:/usr/bin:/bin:/usr/X11R6:/usr/local/bin

export PATH=${PATH}:$ORACLE_BASE/common/oracle/bin

export ORACLE_TERM=xterm

export TNS_ADMIN=$ORACLE_HOME/network/admin

export ORA_NLS10=$ORACLE_HOME/nls/data

export LD_LIBRARY_PATH=$ORACLE_HOME/lib

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

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

export CLASSPATH=$ORACLE_HOME/JRE

export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib

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

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

export THREADS_FLAG=native

export TEMP=/tmp

export TMPDIR=/tmp

export LANG=en_US

##################################################
# Oracle Alias
##################################################
alias ls="ls -FA"
alias vi=vim
alias base='cd $ORACLE_BASE'
alias home='cd $ORACLE_HOME'
alias alert='tail -200f $ORACLE_BASE/admin/RACDB/bdump/alert_$ORACLE_SID.log'
alias tnsnames='vi $ORACLE_HOME/network/admin/tnsnames.ora'
alias listener='vi $ORACLE_HOME/network/admin/listener.ora' 

设计共享磁盘

磁盘

容量

用途

分区

Sdb

100M

OCR

Sdb1

Sdc

100M

VOTE 

Sdc1

sdd

1G

暂无

Sdd1

sde

3G

DATE

Sde1

Sde

3G

RECO

Sde2

 

配置raw设备+ASM(Linux下,asm的对象是分区,不是disk)

Redhat5之前系统通过etc/sysconfig/rawdevices ()

Redhat5之后取消,通过udev规则进行配置

node1

进行格式化

Sdb 100M ocr  /sdb1

Sdc 100M voting /sdc1

在格式化的时候,在另一个节点要重启系统,如果另一个节点无法识别,在clusterware安装节点2执行root.sh会报错误

vi /etc/udev/rules.d/60-raw.rules 这个文件。

格式化磁盘fdisk /sdn

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

重启服务

Start_udev

查看

Ls -lrt /dev/raw

Raw -aq

[root@localhost dev]# raw -aq

/dev/raw/raw1:  bound to major 8, minor 17

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

同理对sdc1进行同样操作

最终配置为:

ACTION=="add", KERNEL=="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=="sdc1",RUN+="/bin/raw /dev/raw/raw2 %N"

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

配置为raw设备,以字符方式访问设备,读写设备不需要缓冲区

设置raw设备用户和权限

oracle oinstall 640

ACTION=="add", KERNEL=="raw[1-2]", OWNER="oracle", GROUP="oinstall", MODE="660"

重启服务及查询

Start_udev

ls -lrt /dev/raw

Raw -aq

在格式化的时候,重启另一个节点node2

ASM 设置

Sdd 1G

Sde1 3G

Sde2 3G

Asm所需包

oracleasm-2.6.18-92.el5-2.0.5-1.el5.i686.rpm

oracleasm-2.6.18-92.el5xen-2.0.5-1.el5.i686.rpm

oracleasmlib-2.0.4-1.el5.i386.rpm

oracleasm-support-2.1.3-1.el5.i386.rpm

Rpm -ivh *rpm --nodeps --force

在两个节点上正常安装

运行/etc/init.d/oracleasm configure

Answeroracledbayy

node1

#oracleasm createdisk VOL1 /dev/sde1 

#oracleasm createdisk VOL2 /dev/sde2

#oracleasm scandisks

#oracleasm listdisks

node2进行识别

#oracleasm scandisks

#oracleasm listdisks

/****节点一结束,通过虚拟机,create节点2*****/

修改hostname
node1改成node2
[root@node1 ~]# hostname node2
[root@node1 ~]# vi /etc/sysconfig/network
这样重启之后机器名称就会变成node2了。

[]#/etc/rc.d/init.d/network restart 


修改机器名,固定IPhostnamedns,gateway,

/etc/sysconfig/network-script/ifcfg-eth0

/etc/sysconfig/network-script/ifcfg-eth1

修改机器名,ip,网关

#vi /etc/sysconfig/network-script/ifcfg-eth0

DEVICE=eth0

ONBOOT=yes

BOOTPROTO=static

IPADDR=192.168.19.130

NETMASK=255.255.255.0

GATEWAY=192.168.19.2

/////////////////////////////////////////以上node1,node2都要做////////////////////////////////////////////////////

为用户等效配置配置ssh

Node1

Oracle用户登录

cd home

mkdir .ssh

Chmod 755 .ssh

/usr/bin/ssh-keygen -t rsa     //.ssh目录下生成id_rsa.pub

/usr/bin/ssh-keygen -t dsa    //.ssh 目录下生成id_dsa.pub
                           //生成authorized_keys文件

Cat id_rsa.pub>> authorized_keys

Cat id_dsa.pub>> authorized_keys

node2

cd home

mkdir .ssh

Chmod 755 .ssh

/usr/bin/ssh-keygen -t rsa     //.ssh目录下生成id_rsa.pub

/usr/bin/ssh-keygen -t dsa    //.ssh 目录下生成id_dsa.pub
                           //生成authorized_keys文件

node1

[oracle@node1 ~]$ ssh  node2 cat ~/.ssh/id_rsa.pub >>~/.ssh/authorized_keys

[oracle@node1~]$ ssh  node2 cat ~/.ssh/id_dsa.pub >>~/.ssh/authorized_keys

Chmod 644 ~/.ssh/authorized_keys

scp ~/.ssh/authorized_keys node2:~/.ssh/
node2

chmod 644 ~/.ssh/authorized_keys 

测试连通性

Ssh node1 date

Ssh node2 date

Ssh node1-priv date

Ssh node2-priv date

/********************************配置时间同步*******************************/

节点node1ntp服务器,节点node2ntp客户端。

   Node1:vi /etc/ntp.conf

restrict 192.168.19.0 mask 255.255.255.0 nomodify

restrict 0.0.0.0 mask 0.0.0.0 nomodify notrap noquery notrust 

server 127.127.1.0  

server 192.168.19.129 prefer 

fudge 127.127.1.0 stratum 10

driftfile /var/lib/ntp/drift

broadcastdelay 0.008

authenticate no

keys /etc/ntp/keys       

运行:

         chkconfig ntpd on

         /etc/init.d/ntpd restart

     Node2:vi /etc/ntp.conf

restrict 0.0.0.0 mask 0.0.0.0 nomodify

server 192.168.19.129 prefer

fudge 127.127.1.0 stratum 10

driftfile /var/lib/ntp/drift

broadcastdelay 0.008

authenticate no

keys /etc/ntp/keys          运行:

              ntpdate node1

注意: ntp服务器启动后,需要5分钟左右才能提供服务。

Note2定时执行同步时间计划:

每一分钟进行同步一次

crontab –e

*/1 * * * * /usr/sbin/ntpdate 10.10.10.138

解决虚拟机时间过快的问题:

1)vi /boot/grub/grub.conf

添加kernel /vmlinuz-2.6.18-128.el5 ro root=/dev/VolGroup00/LogVol00 rhgb quiet clock=pit nosmp noapic nolapic

2)gui运行:

#/usr/lib/vmware-tools/bin32/vmware-toolbox

补充

Linux下修改时间

Date

Clock -w 立即写入cmos

时间同步方式二

运行下来脚本

#! /bin/bash

while true

do

/usr/bin/rdate -s 192.168.19.129    

sleep 3

done 

三.安装clusterware软件

上次crs软件到node1中,解压

1>检测安装环境是否满足要求

./runcluvfy.sh stage -pre crsinst -n node1,node2 -verbose 

内存,

gcc3.2

compat-gcc-7.3-2.96.128 down

compat-gcc-c++-7.3-2.96.128down

compat-libstdc++-7.3-2.96.128 down 

compat-libstdc++-devel-7.3-2.96.128

rpm -Uvh gcc-4.1.2-42.el5.i386.rpm --nodeps --force

rpm -Uvh compat-gcc-34-* --nodeps  --force

rpm -Uvh compat-libstdc++* --nodeps  --force

找到包rpm 加上--nodeps --force 参数强制安装

rpm -Uvh <name> --nodeps --force

$su – oracle

$cd clusterware

$./runInstaller –ignoreSysPrereqs

注意:指定 eth0 的类型时public 

2>指定octvotingdisk

存储本身redundancy,或Oralce提供的normal Redundancy  

Normal redundancy

Oct,提供一个冗余备份

Voting 提供两个备份

3>在每个节点上运行第一个脚本

sh orainstRoot.sh

4>每个节点上运行

Root.sh

在执行最后一个脚本的时候,自动调用vipca

在执行第二个脚本之前修改以下参数

A:#vi /u01/app/oracle/product/node2节点上:

10.2.0/crs/bin/vipca 添加红色内容

If [ "$arch" = "i686" -o "$arch" = "ia64" ]

       then

            LD_ASSUME_KERNEL=2.4.19

            export LD_ASSUME_KERNEL

       fi

       #End workaround

       unset LD_ASSUME_KERNEL

B: # vi /u01/app/oracle/product/10.2.0/crs/bin/srvctl    添加红色内容

#Remove this workaround when the bug 3937317 is fixed

LD_ASSUME_KERNEL=2.4.19

export LD_ASSUME_KERNEL

unset LD_ASSUME_KERNEL

注意:vipca命令也是用root用户来运行的,只需要在一个节点运行就可以

可能遇到的问题

问题1: vipca报错,是redhatbug

Running vipca(silent) for configuring nodeapps

/home/oracle/crs/oracle/product/10/crs/jdk/jre//bin/java: error while loading

shared libraries: libpthread.so.0: cannot open shared object file:

No such file or directory

 

解决方法:

Remember to re-edit these files on all nodes:

<CRS_HOME>/bin/vipca

<CRS_HOME>/bin/srvctl

<RDBMS_HOME>/bin/srvctl.

<ASM_HOME>/bin/srvctl

 

after applying the 10.2.0.2 or 10.2.0.3 patchsets, as these patchset will still include those settings unnecessary for OEL5 or RHEL5 or SLES10.  This issue was raised with development and is fixed in the 10.2.0.4 patchsets.

 

Note that we are explicitly unsetting LD_ASSUME_KERNEL and not merely commenting out its setting to handle a case where the user has it set in their environment (login shell).

 

$ vi vipca

... ...

Linux) LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:$ORACLE_HOME/srvm/lib:$LD_LIBRARY_PATH

       export LD_LIBRARY_PATH

        echo $LD_LIBRARY_PATH

        echo $CLASSPATH

       #Remove this workaround when the bug 3937317 is fixed

       arch=`uname -m`

       if [ "$arch" = "i686" -o "$arch" = "ia64" ]

       then

        # LD_ASSUME_KERNEL=2.4.19   

        # export LD_ASSUME_KERNEL 

        echo  -- 这里一定要加上,不然返回会报错

       fi

       #End workaround

 

问题2: 如果遇到这个错误:

# vipca

Error 0(Native: listNetInterfaces:[3])

[Error 0(Native: listNetInterfaces:[3])]

解决方法:

CRS_HOME下 运行 oifcfg 命令:

Node1

# ./oifcfg setif -global eth0/192.168.19.129:public

# ./oifcfg setif -global eth1/192.168.86.135:cluster_interconnect

# ./oifcfg getif

eth0  192.168.19.129  global  public

eth1  192.168.86.135  global  cluster_interconnect 

node2

/bin # ./oifcfg setif -global eth0/192.168.19.130:public

/bin # ./oifcfg setif -global eth1/192.168.1.201:cluster_interconnect

/bin # ./oifcfg getif

eth0  192.168.19.129  global  public

eth0  192.168.19.130  global  public

eth1  192.168.86.135  global  cluster_interconnect

eth1  192.168.86.136  global  cluster_interconnect

这时候没有必要在返回重新执行root.sh,需要手工执行vipca命令为两个

节点添加一些必要的进程,哪个节点,无所谓,在此选择node2

然后在手工运行vipca添加nodeapps resource

,以root图形用户登录node2,运行#./vipca

配置虚拟vip,创建

6个步骤

Create vip application resource on 2 nodes

Create gsd application resource on 2 nodes

Starting ons application resource on 2 nodes

Starting vip application....

...

 

问题3An unexpected exception has been detected in native code outside the VM.

Unexpected Signal : 11 occurred at PC=0xB7503E29

Function=__libc_free+0x49

Library=/lib/tls/libc.so.6

 

修改主机名不正确导致的。

RHEL

/etc/sysconfig/network 主机名,如果在/etc/hosts中解析不了。就报这个错误!

在执行第二个节点上执行root.sh, 

Expecting the CRS daemons to be up within 600 seconds.

Failure at final check of Oracle CRS stack.

解决办法

在虚拟机nodenode2的配置文件中加入

scsi1:1.shared = "true"

scsi1:2.shared = "true"

scsi1:3.shared = "true"

scsi1:4.shared = "true"

scsi1:5.shared = "true"

5>Clusterware 安装结束

确认安装

Node1node2

[oracle@node1 scripts]$  /u01/app/oracle/product/10.2.0/crs/bin/olsnodes -n

node1   1

node2   2

[oracle@node1 ~]$  ls -l /etc/init.d/init.*

-r-xr-xr-x 1 root root  1951 Oct 14 05:35 /etc/init.d/init.crs

-r-xr-xr-x 1 root root  4721 Oct 14 05:35 /etc/init.d/init.crsd

-r-xr-xr-x 1 root root 35401 Oct 14 05:35 /etc/init.d/init.cssd

-r-xr-xr-x 1 root root  3197 Oct 14 05:35 /etc/init.d/init.evmd

6>检查CRS安装启动情况,用root用户执行

[oracle@node1 scripts]$ crsctl check crs

CSS appears healthy

CRS appears healthy

EVM appears healthy

如果安装失败,再次运行安装程序,里面可以把之前的安装

[oracle@node2 ~]$ crs_stat -t -v

Name           Type           R/RA   F/FT   Target    State     Host        

----------------------------------------------------------------------

ora.node1.gsd  application    0/5    0/0    ONLINE    ONLINE    node1       

ora.node1.ons  application    0/3    0/0    ONLINE    ONLINE    node1       

ora.node1.vip  application    0/0    0/0    ONLINE    ONLINE    node2       

ora.node2.gsd  application    0/5    0/0    ONLINE    ONLINE    node2       

ora.node2.ons  application    0/3    0/0    ONLINE    ONLINE    node2       

ora.node2.vip  application    0/0    0/0    ONLINE    ONLINE    node2  

node1-vip进行双向测试

Ssh node1-vip date

Ssh node1-vip date 

....

四.安装Oracle 10gR2 datebase

1检查相关包

binutils-2.15.92.0.2-10.EL4

compat-db-4.1.25-9

control-center-2.8.0-12

gcc-3.4.3-9.EL4

gcc-c++-3.4.3-9.EL4

glibc-2.3.4-2

glibc-common-2.3.4-2

gnome-libs-1.4.1.2.90-44.1

libstdc++-3.4.3-9.EL4

libstdc++-devel-3.4.3-9.EL4

make-3.80-5

pdksh-5.2.14-30

sysstat-5.0.5-1

xscreensaver-4.18-5.rhel4.2

libaio-0.3.96

上传安装包,解压10201_database_linux32.zip

2. Xmanager 中用oracle用户,运行databaserunInstaller -ignoreSysPrereqs

由于从WIN将包传到Linux,解压,遇到

[root@node2 bin]# chmod

chmod: missing operand

Try `chmod --help' for more information

解决办法:

两个方法
for file in `ls ./`; do chmod 644 $file; done
find ./* -type f -exec chmod 644 {} /; 

find . -type f -exec chmod 644 {} /; 

3. ORACLE安装目录指定到 /u01/app/oracle/product/10.2.0/db

4. 2node选择上

5. 选择 Install database Software only

6. 会要求你用完全的root权限运行 root.sh ,分别在2node上一一运行

7. 安装完毕

五.创建监听netca

创建数据库过程应该,先配置监听,asm,数据库实例

1. oracle 用户在一个node上运行 netca

2. 选择所有node

3. 选择 Listener configuration

4. 添加一个LISTENER, 1521 port ,然后结束配置

监听配置成功后, 2个结点上的Listener 都会坐位Application Resource 注册到CRS中, 这样CRS就可以监控Listener 的运行状态。 我们可以通过 crs_stat -t -v  查看Listener 状态 

[oracle@node2 init.d]$ crs_stat -t -v

Name           Type           R/RA   F/FT   Target    State     Host        

----------------------------------------------------------------------

ora....E1.lsnr   application    0/5    0/0    ONLINE    ONLINE    node1       

ora.node1.gsd  application    0/5    0/0    ONLINE    ONLINE    node1       

ora.node1.ons  application    0/3    0/0    ONLINE    ONLINE    node1       

ora.node1.vip  application    0/0    0/0    ONLINE    ONLINE    node1       

ora....E2.lsnr   application    0/5    0/0    ONLINE    ONLINE    node2       

ora.node2.gsd  application    0/5    0/0    ONLINE    ONLINE    node2       

ora.node2.ons  application    0/3    0/0    ONLINE    ONLINE    node2       

ora.node2.vip  application    0/0    0/0    ONLINE    ONLINE    node2 

六.创建ASM实例

1. 运行DBCA 命令

2. 选择 configure Automatic Storage Management, 来创建ASM 实例

3. 选择所有结点

4. 输入密码。RAC spfile 必须放在共享目录下。  参数文件我们选择第一个initialization parameter。 也可以放在我们建的裸设备上。

5. 修改asm 参数: asm_diskstring = ORCL:VOL*, 这样能让Oracle自动发现这些硬盘

6. ASM 实例创建完后,用Create New 来创建ASM 磁盘组。 我们用VOL1来创建一个DATA 组, VOL2 创建FLASH_RECOVERY_AREA组。

 

注:

 Redundancy 一般选external 就是也就是不考虑冗余,

假如选normal 则是mirror, 至少要一个FailGroup. 

High 就是triple mirror,3倍镜像,需要三个FailGroup

 

 创建完成后,能看到组的状态是Mount, ASM 组必须mount之后才能使用。

[oracle@node2 init.d]$ crs_stat -t -v

Name           Type           R/RA   F/FT   Target    State     Host        

----------------------------------------------------------------------

ora....SM1.asm  application    0/5    0/0    ONLINE    ONLINE    node1       

ora....E1.lsnr   application    0/5    0/0    ONLINE    ONLINE    node1       

ora.node1.gsd  application    0/5    0/0    ONLINE    ONLINE    node1       

ora.node1.ons  application    0/3    0/0    ONLINE    ONLINE    node1       

ora.node1.vip  application    0/0    0/0    ONLINE    ONLINE    node1       

ora....SM2.asm application    0/5    0/0    ONLINE    ONLINE    node2       

ora....E2.lsnr   application    0/5    0/0    ONLINE    ONLINE    node2       

ora.node2.gsd  application    0/5    0/0    ONLINE    ONLINE    node2       

ora.node2.ons  application    0/3    0/0    ONLINE    ONLINE    node2       

ora.node2.vip  application    0/0    0/0    ONLINE    ONLINE    node2 

七.配置dbca创建数据库

1. oracle用户运行 dbca

2. 选择custom database

3. 输入数据库的全局名,比如NODe

   SID:实例名的前缀

4. 输入系统的角色建立密码

5. 选择ASM 来存储, 分别选择我们刚创建的DATA FLASH_RECOVERY_AREA 

6. Database Services 这里,你选择Add你一个新的service, 随便叫名字,比如oltp。然后选择 TAF Policy,Basic。 这个服务在RAC Failover中会用到,如果在这里没有配置,也可以通过dbca命令, 选择 Services Management 来进行配置

7开始创建数据库

[oracle@node1 ~]$ crs_stat -t -v

Name           Type           R/RA   F/FT   Target    State     Host        

----------------------------------------------------------------------

ora....E1.inst  application    0/5    0/0    ONLINE    ONLINE    node1       

ora....E2.inst  application    0/5    0/0    ONLINE    ONLINE    node2       

ora.NODE.db  application    0/1    0/1    ONLINE    ONLINE    node2       

ora....SM1.asm application    0/5    0/0    ONLINE    ONLINE    node1       

ora....E1.lsnr  application    0/5    0/0    ONLINE    ONLINE    node1       

ora.node1.gsd  application    0/5    0/0    ONLINE    ONLINE    node1       

ora.node1.ons  application    0/3    0/0    ONLINE    ONLINE    node1       

ora.node1.vip  application    0/0    0/0    ONLINE    ONLINE    node1       

ora....SM2.asm application    0/5    0/0    ONLINE    ONLINE    node2       

ora....E2.lsnr  application    0/5    0/0    ONLINE    ONLINE    node2       

ora.node2.gsd  application    0/5    0/0    ONLINE    ONLINE    node2       

ora.node2.ons  application    0/3    0/0    ONLINE    ONLINE    node2       

ora.node2.vip  application    0/0    0/0    ONLINE    ONLINE    node2  

八.检测RAC运行状态

[root@node2 bin]# ./srvctl status database -d node

Instance NODE1 is running on node node1

Instance NODE2 is running on node node2

[root@node2 bin]# ./crs_stat -t -v 

Name           Type           R/RA   F/FT   Target    State     Host        

----------------------------------------------------------------------

ora....E1.inst application    0/5    0/0    ONLINE    ONLINE    node1       

ora....E2.inst application    0/5    0/0    ONLINE    ONLINE    node2       

ora.NODE.db    application    0/1    0/1    ONLINE    ONLINE    node2       

ora....SM1.asm application    0/5    0/0    ONLINE    ONLINE    node1       

ora....E1.lsnr application    0/5    0/0    ONLINE    ONLINE    node1       

ora.node1.gsd  application    0/5    0/0    ONLINE    ONLINE    node1       

ora.node1.ons  application    0/3    0/0    ONLINE    ONLINE    node1       

ora.node1.vip  application    0/0    0/0    ONLINE    ONLINE    node1       

ora....SM2.asm application    0/5    0/0    ONLINE    ONLINE    node2       

ora....E2.lsnr application    0/5    0/0    ONLINE    ONLINE    node2       

ora.node2.gsd  application    0/5    0/0    ONLINE    ONLINE    node2       

ora.node2.ons  application    0/3    0/0    ONLINE    ONLINE    node2       

ora.node2.vip  application    0/0    0/0    ONLINE    ONLINE    node2

原创粉丝点击