单节点安装RAC
一.环境vmware+redhat linux enterpise 3as+oracle9204
二.步逐
1 检查LINUX环境
确认以下rpm包都已经安装:
程序代码:
# rpm -qa | grep compat
compat-gcc-7.3-2.96.122
compat-libstdc++-devel-7.3-2.96.122
compat-gcc-c++-7.3-2.96.122
compat-libstdc++-7.3-2.96.122
compat-glibc-7.x-2.2.4.32.5
compat-db-4.0.14-5
程序代码:
# rpm -qa | grep openmotif
openmotif-2.2.2-16
openmotif-devel-2.2.2-16
# rpm -qa | grep setarch
setarch-1.3-1
如果个别包没有安装
利用如下的命令来安装相应的包:
程序代码:
# rpm -ivh compat.....rpm
内核需求
如果是如果是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
还需要将gcc、g++更换为2.96的版本. (参考 Metalink 上的 OracleNote:252217.1 )
程序代码:
# mv /usr/bin/gcc /usr/bin/gcc323
# ln -s /usr/bin/gcc296 /usr/bin/gcc
# mv /usr/bin/g++ /usr/bin/g++323
# ln -s /usr/bin/g++296 /usr/bin/g++
2.打布丁
su - root
unzip p3006854_9204_linux.zip
cd 3006854
./rhel3_pre_install.sh
2.创建环境
#groupadd dba
#useradd oracle -g dba
#passwd oracle
3
设置节点环境变量
如果是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
最好把下面的几行代码加入到 /etc/sysctl.conf 文件:
程序代码:
kernel.shmmax = 2147483648
kernel.shmmni = 128
kernel.shmall = 2097152
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
还有这些加入到/etc/security/limits.conf 里面:
程序代码:
oracle soft nofile 65536
oracle hard nofile 65536
oracle soft nproc 16384
oracle hard nproc 16384
不过加入这些以后需要reboot一下系统
准备目录结构
su - oracle
$cd $ORACLE_BASE
$ mkdir -p admin/rac/ ---存放配置文件
$ cd admin/rac/
$ mkdir bdump cdump udump createdblog
$cd $ORACLE_BASE
$ mkdir -p oradata/rac ----存放数据文件
注意:以上操作,如果是多个节点,需要在多个节点上完成 ,单个节点只需要在单节点上完成即可。
安装OCM(Oracle Cluster Manager) ./runInstaller 在产品选择画面,选择 Oracle Cluster Manager, 二配置RAC,并且启动 我们需要启动oracm服务 确认模块已经加载: 为了在系统启动自动加载,我们在/etc/rc.local文件加入 下面准备启动ocm的脚本 cp cmcfg.ora.tmp cmcfg.ora 并且修改成 HeartBeat=15000 如果启动太频繁,可能会报错: 安装oracle 软件 这个没有什么好说的,把oracle 安装好,我选择了不创建数据库. 首先创建一个配置文件srvConfig.loc 因为先前已经用touch生成了这个文件,因此需要的只是更改权限和属主. 并在其中添加以下内容: 初始化共享配置文件.以oracle身份运行: 启动公共服务进程(Global Services Deamon).以oracle身份运行: 然后就可以开始创建数据库了. 配置初始化参数时注意cluster选项: listener_sid=
gunzip ship_9204_linux_disk1.cpio.gz
cpio -idmv
5.1生成一个CM管理文件
如果是单节点文件系统,可以用如下命令模拟
su - oracle
$dd if=/dev/zero of=/u01/oracle/oradata/rac/RacQuorumDisk bs=1024 count=1024
如果是多节点ocfs或raw设备,可以同样用dd生成相应的文件,放到准备好的共享磁盘设备上,大小1M即可。
把oracle安装的原文件解压缩,这个时候,就可以运行安装ocm了
出现Public Node Information 的时候,填好本机的hostname,也就是hostname 命令返回的值。因为是单机,只要填写第一个,同样,在Private Node Information中,也填写hostname。
在出现Quorum Disk Information选项的时候,填写刚才生成的文件/u01/oracle/oradata/rac/RacQuorumDisk
首先我们要启动hangcheck_timer
加载hangcheck-timer
insmod hangcheck-timer hangcheck_tick=30 hangcheck_margin=180
lsmod | grep hang
/sbin/insmod hangcheck-timer hangcheck_tick=30 hangcheck_margin=180
在ORACLE_HOME目录下面的oracm目录下面有admin目录
下面有个文件cmcfg.ora.tmp
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
oracm &1 >/u01/app/oracle/product/9.2.0.4.0/oracm/log/cm.out &
ocmstart.sh: Error: Restart is too frequent
ocmstart.sh: Info: Check the system configuration and fix the problem.
ocmstart.sh: Info: After you fixed the problem, remove the timestamp file
ocmstart.sh: Info: "/u01/app/oracle/product/9.2.0.4.0/oracm/log/ocmstart.ts"
这时,用
# killall oracm
# ps -ef | grep oracm
来确认OCM没有启动.再将/u01/app/oracle/product/9.2.0.4.0/oracm/log/ocmstart.ts文件删除了就可以启动了.
# rm -f /u01/app/oracle/product/9.2.0.4.0/oracm/log/ocmstart.ts
# ./ocmstart.sh
oracm &1 >/u01/app/oracle/product/9.2.0.4.0/oracm/log/cm.out &
准备创建数据库
su - root
# mkdir -p /var/opt/oracle
# touch /var/opt/oracle/srvConfig.loc
# chmod 755 /var/opt/oracle/srvConfig.loc
# chown oracle:dba /var/opt/oracle/srvConfig.loc
srvconfig_loc=
其中
我的文件内容如下:
srvconfig_loc=/u01/oracle/oradata/rac/RacQuorumDisk
$ srvconfig -init
$ gsdctl start
Successfully started GSD on local node
sid.local_listener=listener_sid
The following entry should be in your tnsnames.ora file:
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/51726/viewspace-65954/,如需转载,请注明出处,否则将追究法律责任。