oracle9i RAC + centos4.7安装配置

1 篇文章 0 订阅
1 篇文章 0 订阅

oracle9i RAC + centos4.7

环境配置

软件资源:
oracle9.2.0.4 https://download.csdn.net/download/xwh159753/15580942
centos4.7
链接:https://pan.baidu.com/s/1UfHOM_ly9_WZ0ejIdBauSg
提取码:gggi

操作系统安装及配置centos4.7

  1. 关闭防火墙
service iptables stop
chkconfig iptables off
  1. 关闭selinux

修改/etc/selinux/config 文件

将SELINUX=enforcing改为SELINUX=disabled

  1. 配置yum (略)

  2. 修改主机名及ip地址规划

    /etc/sysconfig/network

    /etc/hosts

    #PUBLICIP  
    192.168.5.114	eam1
    192.168.5.116	eam2
    
    #PRIVATEIP 
    10.10.10.1	rac1-priv
    10.10.10.2	rac2-priv
    
  3. 新建用户(两个节点均操作)

groupadd -g 1000 dba
useradd -g dba -u 1001 oracle
passwd oraacle
  1. 节点互信
1. ssh互信
eam2操作
su - oracle
ssh-keygen -t rsa
ssh-keygen -t dsa

cd /home/oracle/.ssh/
scp id_rsa.pub 192.168.5.114:/home/oracle/.ssh/id_rsa.pub2
scp id_dsa.pub 192.168.5.114:/home/oracle/.ssh/id_dsa.pub2

eam1操作
cd /home/oracle/.ssh/
cat id_dsa.pub id_dsa.pub2 id_rsa.pub id_rsa.pub2>authorized_keys
scp authorized_keys 192.168.5.116:/home/oracle/.ssh/

验证:
在eam1上
ssh eam2 date
在eam2上
ssh eam1 date

2. rcp配置   #不确定是否非必要(参考网络都是rcp复制文件,自行配置吧

7. 创建目录(连接节点都操作:

[root@eam1 ~]# mkdir /oracle
[root@eam1 ~]# chown -R oracle:dba /oracle/
[root@eam1 ~]# chmod -R 775 /oracle/


8. 修改内核参数

cat >> /etc/sysctl.conf << EOF

fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 536870912
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048586
net.ipv4.tcp_wmem = 262144 262144 262144
net.ipv4.tcp_rmem = 4194304 4194304 4194304

EOF

生效
sysctl -p


9. 环境变量

```shell
ORACLE_BASE=/oracle;       export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/ora92;  export ORACLE_HOME
ORACLE_OWNER=oracle;       export ORACLE_OWNER
ORACLE_SID=orcl1;         export ORACLE_SID   #两个节点不同

#ORACLE_TERM=xterm;        export ORACLE_TERM
#THREADS_FLAG=native;       export THREADS_FLAG
#TMP=/tmp;             export TMP
#TMPDIR=$TMP;           export TMPDIR
#LD_LIBRARY_PATH=$ORACLE_HOME/lib; export LD_LIBRARY_PATH
LD_ASSUME_KERNEL=2.4.1;      export LD_ASSUME_KERNEL
#CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH
DBCA_RAW_CONFIG=/home/oracle/datafiles.conf; export DBCA_RAW_CONFIG
PATH=$ORACLE_HOME/bin:$PATH;   export PATH

共享磁盘配置:

采用vmware模拟,配置详情:
一个磁盘一个控制器、虚拟模式
磁盘:厚置备置零、独立持久、1:0

裸设备知识:

  1. 裸设备定义:
    一块没有分区的硬盘,称为原始设备(RAW DEVICE)
    或者是一个分区,但是没有用EXT3,OCFS等文件系统格式化,称为原始分区(RAW PARTITION)
    以上两者都是裸设备

  2. 清空裸设备
    相当于格式化啦bs是快的大小,block size
    count是快的数量,这两者相乘大于裸设备的容量即可
    dd if=/dev/zero of=/dev/raw/raw1 bs=8192 count=12800
    dd if=/dev/zero of=/dev/raw/raw2 bs=8192 count=12800

​ 3.裸设备绑定参考本次操作

注意事项:

1. 一块设备对应一个文件,(需仔细规划空间
2. 一块盘可分15个分区(3个主分区、第4个用拓展分区,再在第4分区的里面分11个分区)

操作:

  1. 分区 fdisk /sdb 仅在一个节点操作
  2. 修改 /etc/sysconfig/rawdevices(两个节点),添加下列内容:
/dev/raw/raw11 /dev/sdb1
/dev/raw/raw12 /dev/sdb2
/dev/raw/raw13 /dev/sdb3
/dev/raw/raw15 /dev/sdb5
/dev/raw/raw16 /dev/sdb6
/dev/raw/raw17 /dev/sdb7
/dev/raw/raw18 /dev/sdb8
/dev/raw/raw19 /dev/sdb9
/dev/raw/raw20 /dev/sdb10
/dev/raw/raw21 /dev/sdb11
/dev/raw/raw22 /dev/sdb12
/dev/raw/raw23 /dev/sdb13
/dev/raw/raw24 /dev/sdb14
/dev/raw/raw25 /dev/sdb15

/dev/raw/raw26 /dev/sdc1
/dev/raw/raw27 /dev/sdc2
/dev/raw/raw28 /dev/sdc3
/dev/raw/raw29 /dev/sdc5
/dev/raw/raw30 /dev/sdc6
/dev/raw/raw31 /dev/sdc7
/dev/raw/raw32 /dev/sdc8
/dev/raw/raw33 /dev/sdc9
  1. 修改配置文件**/etc/udev/permissions.d/50-udev.permissions**编辑113行
    注释掉raw/:root:disk:0660
    添加新行raw/
    :oracle:dba:0660

  2. 重启后验证:

    ls -al /dev/raw/*

  3. 设置裸设备和数据文件的对映关系(不配置的话,在创建数据库时可一个一个输入)

cat > /home/oracle/datafiles.conf <<EOF
spfile=/dev/raw/raw12/
srvconfig_loc=/dev/raw/raw13
control1=/dev/raw/raw15
control2=/dev/raw/raw16
system=/dev/raw/raw17
temp=/dev/raw/raw18
users=/dev/raw/raw19
undotbs1=/dev/raw/raw20
undotbs2=/dev/raw/raw21
redo1_1=/dev/raw/raw22
redo1_2=/dev/raw/raw23
redo2_1=/dev/raw/raw24
redo2_2=/dev/raw/raw25

cwmlite=/dev/raw/raw26
xdb=/dev/raw/raw27
odm=/dev/raw/raw28
indx=/dev/raw/raw29
tools=/dev/raw/raw30
example=/dev/raw/raw31
drsys=/dev/raw/raw32
quorum=/dev/raw/raw33
EOF

7 配置hangcheck-timer,

cat >> /etc/modules.conf << EOF
modprobe hangcheck-timer hangcheck_tick=30 hangcheck_margin=180
EOF

cat >> /etc/rc.local << EOF
modprobe hangcheck-timer hangcheck_tick=30 hangcheck_margin=180
EOF

\#检查是否被正确加载
grep Hangcheck /var/log/messages
lsmod | grep hangcheck

安装各种包

yum install  xorg-x11*
yum install gcc
 yum install libaio*
yum install gnome-libs
yum install compat*
 yum install rsh-server*
yum install libc*
yum -y install make
yum -y install binutils
yum -y install gcc
yum -y install cpp
yum -y install glibc-devel
yum -y install glibc-headers
yum -y install glibc-kernheaders
yum -y install compat-db
yum -y install compat-gcc
yum -y install compat-gcc-c++
yum -y install compat-libstdc++
yum -y install compat-libstdc++-devel
yum -y install gnome-libs
yum -y install openmotif21
yum -y install setarch

安装ocm

图形界面调出,远程的可以安装VNC

在root下
export DISPLAY=:0.0
xhost+
然后去su - oracle 

在eam1上以oracle身份登录, 运行Disk1下的runInstaller开始安装oracle
安装时选择Oracle Cluster Manager 9.2.0.4,同时可在Product Language中增加Simplified chinese
输入public node information时在public node1和public node2 中分别输入eam1和eam2
输入private node information时在private node1和private node2中分别输入rac1-priv和rac2-priv
quorum disk information输入/dev/raw/raw11,上面文件配置的会自动识别

注意:

  1. 两个节点都装(我以为和oracle一样会同步,也可能是

  2. 启动时root用户操作

  3. root用户需要两个环境变量

    export LD_ASSUME_KERNEL=2.4.1
    ORACLE_BASE=/oracle;       export ORACLE_BASE
    ORACLE_HOME=$ORACLE_BASE/ora92;  export ORACLE_HOME
    

启动OCM

配置文件(有时需要修改):$ORACLE_HOME/oracm/admin/cmcfg.ora
killall oracm  #关闭
rm -rf $ORACLE_HOME/oracm/log/*
$ORACLE_HOME/oracm/bin/ocmstart.sh

安装oracle rac

需要将gcc 修改为gcc32

mv /usr/bin/gcc /usr/bin/gccbak
mv /usr/bin/gcc32 /usr/bin/gcc

在rhel1上以oracle身份登录, 运行Disk1下的runInstaller开始安装oracle

选择节点时使用ctrl键选择eam1和eam2, 如果没有出现节点选择的画面, 请检查oracm
是否启动.

安装时选择Oracle Database 9.2.0.4.0, 同时可在Product Language中增加Simplified chinese.

安装类型选择Enterprise Edition

选择不创建数据库.

shared configuration field中输入/dev/raw/raw13

启动GSD

su - oracle
gsdctl start
gsdctl stat

建立监听器配置文件及tnsnames.ora文件

运行netca使用默认值建立监听器

配置文件tnsnames.ora

listener_orcl1=
 (DESCRIPTION=
  (ADDRESS=(PROTOCOL=tcp)(HOST=rhel1)(PORT=1521)))

listener_orcl2=
 (DESCRIPTION=
  (ADDRESS=(PROTOCOL=tcp)(HOST=rhel2)(PORT=1521)))

listeners_orcl=
(DESCRIPTION=
  (ADDRESS=(PROTOCOL=tcp)(HOST=rhel1)(PORT=1521))
  (ADDRESS=(PROTOCOL=tcp)(HOST=rhel2)(PORT=1521)))
orcl=
 (description=
  (ADDRESS=(PROTOCOL=tcp)(HOST=rhel1)(PORT=1521))
  (ADDRESS=(PROTOCOL=tcp)(HOST=rhel2)(PORT=1521))
  (connect_data=
   (service_name=orcl)
  (failover_mode=
   (type=select)(method=basic)(retries=20)(delay=15))))
orcl1=
 (description=
  (ADDRESS=(PROTOCOL=tcp)(HOST=rhel1)(PORT=1521))
  (connect_data=
   (sid=orcl1)))

orcl2=
 (description=
  (ADDRESS=(PROTOCOL=tcp)(HOST=rhel2)(PORT=1521))
  (connect_data=
   (sid=orcl2)))

安装数据库

使用dbca安装数据库,在最后开始安装时,出现空白了的错误弹窗。所以生成了脚本,随后使用脚本生成数据库

Oracle9i RAC启停:

Oracle9i RAC 关闭步骤(习惯用法)

  1. 关闭监听及数据库

分别登入两个节点,按照原来单实例方式分别关闭监听及实例

$ lsnrctl stop

$ sqlplus “/as sysdba”

SQL>shutdwon immediate

  1. 关闭GSD

以 Oracle 用户登录系统, 在所有节点运行如下命令:

$ gsdctl stop

  1. 如果需要关机保养,关闭前端节点 。

  2. 关闭共享磁盘。

Oracle9i RAC 开启步骤(习惯用法):

  1. 共享磁盘启动 。

  2. 共享磁盘启动完成后,对服务器进行开机。
    启动OCM
    以 root 用户登录系统(保留Oracle环境), 在所有节点运行如下命令:
    $ su root (注意root前面没有 - )
    $ cd $ORACLE_HOME/oracm/bin
    $ ./ocmstart.sh
    退出root
    $exit
    查看OCM是否正常启动
    $ ps -ef | grep oracm

  3. 启动GSD
    以 Oracle 用户登录系统, 在所有节点运行如下命令:
    $ gsdctl start

  4. 启动数据库
    分别登入两个节点,按照原来单实例方式分别开启实例及监听
    $ sqlplus “/as sysdba”
    SQL> startup
    $ lsnrctl start

    srvctl方式

问题处理

  1. Bringing up interface eth1: Error, some other host already uses address
vi /etc/sysconfig/network-scripts/ifup

#    if ! arping -q -c 2 -w 3 -D -I ${REALDEVICE} ${IPADDR} ; then
#       echo $"Error, some other host already uses address ${IPADDR}."
#       exit 1
#    fi
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值