单机安装Oracle RAC (zt)

单机安装Oracle RAC (zt)

 
 

本文的试验环境:

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

OS : Windows2000 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

posted @ 2021-11-23 23:21  耀阳居士  阅读(296)  评论(0编辑  收藏  举报