本文的试验环境:
硬件 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 = )
)
)
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/,如需转载,请注明出处,否则将追究法律责任。