ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 单节点安装RAC

单节点安装RAC

原创 Linux操作系统 作者:wwllzpz 时间:2019-05-05 14:45:05 0 删除 编辑

单节点安装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 ----存放数据文件
注意:以上操作,如果是多个节点,需要在多个节点上完成 ,单个节点只需要在单节点上完成即可。


gunzip ship_9204_linux_disk1.cpio.gz
cpio -idmv

 安装OCM(Oracle Cluster Manager)
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了

./runInstaller

在产品选择画面,选择 Oracle Cluster Manager,
出现Public Node Information 的时候,填好本机的hostname,也就是hostname 命令返回的值。因为是单机,只要填写第一个,同样,在Private Node Information中,也填写hostname。
在出现Quorum Disk Information选项的时候,填写刚才生成的文件/u01/oracle/oradata/rac/RacQuorumDisk

二配置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
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 &

安装oracle 软件

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


准备创建数据库

首先创建一个配置文件srvConfig.loc
su - root
# mkdir -p /var/opt/oracle
# touch /var/opt/oracle/srvConfig.loc

因为先前已经用touch生成了这个文件,因此需要的只是更改权限和属主.
# chmod 755 /var/opt/oracle/srvConfig.loc
# chown oracle:dba /var/opt/oracle/srvConfig.loc

并在其中添加以下内容:
srvconfig_loc=
其中就是先前用dd生成的共享配置文件.
我的文件内容如下:
srvconfig_loc=/u01/oracle/oradata/rac/RacQuorumDisk

初始化共享配置文件.以oracle身份运行:
$ srvconfig -init

启动公共服务进程(Global Services Deamon).以oracle身份运行:
$ gsdctl start
Successfully started GSD on local node

然后就可以开始创建数据库了.

配置初始化参数时注意cluster选项:
sid.local_listener=listener_sid


The following entry should be in your tnsnames.ora file:

listener_sid=>


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

上一篇: EBS Documentations
请登录后发表评论 登录
全部评论

注册时间:2003-07-10

  • 博文量
    27
  • 访问量
    20301