ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 单机安装Oracle RAC (zt)

单机安装Oracle RAC (zt)

原创 Linux操作系统 作者:tolywang 时间:2005-01-26 00:00:00 0 删除 编辑

本文的试验环境:

硬件 hp 服务器,1G 内存,120G 硬盘

OSWindows2000 advance server

Vmware: 800M 内存,10G 硬盘,        red hat advance server 3.0

Oracle: Oracle 9i Realease 2    9.2.0.4 


安装wmware上的rhel 3.0这里不详细的说明

把下载了的oracle 9204 的三个文件ftp redhat上面去。

 

按照Oracle的安装指南,设置好oracle的环境,目录,oracle用户,环境变量等等。

注意,我选的是比较高版本的linux oracle,否则又是要打这个补丁,那个补丁,很麻烦。

但是,在安装oracle之前,需要以root登录,打上 3006854号补丁。

文件名称是p3006854_9204_linux.zip。这个是我安装过程中唯一打过的补丁。

 

su – root

unzip p3006854_9204_linux.zip

 

cd 3006854

./rhel3_pre_install.sh

 

如果安装报告以下错误:

-bash: ./rhel3_pre_install.sh Permission denied

修改下权限

chmod +x *.sh

 

下面开始进行RAC的安装

 

一.           安装 OCM( Oracle Cluster Manager)

 

首先需要生成一个Quorum Disk File,因为我们是单机,所以需要用命令来生成一个

dd if=/dev/zero of=/u02/rac/Racfile bs=1024 count=1024

这个文件至少需要4+(4*number_of_node)KB,我们给它1M,足够了。

 

 

oracle安装的原文件解压缩,这个时候,就可以运行安装ocm

./runInstaller

在产品选择画面,选择 Oracle Cluster Manager,

出现Public Node Information 的时候,填好本机的hostname,也就是hostname 命令返回的值。因为是单机,只要填写第一个,同样,在Private Node Information中,也填写hostname

在出现Quorum Disk Information选项的时候,填写刚才生成的文件/u02/rac/RacFile

 

二配置RAC,并且启动

 

我们需要启动oracm服务

首先我们要启动hangcheck_timer

加载hangcheck-timer

insmod hangcheck-timer hangcheck_tick=30 hangcheck_margin=180

 

确认模块已经加载:

lsmod | grep hang

为了在系统启动自动加载,我们在/etc/rc.local文件加入

/sbin/insmod hangcheck-timer hangcheck_tick=30 hangcheck_margin=180

 

下面准备启动ocm的脚本

ORACLE_HOME目录下面的oracm目录下面有admin目录

下面有个文件cmcfg.ora.tmp

cp cmcfg.ora.tmp cmcfg.ora

并且修改成

 

HeartBeat=15000

ClusterName=Oracle Cluster Manager, version 9i

PollInterval=1000

MissCount=210

PrivateNodeNames=hp-linux

PublicNodeNames=hp-linux

ServicePort=9888

CmDiskFile=/u02/rac/RacFile

KernelModuleName=hangcheck-timer

下面要以root来执行脚本

su

cd $ORACLE_HOME/oracm/bin

./ocmstart.sh

 

 

现在就已经完成ocm的启动了

 

.安装oracle 软件

 

这个没有什么好说的,oracle 安装好,我选择了不创建数据库.

 

 

四准备创建数据库

 

在创建数据库之前,要启动公共服务进程.

oracle用户身份运行

gsdctl start

我选择了dbca来创建数据库,它能找到节点.如果找不到节点,说明ocm安装失败,或者启动失败

 

五配置监听和服务名

 

我是使用netca 创建了两个监听,一个是rac1,一个是rac2

listerer.ora的内容

 

# LISTENER.ORA.HP-LINUX Network Configuration File: /opt/oracle/product/9.2.0/network/admin/listener.ora.hp-linux

# Generated by Oracle configuration tools.

 

SID_LIST_RAC2 =

  (SID_LIST =

    (SID_DESC =

      (SID_NAME = PLSExtProc)

      (ORACLE_HOME = /opt/oracle/product/9.2.0)

      (PROGRAM = extproc)

    )

  )

 

SID_LIST_RAC1 =

  (SID_LIST =

    (SID_DESC =

      (SID_NAME = PLSExtProc)

      (ORACLE_HOME = /opt/oracle/product/9.2.0)

      (PROGRAM = extproc)

    )

  )

 

LISTENER =

  (DESCRIPTION_LIST =

    (DESCRIPTION =

      (ADDRESS_LIST =

        (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))

      )

      (ADDRESS_LIST =

        (ADDRESS = (PROTOCOL = TCP)(HOST = hp-linux)(PORT = 1521))

      )

    )

  )

 

RAC2 =

  (DESCRIPTION_LIST =

    (DESCRIPTION =

      (ADDRESS_LIST =

        (ADDRESS = (PROTOCOL = TCP)(HOST = hp-linux)(PORT = 1523))

      )

    )

  )

 

RAC1 =

  (DESCRIPTION_LIST =

    (DESCRIPTION =

      (ADDRESS_LIST =

        (ADDRESS = (PROTOCOL = TCP)(HOST = hp-linux)(PORT = 1522))

      )

    )

  )

 

SID_LIST_LISTENER =

  (SID_LIST =

    (SID_DESC =

      (SID_NAME = PLSExtProc)

      (ORACLE_HOME = /opt/oracle/product/9.2.0)

      (PROGRAM = extproc)

    )

    (SID_DESC =

      (ORACLE_HOME = /opt/oracle/product/9.2.0)

      (SID_NAME = rac1)

    )

  )

 

tnsnames.ora的内容

# TNSNAMES.ORA Network Configuration File: /opt/oracle/product/9.2.0/network/admin/tnsnames.ora

# Generated by Oracle configuration tools.

 

LISTENERS_RAC =

  (ADDRESS_LIST =

    (ADDRESS = (PROTOCOL = TCP)(HOST = hp-linux)(PORT = 1521))

  )

 

LISTENER_RAC1 =

  (ADDRESS = (PROTOCOL = TCP)(HOST = hp-linux)(PORT = 1521))

 

 

RAC1 =

  (DESCRIPTION =

    (ADDRESS = (PROTOCOL = TCP)(HOST = hp-linux)(PORT = 1521))

    (CONNECT_DATA =

      (SERVICE_NAME = rac)

      (INSTANCE_NAME = rac1)

    )

  )

 

INST1_HTTP =

  (DESCRIPTION =

    (ADDRESS_LIST =

      (ADDRESS = (PROTOCOL = TCP)(HOST = hp-linux)(PORT = 1521))

    )

    (CONNECT_DATA =

      (SERVER = SHARED)

      (SERVICE_NAME = MODOSE)

      (PRESENTATION = http://HRService)

    )

  )

 

RAC =

  (DESCRIPTION =

    (ADDRESS_LIST =

      (ADDRESS = (PROTOCOL = TCP)(HOST = hp-linux)(PORT = 1521))

    )

    (CONNECT_DATA =

      (SERVER = DEDICATED)

      (SERVICE_NAME = rac)

    )

  )

 

RAC2 =

  (DESCRIPTION =

    (ADDRESS = (PROTOCOL = TCP)(HOST = hp-linux)(PORT = 1521))

    (CONNECT_DATA =

      (SERVICE_NAME = rac)

      (INSTANCE_NAME = rac2)

    )

  )

 

 

EXTPROC_CONNECTION_DATA =

  (DESCRIPTION =

    (ADDRESS_LIST =

      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))

    )

    (CONNECT_DATA =

      (SID = PLSExtProc)

      (PRESENTATION = RO)

    )

  )

 

 

 

,启动数据库

安装完成后,应该就可以启动第一个实例了.

我的初试化参数文件的内容是这样的

 

*.aq_tm_processes=1

*.background_dump_dest='/opt/oracle/admin/rac/bdump'

*.cluster_database_instances=2

*.cluster_database=true

*.compatible='9.2.0.0.0'

*.REMOTE_LOGIN_PASSWORDFILE = NONE

*.control_files='/opt/oracle/oradata/rac/control01.ctl','/opt/oracle/oradata/rac/control02.ctl','/opt/oracle/oradata/rac/control03.ctl'

*.core_dump_dest='/opt/oracle/admin/rac/cdump'

*.db_block_size=8192

*.db_cache_size=33554432

*.db_domain=''

*.db_file_multiblock_read_count=16

*.db_name='rac'

*.dispatchers='(PROTOCOL=TCP) (SERVICE=racXDB)'

*.fast_start_mttr_target=300

*.hash_join_enabled=TRUE

rac1.instance_name='rac1'

rac2.instance_name='rac2'

rac1.instance_number=1

rac2.instance_number=2

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

请登录后发表评论 登录
全部评论
Oracle , MySQL, SAP IQ, SAP HANA, PostgreSQL, Tableau 技术讨论,希望在这里一起分享知识,讨论技术,畅谈人生 。

注册时间:2007-12-10

  • 博文量
    5595
  • 访问量
    13381762