Discuz教程网

HeartBeat+Oracle10g_VMvare server 1.0.7

[复制链接]
authicon baoabao 发表于 2010-10-26 03:53:25 | 显示全部楼层 |阅读模式

本帖最后由 xiaozhao2010 于 2010-09-25 09:46 编辑
1、安装VMware server 1.0.7虚拟机
2、安装Redhat Enterprise Linux 5.4操作系统
Active主机:
hostname:dbservera.example.com
网卡1:Eth0:10.66.101.25/24
网卡2:Eth1:10.0.0.1/24
Standby备机:
hostname:dbserverb.example.com
网卡1:Eth0:10.66.101.26/24
网卡2:Eth1:10.0.0.2/24
Virtual IP:10.66.101.11/24
注意事项:
1、 关闭防火墙
2、 Selinux改为“允许”
3、 Active主机和standby备机的IP地址设置如上,Eth0网卡自定义VMnet8 NAT模式,网关和DNS设置为10.66.101.1,VMnet8的IP地址设置为:10.66.101.1/24, Eth1网卡hostonly模式。
4、 HA的虚拟IP为10.66.101.11/24
5、 添加一块容量为30G的SCSI硬盘,不预分配空间
3、添加共享磁盘(模拟磁盘阵列使用)
在VMWare server的安装目录中找到“vmware-vdiskmanager.exe”文件,然后拷贝到“D:\Virtual Machines\sharedisk”,打开“CMD”
进入到D:\Virtual Machines\sharedisk,然后运行如下命令
D:\Virtual Machines\sharedisk>vmware-vdiskmanager.exe   -c -s 10Gb -a lsilogic -t 2 sharedisk.vmdk
再把创建的共享磁盘添加到dbservera中,接口为SCSI 1:1,在dbservera目录中找到后缀为VMX的文件添加如下两行:
disk.locking = "FALSE"  
scsi1.SharedBus = "Virtual"
启动dbservera,分区fdisk /dev/sdb,格式化/dev/sdb1为ext3文件系统,临时试挂载
[root@dbservera ~]# mount -t ext3 /dev/sdb1 /mnt/
如一切正常,那么关闭dbservera,再将此共享磁盘添加到dbserverb中,方法和dbservera一样,但是不要分区格式化了,直接挂载即可。
4、关闭不必要的服务
chkconfig --list | grep cups
chkconfig --list | grep sendmail
chkconfig --list | grep bluetooth
chkconfig --level 2345 cups off
chkconfig --level 2345 sendmail off
chkconfig --level 2345 bluetooth off
5、安装HA
安装编译软件:
yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel  --nogpgcheck
# pwd
/oradisk/libnet
# ./configure
# make&&make install
# pwd
/oradisk/heartbeat-2.0.8
# ./ConfigureMe configure --disable-swig --disable-snmp-subagent
# groupadd -g 694 haclient
# useradd -u 694 -g haclient hacluster
# make && make install
# cp doc/ha.cf doc/haresources doc/authkeys /etc/ha.d/
# cp ldirectord/ldirectord.cf /etc/ha.d/
# cat ha.cf | grep -v "#"
logfile        /var/log/ha-log
logfacility        local0
keepalive 2
deadtime 30
warntime 10
initdead 120
udpport        694
ucast eth0 10.66.101.26
auto_failback on
node        dbservera.example.com
node        dbserverb.example.com
ping 10.66.101.1
respawn hacluster /usr/lib/heartbeat/ipfail
# chmod 600 authkeys
# cat authkeys |grep -v "#"
auth 1
1 crc
# cat haresources |grep -v "#"
dbservera.example.com IPaddr::10.66.101.11/24/eth0 Filesystem::/dev/sdb1::/u02::ext3  oracle
# ln -s /etc/init.d/heartbeat /etc/rc.d/rc0.d/K05heartbeat
# ln -s /etc/init.d/heartbeat /etc/rc.d/rc3.d/S75heartbeat
# ln -s /etc/init.d/heartbeat /etc/rc.d/rc5.d/S75heartbeat
# ln -s /etc/init.d/heartbeat /etc/rc.d/rc6.d/K05heartbeat
# cat /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1        localhost.localdomain localhost
::1                localhost6.localdomain6 localhost6
10.66.101.25        dbservera.example.com        dbservera
10.66.101.26        dbserverb.example.com        dbserverb
10.0.0.1                priv1
10.0.0.2        priv2
1 :硬件要求
(1) Mem> 922M,swap>1026M
[root@server TrueType]# cat /proc/meminfo | grep Total
MemTotal:       949796 kB
HighTotal:       44992 kB
LowTotal:       904804 kB
SwapTotal:     2048276 kB
VmallocTotal:   114680 kB
HugePages_Total:     0
(2) /tmp> 400M
[root@server TrueType]# df -h
文件系统              容量  已用 可用 已用% 挂载点
/dev/sda2             9.5G  2.4G  6.7G  26% /
/dev/sdb1              20G  173M   19G   1% /u02
/dev/sda1              99M   12M   83M  12% /boot
tmpfs                 464M     0  464M   0% /dev/shm
/dev/hdc              2.8G  2.8G     0 100% /media/cdrom
/dev/sda5             572M   17M  526M   4% /tmp
2 :软件要求
[root@server TrueType]# rpm -q  glibc-2.5-42  gcc-4.1.2-46.el5  make-3.81-3.el5  binutils-2.17.50.0.6-12.el5 libaio-0.3.106-3.2 openmotif-2.3.1-2.el5  setarch-2.0-1.1
glibc-2.5-42
gcc-4.1.2-46.el5
make-3.81-3.el5
binutils-2.17.50.0.6-12.el5
libaio-0.3.106-3.2
openmotif-2.3.1-2.el5
setarch-2.0-1.1
3:解决安装过程中及isqlplus 字体乱码问题
# mkdir -p /usr/share/fonts/zh_CN/TrueType
# cd /usr/share/fonts/zh_CN/TrueType
# cp ../../chinese/TrueType/uming.ttf ./zysong.ttf
4:配置IP 与主机名对应关系
# vim /etc/sysconfig/i18n //修改OS 字符集
LANG="zh_CN.gb2312"
# hostname
# vim /etc/sysconfig/network
# ifconfig eth0
# vim /etc/sysconfig/network-scripts/ifcfg-eth0
# vim /etc/hosts //修改IP 地址和主机名对应关系(可选项)
5 配置Linux 内核参数
查看现有内核参数,不得低于下述值
# /sbin/sysctl -a | grep shm
kernel.shmmni = 4096
kernel.shmall = 2097152
kernel.shmmax = 536870912   Half the size of physical memory (in bytes)
# /sbin/sysctl -a | grep sem
kernel.sem = 250 32000 100 128
# /sbin/sysctl -a | grep file-max
fs.file-max = 65536
# /sbin/sysctl -a | grep ip_local_port_range
net.ipv4.ip_local_port_range = 1024 65000
# /sbin/sysctl -a | grep mem
net.core.rmem_default = 262144
net.core.wmem_default = 262144
net.core.rmem_max = 262144
net.core.wmem_max = 262144
假设查看到内核参数低于上述值,修改方式如下
# vim /etc/sysctl.conf
kernel.shmall = 268435456
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default = 1048576
net.core.wmem_default = 262144
net.core.rmem_max = 1048576
net.core.wmem_max = 262144
# sysctl  -p
6 创建oracle 组和用户
# groupadd oinstall
# groupadd dba
# useradd -m -g oinstall -G dba oracle
# id oracle
uid=500(oracle) gid=500(oinstall) groups=500(oinstall),501(dba)
# passwd oracle //修改oracle 用户密码
7 创建oracle 文件系统和目录
# mkdir -p /u01/app/oracle  /u02/
# chown -R oracle:oinstall /u01  /u02/
# chmod -R 775 /u01  /u02/
8 设置shell 限制
oracle 建议对每个Linux 账户可以使用的进程数和打开的文件数设置限制
# vim /etc/security/limits.conf //在最后加上如下4 行
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
# vim /etc/pam.d/login //在最后加上如下1 行
session required /lib/security/pam_limits.so
9 设置环境变量(完成后重新登录生效)
# vim /home/oracle/.bash_profile
# User specific environment and startup programs
umask 022
LD_LIBRARY_PATH=/usr/lib:/usr/X11R6/lib
ORACLE_BASE=/u01/app/oracle
ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
ORACLE_SID=standby
LD_LIBRARY_PATH=$ORACLE_HOME/jdk/fre/lib/i386:$ORACLE_HOME/jdk/jre/lib/i386/server:$ORaCLE_HOME/rdbms/lib:$ORACLE_HOME/lib:$LD_LIBRARY_PATH
PATH=$ORACLE_HOME/bin:$PATH:$HOME/bin:/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
NLS_LANG=American_America.ZHS16GBK
export PATH LD_LIBRARY_PATH ORACLE_BASE ORACLE_HOME ORACLE_SID NLS_LANG
10 解压安装包
将oracle 安装包copy 到/oradisk 下
# cd /oradisk/
# unzip oracle10g01_10.2.0.1.0_database_linux32.zip
# chown -R oracle:oinstall /oradisk
# chmod -R 755 /oradisk/
11 注销后以oracle 用户登录开始安装
$ cd /oradisk/database/
$ ./runInstaller
12、升级oracle10g到10.2.0.4
$ pwd
/oradisk/Disk1
$ ./runInstaller
13、DBCA创建数据库
# mkdir /u02/oradata/
# chown -R oracle:oinstall /u02
# chmod -R 755 /u02
$ dbca
14、创建listener.ora
$ netmgr
15、创建tnsnames.ora
$ lsnrctl start
15、在客户端测试
C:\>sqlplus sys/oracle@sky as sysdba
SQL> select * from v$version;
BANNER
-------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Prod
PL/SQL Release 10.2.0.4.0 - Production
CORE    10.2.0.4.0      Production
TNS for Linux: Version 10.2.0.4.0 - Production
NLSRTL Version 10.2.0.4.0 – Production
16、在dbserverb上安装数据库软件并升级
17、在dbservera编写oracle脚本
# pwd
/etc/init.d
# cat oracle
#!/bin/bash
#chkconfig: 2345 75 05
#description: oracle
ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1
export ORACLE_HOME
if [ ! -f $ORACLE_HOME/bin/dbstart ]
then
  echo "ORACLE cannot start"
  exit
fi
case "$1" in
'start')
     echo "Starting Oracle Database..."
     su - oracle -c "$ORACLE_HOME/bin/dbstart"
#    su - oracle -c "$ORACLE_HOME/bin/emctl start dbconsole"
     ;;
'stop')
     echo "Stoping Oracle Database"
#    su - oracle -c "$ORACLE_HOME/bin/emctl stop dbconsole"
     su - oracle -c "$ORACLE_HOME/bin/dbshut"
     ;;
esac
# chmod 755 /etc/init.d/oracle
# cat /etc/oratab |grep -v "#"
standby:/u01/app/oracle/product/10.2.0/db_1:Y
# cd /u01/app/oracle/product/10.2.0/db_1/bin/
# vim dbstart
将第88行改成ORACLE_HOME_LISTNER=$ORACLE_HOME
# vim dbshut
将第77行改成ORACLE_HOME_LISTNER=$ORACLE_HOME
重启heartbeat软件看资源是否运行
18、在dbservera上拷贝如下文件到dbserverb
# scp -r  /u01/app/oracle/admin/  oracle@10.0.0.2:/u01/app/oracle/
#scp -r /u01/app/oracle/product/10.2.0/db_1/dbs/  oracle@10.0.0.2:/u01/app/oracle/product/10.2.0/db_1/
# scp /u01/app/oracle/product/10.2.0/db_1/bin/dbstart oracle@10.0.0.2:/u01/app/oracle/product/10.2.0/db_1/bin /u01/app/oracle/product/10.2.0/db_1/bin/dbshut oracle@10.0.0.2:/u01/app/oracle/product/10.2.0/db_1/bin
# scp /etc/init.d/oracle root@10.0.0.2:/etc/init.d/
# scp /etc/oratab oracle@10.0.0.2:/etc/oratab
启动数据库远程登陆测试



上一篇:单纯的select语句能否用wrap加密?
下一篇:How to install a essbase server ??
authicon duolanshizhe 发表于 2010-10-26 10:20:23 | 显示全部楼层

帮顶
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1314学习网 ( 浙ICP备10214163号 )

GMT+8, 2025-5-2 18:14

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表