ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 在linux上单机模拟Oracle 10g RAC集群操作参考

在linux上单机模拟Oracle 10g RAC集群操作参考

原创 Linux操作系统 作者:波罗2009 时间:2009-05-28 18:35:23 0 删除 编辑

前言:在RedHat Advance Server上安装Oracle 9204 RAC

定位
本文定位在那些有了一定Linux与oracle基础的,而且对RAC也要有相关了解热人员作为参考手册,而不是所谓的安装向导。所以本文

没有详细的安装过程之类的步骤,却有详细的安装错误的解决办法。

覆盖范围
适合在Redhet AS 2.1与AS 3.0系统上

包括单节点、多节点安装

包括9201升级到9204和直接安装9204

包括文件系统(单机),OCFS文件系统,RAW设备与NFS网络文件系统的安装异同

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

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

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

RAC的机制
  RAC起源于版本8的OPS(Oracle parallel Server),OPS/RAC 最原始的设计初衷就是系统与应用的高可用性。OPS/RAC通过不同的

节点使用一个(一般是一个)或多个oracle instances 与一个database 连接。RAC对早期的OPS做了众多的改进,特别是在节点的通

信与管理上。RAC在工作期间,每个节点可以单独的被使用并且被应用程序负载均衡。如果发生意外,如一个节点的失败,可以实现

节点的失败切换(failover),保证数据库24*7的高可用性。

  RAC的数据库要求建立在共享磁盘设备上,对于OPS,只支持RAW设备,RAC已经可以支持文件系统(单机模拟)、OCFS、RAW、与NFS

等文件系统或者设备。因为RAC是多个实例对应一个数据库,每个节点都有自己的日志,因此在备份与恢复方面,将需要一些特殊的

处理。

  但是,RAC并不提供容灾的功能,如共享磁盘设备的损坏,自然灾害等不可避免的损失,将导致RAC的不可使用,所以,RAC一般与

其它的容灾组件配合使用,如RAC+DATA GUARD。

  取代以前版本的分布式锁管理(DLM),全局缓冲服务(GCS)与全局锁服务(GES)将负责RAC的管理工作。GCS的同步层允许每个实例单

独的访问数据库,通过数据库的核心层管理实例级别的一致性与锁资源。所有的以上任务将被一组特殊的后台进程来完成:

LMON (Lock Monitor Process),锁监控进程

  负责监控整个RAC的全局资源,管理实例与进程的过期以及全局缓冲服务与全局锁服务的恢复工作,LMON提供一个众所周知的聚族

组服务(CGS)。

LMSn(The Global Cache Service Processes),全局缓冲服务进程

  LMSn可以处理远程节点的全局缓冲服务的信息,LMSn也负责控制到远程节点的信息流,RAC可以提供10个这样的服务进程LMS0-LMS9

,其进程的多少取决于实例之间的通信量。LMSn负责处理远程节点的全局缓冲服务获得的中断请求,保证多个实例的读一致性请求。

LMSn创建块的一致性的读信息并送到远程节点的实例。

LMD(The Global Enqueue Service Daemon),全局资源服务

  LMD资源代理进程,负责管理全局缓冲服务资源的管理,可以负责远程节点资源的请求与死锁的检测。

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

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

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

Linux上安装RAC的系统要求

2.1 内核需求
如果是如果是AS2.1,内核2.4.9 e16以上,如

[oracle@dbrac oracle]$ uname -a

Linux dbrac 2.4.9-e.37enterprise #1 SMP Mon Jan 26 11:20:59 EST 2004 i686 unknown

如果是3.0版本,则没有内核要求,内核信息一般如下

[root@ dbrac oracle]$ uname -a

Linux dbrac 2.4.21-4.ELsmp #1 SMP Fri Oct 3 17:52:56 EDT 2003 i686 i686 i386 GNU/Linux

2.2 binutils需求
binutils 要求binutils-2.11.90.0.8-12以上,如

如:2.1版本

[oracle@dbrac oracle]$ rpm -qa | grep -i binutils

binutils-2.11.90.0.8-12

3.0版本

[root@ dbrac oracle]$ rpm -qa | grep -i binutils

binutils-2.14.90.0.4-26

2.3 共享磁盘需求
如果是单节点安装,可以是本地硬盘,文件系统即可
如果是多节点安装,需要共享磁盘系统,可以是Raw设备,Ocfs文件系统,Nfs网络文件系统等。

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

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

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

安装前的准备工作

本文实践环境
PC主要配置:
  
  Celeron(R) CPU 1.80GHz  
  Maxtor 6E040L0, ATA DISK drive 40G  
  RelTek 8139C 网卡 一块  
  内存DDR333 512MB * 2  
  显示卡:ATI [Radeon 9200 SE]  
  操作系统:White Box Enterprise Linux 3 (本文同样适用于RedHat企业版,不同之处是WBEL3目前可以免费运用于商业)  
  远程终端一台,装有windowsXP和远程X-server软件


服务器分区方案
  
Oracle 数据库文件
  
  RAC节点名  
  实例名  
  数据库名  
  $ORACLE_BASE
  
文件系统
  
  dbrac  
  orcl1  
  orcl  
  /home/oracle  
  ASM
  
Oracle CRS 共享文件
  
  文件类型  
  文件名  
  分区  
  挂载点
  

文件系统
  
  oracle集群注册表  
  /u01/orcl/orcfile  
  /dev/hda8  
  /u01  
  OCFS
  

CRS表决磁盘
  
  /u01/orcl/cssfile  
  /dev/hda8  
  /u01  
  OCFS

 

所涉及软件
1)oracle 10g 数据库软件
  
  hip.db.lnx32.cpio.gz
  
2)oracle 10g 集群服务软件

  hip.crs.lnx32.cpio.gz

http://download.oracle.com/otn/linux/oracle10g/10201/10201_client_clusterware.zip/

  
3)OCFS文件系统支持
  
  ocfs-2.4.21-EL-1.0.14-1.i686.rpm  
  ocfs-support-1.0.10-1.i386.rpm  
  ocfs-tools-1.0.10-1.i386.rpm
  
4)ASMlib驱动程序
  
  oracleasm-2.4.21-EL-1.0.3-1.i686.rpm  
  oracleasm-support-1.0.3-1.i386.rpm  
  oracleasmlib-1.0.0-1.i386.rpm
  
以上软件包均可以从oracle官方网站下载

WBEL linux下载地址:http://www.whiteboxlinux.org/download.html

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

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

----------------------------------------------------------------------------------
  
安装linux
  
安装过程中一些需要注意的地方:

1)磁盘分区:swap分区大小建议是内存的2倍,这里是2048MB,划出一些系统必要的分区根分区/,var分区/var,usr分区 /usr,home分区

/home,临时文件分区/tmp。注意:这里不要把所有的硬盘空间划分进操作系统,留下一半给后面安装oarcle集群磁盘使用,本文示例
  
2)文件系统   容量 挂载点
  
  /dev/hda1     1012M /  
  /dev/hda2     7.7G  /home  
  /dev/hda7     1012M  /tmp  
  /dev/hda3     5.8G  /usr  
  /dev/hda5     2.0G  /var
  
3)组件选取:一定要选上delvelopment tools和X-windows两项,为了节省空间其他可以不要
4)防火墙:最好不要
5)网络设置:eth0
  
  取消选中 [Configure using DHCP] 复选项  
  选中 [Activate on boot]  
  IP 地址:192.168.0.251  
  网络掩码: 255.255.255.0  
  
6)主机名:dbrac
  
2、.安装完成后检查必需的 RPM

3、必须安装以下程序包(或更高版本):
  
  make-3.79.1  
  gcc-3.2.3-34  
  glibc-2.3.2-95.20  
  glibc-devel-2.3.2-95.20  
  glibc-headers-2.3.2-95.20  
  glibc-kernheaders-2.4-8.34  
  cpp-3.2.3-34  
  compat-db-4.0.14-5  
  compat-gcc-7.3-2.96.128 
  compat-gcc-c++-7.3-2.96.128  
  compat-libstdc++-7.3-2.96.128  
  compat-libstdc++-devel-7.3-2.96.128  
  openmotif-2.2.2-16  
  etarch-1.3-1

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

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

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

更改/etc/hosts
  
vi /etc/hosts
  
  127.0.0.1    localhost.localdomain localhost
  
  192.168.22.44  dbrac int-dbrac
  
  192.168.22.244  vip-dbrac
 
确保RAC节点名没有出现在回送地址中。
此处设置相当重要,不能跳过,一定按照此设置,IP和主机别名可以自己定  
oracle 10g RAC中 使用了虚拟IP(VIP)技术,这是一个令人心动的高可用性、多机无缝切换的解决方案,但在单机模拟环境中仅仅是

个形式而已,为了以后的顺利安装,不得不配置它
  
2、调整内核网络设置参数
编辑/etc/sysctl.conf,增加下面的设置:
  
vi /etc/sysctl.conf
  
  # Default setting in bytes of the socket receive buffer 
  et.core.rmem_default=262144
  
  # Default setting in bytes of the socket send buffer  
  et.core.wmem_default=262144
  
  # Maximum socket receive buffer size which may be set by using  
  # the SO_RCVBUF socket option  
  et.core.rmem_max=262144
  
  # Maximum socket send buffer size which may be set by using  
  # the SO_SNDBUF socket option  
  et.core.wmem_max=262144
  
3、添加模块选项:
将下列行添加到 /etc/modules.conf 中:
  
  options sbp2 sbp2_exclusive_login=0
  
4、创建“oracle”用户和目录
  
$su -
#groupadd dba
#useradd -g dba -m oracle
#passwd oracle
  
5、编辑.bash_profile文件,增加oracle环境变量
  
$vi .bash_profile
  
  export PATH  
  unset USERNAME  
  export LANG=zh_CN.EUC  
  ORACLE_BASE=/home/oracle;export ORACLE_BASE  
  export ORACLE_HOME=$ORACLE_BASE/product/10.1.0/db_1  
  export ORA_CRS_HOME=$ORACLE_BASE/product/10.1.0/crs_1  
  export ORACLE_SID=rac1  
  export NLS_LANG='SIMPLIFIED CHINESE_CHINA.ZHS16GBK'  
  PATH=$ORACLE_HOME/bin:/bin:/sbin:/usr/bin:/usr/ccs/bin:/usr/local/bin:/usr/ucb;export PATH  
  LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/network/lib:$ORACLE_HOME/oracm/lib:/usr/local/lib:/usr/lib;export

LD_LIBRARY_PATH  
  export ORACLE_TERM=xterm  
  export

CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib:$ORACLE_HOME/rdbms/jlib:$ORACLE_HOME/network/jl

ib  
  export THREADS_FLAG=native  
  export TEMP=/tmp  
  export TMPDIR=/tmp  
  export LD_ASSUME_KERNEL=2.4.1

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

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

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

创建CRS分区和数据文件分区
1)先建立CRS分区挂载点
  
mkdir /u01
chown oracle:dba /u01
  
2)接着创建CRS分区和共享数据文件分区

CRS分区只要500M就够了,剩下的全部划分给数据文件分区,这里为数据文件只分了1个区/dev/hda9
CRS分区为/dev/hda8
  
[root@dbrac root]# fdisk /dev/hda
  
  The number of cylinders for this disk is set to 4997.
  
[root@dbrac root]# fdisk /dev/hda
  
  The number of cylinders for this disk is set to 4997.  
  There is nothing wrong with that, but this is larger than 1024,  
  and could in certain setups cause problems with:  
  1) software that runs at boot time (e.g., old versions of LILO) 
  2) booting and partitioning software from other OSs  
  (e.g., DOS FDISK, OS/2 FDISK)
  
  Command (m for help): p
  
  Disk /dev/hda: 41.1 GB, 41109061120 bytes  
  255 heads, 63 sectors/track, 4997 cylinders  
  Units = cylinders of 16065 * 512 = 8225280 bytes
  
  Device Boot  Start    End  Blocks  Id System
  
  /dev/hda1  *     1    131  1052226  83 Linux  
  /dev/hda2      132   1151  8193150  83 Linux  
  /dev/hda3     1152   1916  6144862+ 83 Linux  
  /dev/hda4     1917   4998 24756165  f Win95 Ext'd (LBA)  
  /dev/hda5     1917   2177  2096451  83 Linux  
  /dev/hda6     2178   2438  2096451  82 Linux swap  
  /dev/hda7     2439   2569  1052226  83 Linux
  
  Command (m for help): n
  
  First cylinder (2570-4998, default 2570):  
  Using default value 2570  
  Last cylinder or +size or +sizeM or +sizeK (2570-4998, default 4998): +500M
  
  Command (m for help): n
  
  First cylinder (2632-4998, default 2632):
  Using default value 2632  
  Last cylinder or +size or +sizeM or +sizeK (2632-4998, default 4998): +15000M
  
  Command (m for help): p  
  Disk /dev/hda: 41.1 GB, 41109061120 bytes 
  255 heads, 63 sectors/track, 4997 cylinders  
  Units = cylinders of 16065 * 512 = 8225280 bytes
  
  Device Boot  Start    End  Blocks  Id System
  
  /dev/hda1  *     1    131  1052226  83 Linux  
  /dev/hda2      132   1151  8193150  83 Linux  
  /dev/hda3     1152   1916  6144862+ 83 Linux  
  /dev/hda4     1917   4998 24756165  f Win95 Ext'd (LBA)  
  /dev/hda5     1917   2177  2096451  83 Linux  
  /dev/hda6     2178   2438  2096451  82 Linux swap  
  /dev/hda7     2439   2569  1052226  83 Linux
  /dev/hda8     2570   2631  497983+ 83 Linux  
  /dev/hda9     2632   4456 14659281  83 Linux
  
  Command (m for help): w
  
  The partition table has been altered!  
  Calling ioctl() to re-read partition table.  
  WARNING: Re-reading the partition table failed with error 16: 设备或资源忙.  
  The kernel still uses the old table.  
  The new table will be used at the next reboot.  
  Syncing disks.
  
7、编辑/etc/sysctl.conf,增加下面2行以设置系统共享内存大小和文件句柄
  
  kernel.shmmax=2147483648  
  kernel.sem=250 32000 100 128
  
本文涉及到的linux操作系统的内核参数默认设置大多符合oracle安装所需,不需要做更大的改动

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

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

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

配置 RAC 节点以进行远程访问

在 RAC 节点上运行 Oracle Universal Installer 时,它将使用 rsh 、rcp或scp命令将 Oracle 软件复制到 RAC 集群中的所有其

他节点。虽然是单机模拟,但仍然要配置,无法跳过,从oracle 10g开始已经支持ssh协议,本文将首先尝试使用它
  
使用oracle用户创建ssh公共密匙:
  
[oracle@dbrac oracle]$ ssh -keygen -t dsa
  
  Generating public/private dsa key pair.  
  Enter file in which to save the key (/home/oracle/.ssh/id_dsa):  
  Enter passphrase (empty for no passphrase):  
  Enter same passphrase again:  
  Your identification has been saved in /home/oracle/.ssh/id_dsa.  
  Your public key has been saved in /home/oracle/.ssh/id_dsa.pub.  
  The key fingerprint is: 
  2d:09:9a:c0:40:c7:99:46:ea:43:0d:22:4b:d0:a0:26 oracle@dbrac
  
复制公匙到其他节点(这里是单机)
[oracle@dbrac oracle]$ cp -v .ssh/id_dsa.pub .ssh/authorized_keys
  
测试密匙是否生效
[oracle@dbrac oracle]$ ssh dbrac
  
  The authenticity of host 'dbrac (192.168.22.44)' can't be established.
  
  RSA key fingerprint is e7:ff:ce:5e:92:ac:c4:96:a8:ca:3e:20:2e:5c:75:ae.
  
  Are you sure you want to continue connecting (yes/no)? yes
    Warning: Permanently added 'dbrac,192.168.22.44' (RSA) to the list of known hosts.

[oracle@dbrac oracle]$
无需密码即可登陆表示密匙已经生效

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

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

----------------------------------------------------------------------------------a

安装和配置 OCFS

OCFS是Oracle 集群文件系统 (OCFS),由 Oracle 开发,用于消除数据库管理员和系统管理员 管理原始设备 这一负担,它提供了与

通常的文件系统相同的功能和用法。尽量不要在OCFS文件系统上使用linux二进制文件系统操作命令
  
  在目前的版本1种支持以下文件类型: 
  Oracle 数据库文件  
  联机重做日志文件  
  归档重做日志文件  
  控制文件  
  服务器参数文件 (SPFILE)  
  Oracle 集群注册表 (OCR) 文件  
  CRS 表决磁盘。
 
安装和配置
  
1)上传ocfs-2.4.21-EL-1.0.14-1.i686.rpm,ocfs-support-1.0.10-1.i386.rpm,ocfs-tools-1.0.10-1.i386.rpm

到/home/oracle/install/rac/ocfs目录  
2)执行rpm -ivh ocfs*.rpm 开始安装  
[oracle@dbrac oracle]$ su -  
  Password:  
[root@dbrac root]# cd /home/oracle/install/rac/ocfs 
[root@dbrac ocfs]# rpm -ivh ocfs*.rpm
  
  Preparing...       ########################################### [100%]  
  1:ocfs-support      ########################################### [ 33%] 
  2:ocfs-2.4.21-EL     ########################################### [ 67%] 
  3:ocfs-tools       ########################################### [100%]
 
3)生成并配置/etc/ocfs.conf文件
[root@dbrac ocfs]# ocfstool &

4)使用 ocfstool GUI 工具执行以下步骤:
5)选择 [Task] - [Generate Config]

在“OCFS Generate Config”对话框中,输入专用互连的接口和 DNS 名。
验证所有节点上的所有值正确之后,请退出应用程序
  
6)检查/etc/ocfs.conf

[root@dbrac ocfs]# cat /etc/ocfs.conf
  
  #  
  # ocfs config  
  # Ensure this file exists in /etc  
  #  
  node_name = dbrac  
  ip_address = 192.168.22.44  
  ip_port = 7000  
  comm_voting = 1  
  guid = B907DC7945D81C0A2C8C000D61EB0166  
  
注意guid在集群中唯一对应一个节点,如果要更换网卡,请使用ocfs_uid_gen -c 命令重新创建
  
7)重新启动系统并确认ocfs模块已经正确加载

[oracle@dbrac oracle]$ lsmod | grep  ocfs

  ocfs         299104  0 (unused)
  
创建 OCFS 文件系统
  
[oracle@dbrac oracle]$ id
  
  uid=500(oracle) gid=500(dba) groups=500(dba)
  
[oracle@dbrac oracle]$ su -
  
  Password:
  
[root@dbrac root]# mkfs.ocfs -F -b 128 -L crs -m /u01 -u '500' -g '500' -p 0775 /dev/hda8
  
  Cleared volume header sectors  
  Cleared node config sectors  
  Cleared publish sectors  
  Cleared vote sectors  
  Cleared bitmap sectors  
  Cleared data block  
  Wrote volume header

注意-u和-g 是oracle用户的id和dba组的id,一定要填写正确,-p是设置/u01目录的访问权限,如果要设置dba组用户有权管理集群注

册文件的话,请设置0775
  
9)载入 OCFS 文件系统
  
$ su -
# mount -t ocfs /dev/hda8 /u01
  
10)将 OCFS分区配置为在启动时自动载入
  
11)将以下条目添加到/etc/fstab 文件中
  
  /dev/hda8  /u01   ocfs  _netdev  0 0
  
12)重新启动服务器并检查CRS分区已经正确安装
  
[root@dbrac root]# mount | grep ocfs
  
  /dev/hda8 on /u01 type ocfs (rw)

如果没有被自动加载,请执行如下命令echo “mount -t ocfs /dev/hda8 /u01” >> /etc/rc.local,然后重新启动
也可用使用oracle官方为我们提供的打过补丁的linux内核来解决此问题

安装并配置自动存储管理和磁盘
Oracle 数据库 10g 中引入了 ASM,使管理员 不必再管理单个文件和驱动器,ASM 被内置到 Oracle 内核中,通过它,数据库管理

员可以全天候管理单个实例以及集群实例的上千个磁盘驱动器。本文将使用ASM来自动存储和管理所有 Oracle 物理数据库文件(数

据、联机重做日志、控制文件、归档重做日志)。
 
oracle不推荐使用裸设备,因此这里使用前面创建的/dev/hda9分区

1)上传oracleasm-2.4.21-EL-1.0.3-1.i686.rpm,oracleasmlib-1.0.0- 1.i386.rpm,oracleasm-support-1.0.3-1.i386.rpm三个软

件包到 /home/oracle/install/rac/asm目录中

开始安装:

[oracle@dbrac asmlib]$ su -
Password:
[root@dbrac root]# cd /home/oracle/install/rac/asmlib
[root@dbrac asmlib]# rpm -ivh oracleasm*.rpm
Preparing...             ########################################### [100%]
1:oracleasm-support      ########################################### [ 33%]
2:oracleasm-2.4.21-EL    ########################################### [ 67%]
3:oracleasmlib           ########################################### [100%]

2)配置并加载 ASMLib 程序包

[root@dbrac asmlib]# /etc/init.d/oracleasm configure

Configuring the Oracle ASM library driver.
This will configure the on-boot properties of the Oracle ASM library
driver.  The following questions will determine whether the driver is
loaded on boot and what permissions it will have.  The current values
answer will keep that current value.  Ctrl-C will abort.
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
Writing Oracle ASM library driver configuration            [  OK  ]
Loading module "oracleasm"                                 [  OK  ]
Mounting ASMlib driver filesystem                          [  OK  ]
Scanning system for ASM disks                              [  OK  ]

为 Oracle 共享数据文件创建 ASM 磁盘
[root@dbrac asmlib]# /etc/init.d/oracleasm createdisk oradata /dev/hda9

Marking disk "/dev/hda9" as an ASM disk                    [  OK  ]

其中oradata是ASM磁盘的卷标

列出ASM磁盘的命令是/etc/init.d/oracleasm listdisks
删除ASM磁盘得命令是/etc/init.d/oracleasm deltedisk ORADATA(注意:此处大写)

/etc/init.d/oraclerasm scandisk命令用于其它节点上扫描并识别新卷,由于此处是单机,所以这里不需要执行。
-------------------------------------------------------------------------------------------------------------------

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

----------------------------------------------------------------------------------
安装oracle 10g集群服务软件

从这里开始,建议所有的安装过程全部使用英文界面安装,在简体中文环境下安装会有问题,如果安装操作系统的时候选择了默认语

言为简体中文
vi /etc/sysconfig/i18n 
LANG="en_US.UTF-8"
然后重新登陆系统。

在附录本文会给出全中文环境数据库安装解决方案

1)上传ship.crs.lnx32.cpio.gz到/home/oracle/install/rac目录中并解压缩;
gzip -dv ship.crs.lnx32.cpio.gz;cpio -idmv

2)在安装过程中oracle 10g集群服务软件会在CRS分区创建2个文件,分别是/u01/orcl/ocrfile和/u01/orcl/cssfile,相当重要,不

能跳过;检查/tmp目录是否有足够的空间,必须保证/tmp目录有500M以上空余空间;

3)更改oracle用户环境变量;
unset ORA_CRS_HOME
$ unset ORACLE_HOME
$ unset ORA_NLS33
$ unset TNS_ADMIN

4)转到安装源文件目录/home/oracle/install/rac/Disk1目录,执行./runInstaller &开始安装;

屏幕名称
回应
Welcome Screen

单击 Next
Specify Inventory directory and credentials
接受默认值

Root Script. Window - Run orainstRoot.sh
以“root”用户帐户打开一个新的控制台窗口。改变目录到/home/oracle/oraInventory 目录,运行 orainstRoot.sh。 返回 OUI

并确认此对话框窗口。
Specify File Locations

Source 目录使用默认值;Name: OraCrs10g_home1;Location:/home/oracle/product/10.1.0/crs_1
Language Selection
请使用English,可以加入简体中文支持

Cluster Configuration
Cluster Name: crs
Public Node Name:dbrac Private Node Name:int-dbrac
Specify Network Interface Usage

使用默认
Oracle Cluster Registry
/u01/orcl/ocrfile
Voting Disk
/u01/orcl/cssfile
Root Script. Window - Run orainstRoot.sh
以“root”用户帐户打开一个新的控制台窗口。转到/home/oracle/product/10.1.0/crs_1目录,运行root.sh。 返回 OUI 并确认此

对话框窗口。


5)核实CRS安装

a)检查集群节点
[oracle@dbrac oracle]$ product/10.1.0/crs_1/bin/olsnodes -n
dbrac   1

a)检查CRS自启动脚本
[oracle@dbrac oracle]$ ll /etc/init.d/init.*
-r-xr-xr-x    1 root     root         1204 May 10 16:54 /etc/init.d/init.crs
-r-xr-xr-x    1 root     root         5489 May 10 16:54 /etc/init.d/init.crsd
-r-xr-xr-x    1 root     root        18598 May 10 16:54 /etc/init.d/init.cssd
-r-xr-xr-x    1 root     root         4550 May 10 16:54 /etc/init.d/init.evmd

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

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

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

安装 Oracle 10g数据库软件

1)上传ship.db.lnx32.cpio.gz至/home/oracle/install目录并解压
gzip -dv ship.db.lnx32.cpio.gz && cpio -idmv < ship.db.lnx32.cpio

2)更改oracle用户环境变量
unset ORA_CRS_HOME
$ unset ORACLE_HOME
$ unset ORA_NLS33
$ unset TNS_ADMIN

3)执行./runInstaller开始安装
屏幕名称
回应
Welcome Screen

选择高级安装
Specify File Locations
Name: OraDb10g_home1
Location:/home/oracle/product/10.1.0/db_1
Specify Hardware Cluster Installation Mode
默认dbrac

Select Installation Type
选择Enterprise Edition 选项

Select Database Configuration
选择Do not create a starter database (必须选这个)

Root Script. Window - Run root.sh
以“root”用户帐户打开一个新的控制台窗口。转到/home/oracle/product/10.1.0/db_1目录,运行root.sh程序。

当 VIPCA 出现时,请回应如下所示的屏幕提示:
Welcome: 单击 Next
Network interfaces:选择接口 - eth0
Virtual IPs for cluster notes:
Node Name:dbrac
IP Alias Name:vip-dbrac
IP Address:192.168.22.244
Subnet Mask: 255.255.255.0
注意:如果在安装操作系统的时候选择了默认语言支持是简体中文,请在执行root.sh之前先取消root中文环境设置,命令export

LANG=zh_CN.EUC
End of installation
安装结束时,退出 OUI

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

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

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

创建TNS监听器进程
 
DBCA 需要在 RAC 集群的所有节点上配置并运行 Oracle TNS 监听器进程,然后它才能创建集群化数据库。
$export LANG=zh_CN.EUC
$ netca &
屏幕名称
回应

Select the Type of Oracle
Net Services Configuration
选择 Cluster Configuration

Select the nodes to configure
选择节点dbrac

Listener Configuration - Next 6 Screens
接下来全部选择默认,然后返回到Select the Type of Oracle Net Services Configuration

Type of Configuration
选择 Naming Methods configuration。
Naming Methods Configuration

Selected Naming Methods: Local Naming
Type of Configuration
单击 Finish 退出 NETCA。
测试

[oracle@dbrac oracle]$ ps -ef | grep lsnr | grep -v 'grep' | grep -v 'ocfs' | awk '{print $9}'
LISTENER_DBRAC

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

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

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

创建oracle集群数据库
1)在执行 DBCA 前,请确保为 $ORACLE_BASE/product/10.1.0/db_1 环境正确设置了 $ORACLE_HOME 和 $PATH。
2)在试图开始创建集群化数据库之前,还应确保已安装的所有服务(Oracle TNS 监听器、CRS 进程等)正在运行。
屏幕名称
回应

Welcome Screen
选择 Oracle Real Application Clusters database。

Operations
选择 Create a Database

Node Selection
选择dbrac

Database Templates
选择 Custom Database

Database Identification
Global Database Name: orcl
SID Prefix:orcl

Management Option
保留默认

Database Credentials
选择 Use the Same Password for All Accounts,并输入两次密码

Storage Options
选择使用 ASM

Create ASM Instance
推荐选择spfile

ASM Disk Groups
单击 Create New创建ASM,在弹出的Create Disk Group窗口中,Disk Group Name:orcl_data;选择“Select Member Disks”窗口中

的ASM 卷ORCL:ORADATA,并确保状态为PROVISIONED,最后单击ok完成,如果不能格式化,请选择redundancy为external

Database File Locations
选择使用默认值Oracle Managed Files
Database Area: +ORCL_DATA

Recovery Configuration
选择默认Flash Recovery Area,如果要使用传统归档方式,请选择Enable Archiving
Database Content

本文为了加快安装速度,去掉了所有组件支持,仅保留了Enterprise  Manager Repository Database Services

单击 Add,输入 orcltest 作为“Service Name”。
TAF Policy选Basic

Initialization Parameters
保留默认

Database Storage
保留默认

Creation Options
选择默认

End of Database Creation
退出DBCA

3)完成DBCA后,一个单节点集群的oracle数据库服务器已经成功创建了

4)核实orcltest服务
SQL> show parameter service
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
service_names                        string      orcl, orcltest

如果value只有一个值orcl,则需要手工添加orcltest
SQL> alter system set service_names ='orcl, orcltest' scope=spfile;

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

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

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

测试集群

先检查VIP是否已经启动

[oracle@dbrac oracle]$ ifconfig eth0:1
eth0:1    Link encap:Ethernet  HWaddr 00:0D:61:EB:01:66  
       inet addr:192.168.22.244  Bcast:192.168.22.255  Mask:255.255.255.0
       UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
       Interrupt:11 Base address:0xc000

从外部客户端连接集群化数据库

在装有oracle 10g 客户端的pc上执行下面的命令进行连接测试,客户端需要配置TNS,配置的时候把服务名指定为orcltest,数据库服

务器IP使用VIP(192.168.22.244)

C:\Documents and Settings\Administrator>sqlplus /nolog
SQL*Plus: Release 10.1.0.2.0 - Production on 星期三 5月 11 13:24:34 2005
Copyright (c) 1982, 2004, Oracle.  All rights reserved.
SQL> connect sys/racrac@orcltest as sysdba
已连接。
在服务器上执行下面的命令

[oracle@dbrac oracle]$ srvctl status database -d orcl
例程 orcl1 正在节点 dbrac 上运行

[oracle@dbrac oracle]$ srvctl status nodeapps -n dbrac
VIP 正在运行的节点: dbrac
GSD 正在运行的节点: dbrac
监听程序正在节点上运行: dbrac
ONS 守护程序正在节点上运行:dbrac

[oracle@dbrac oracle]$ srvctl status asm -n dbrac
 ASM 例程 +ASM1 正在节点 dbrac 上运行。
显示数据库配置

[oracle@dbrac oracle]$ srvctl config database -d orcl
dbrac orcl1 /home/oracle/product/10.1.0/db_1
 scrctl命令还有很多测试功能,这里不再一一介绍

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

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

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

启动和停止集群

这里很重要,和一般的非集群数据库的启动和关闭有点不同.

1)停止 Oracle RAC 10g 环境
先停止 Oracle 实例。当此实例(和相关服务)关闭后,关闭 ASM 实例。最后,关闭节点应用程序(虚拟 IP、GSD、TNS 监听器和

ONS)。

$ export ORACLE_SID=orcl1
$ emctl stop dbconsole
$ srvctl stop instance -d orcl -i orcl1
$ srvctl stop asm -n dbrac
$ srvctl stop nodeapps -n dbrac

2)启动 Oracle RAC 10g 环境
第一步是启动节点应用程序(虚拟 IP、GSD、TNS 监听器和 ONS)。当成功启动节点应用程序后,启动 ASM 实例。最后,启动

Oracle 实例(和相关服务)以及企业管理器数据库控制台。

$ export ORACLE_SID=orcl1
$ srvctl start nodeapps -n dbrac
$ srvctl start asm -n dbrac
$ srvctl start instance -d orcl -i orcl1
$ emctl start dbconsole

3)使用 SRVCTL 启动/停止所有实例

$ srvctl start database -d orcl
$ srvctl stop database -d orcl

附录、全中文数据库环境安装解决方法
更改oracle用户的环境变量export LANG=zh_CN并转到/home/oracle/install/Disk1目录下执行如下代码
cd stage/Components/oracle.swd.jre/1.4.2.02.0/1/DataFiles && unzip all_except_bin.jar && cd jre/1.4.2/lib && mv -v

font.properties font.properties.bak && cp -v font.properties.zh_CN.Redhat8.0 font.properties && cd ../../../;zip -r

all_except_bin.jar.new jre/;mv all_except_bin.jar.new all_except_bin.jar && rm -rfv jre && cd ../../../../../../
cd stage/Components/oracle.jdk/1.4.2.0.0/1/DataFiles && unzip -d sol_bin sol_bin.1.1.jar && cd

 

3.4创建oracle用户与组
#groupadd dba
#useradd oracle -g dba
#passwd oracle

3.5设置节点环境变量
如果是AS 3.0,注意设置如下参数

export LD_ASSUME_KERNEL=2.4.1

以下参数在两个平台下公用

export ORACLE_BASE=/u01/oracle
export ORACLE_HOME=/u01/oracle/ora920
export ORACLE_TERM=xterm
export NLS_LANG=AMERICAN_AMERICA.zhs16gbk
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/local/lib

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

3.6准备目录结构
su - oracle

$cd $ORACLE_BASE
$mkdir -p admin/rac/ ---存放配置文件
$cd admin/rac/
$mkdir bdump cdump udump createdblog
$cd $ORACLE_BASE
$mkdir -p oradata/rac ----存放数据文件

注意:以上操作,如果是多个节点,需要在多个节点上完成 ,单个节点只需要在单节点上完成即可。


Tags: RedHat AS上安装Oracle RAC   

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/21639366/viewspace-604409/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2009-05-13

  • 博文量
    22
  • 访问量
    77333