win10如何打开光驱:CentOS5下oracle双机热备

来源:百度文库 编辑:中财网 时间:2024/04/28 02:09:27
一.      概述
服务器:IBM3650*2
盘阵:DS4300
操作系统:CentOS 5.4
集群软件:操作系统自带
数据库软件:oracle 10g
二.      硬件平台
IBM X3850服务器为双网卡,Intelligent Platform Management Interface (IPMI)使用第一块网卡的端口,RSA II远程管理卡单独一个网络端口。
每个节点通过光纤连接DS4300盘阵。安装过程中最好把连接节点和盘阵的光纤拔下;或者如果不拔下光纤,安装过程中分区时只选择本机硬盘,不要选择盘阵。
每个节点的两个网卡分别通过标准网线连接交换机。
注:本次安装前硬件供应商已经做好DS400盘阵的配置,因此在本文档盘阵配置不再叙述。
三.      CentOS 5.4的安装
(一)              配置BMC
分别在两台主机系统引导时根据屏幕提示选择【F1】,进入BIOS,选择ADVANCE CONFIG,设置BMC,配置IPMI NETWORK,地址分别为:192.168.70.103和192.16.70.104。
(二)              安装操作系统
放入系统光盘,从光驱引导系统。出现安装界面,直接回车继续
安装检测CD界面,选择“Skip”跳过
安装界面,选择“Next”
选择安装语言,我们选择“简体中文”,单击“Next”
选择键盘,默认,选择“下一步”
分区界面,此处接受默认值,只是更改swap分区大小,设为4G,勾选“检验和修改分区方案”,单击“下一步”
确认分区提示,选择“是”
配置网络设备,选择eth0,单击“编辑”
勾选“Enable IPV4 support”-“Manual configuration”,输入ip地址和子网掩码,单击“确定”
设置主机名为“NodeA”,单击“下一步”
选择区域,默认“亚洲/上海”,单击“下一步”
输入root用户密码,单击“下一步”
选择安装组件,我们选择“现在定制”
选择需要的组件,记得要勾选“集群”,单击“下一步”
开始安装
安装完成,取出光盘,重新引导。
重启后,进行初始设置,欢迎界面,点击“前进”
设置防火墙为“禁用”
设置SELinux为“禁用”
不启用Kdump
设置日期时间
创建初始用户
测试声卡
完成,重启计算机
四.      Oracle10g的安装
(一)              环境设置
1.准备安装的软件
binutils
compat-libstdc++
elfutils-libelf
elfutils-libelf-devel
glibc
glibc-common
glibc-devel
gcc
gcc-c++
libaio
libaio-devel
libgcc
libstdc++
libstdc++-devel
make
sysstat
unixODBC
unixODBC-devel
libXp
这些软件直接从安装光盘上找就可以(名字后面的版本没写全,用CENTOS5光盘的就可以正常安装)
2.OS参数要求
编辑 /etc/sysctl.conf  (用vi或文本编辑器都可以), 在行末添加以下内容
#use for oracle
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default=262144
net.core.rmem_max=262144
net.core.wmem_default=262144
net.core.wmem_max=262144
再运行sysctl -p应用以上参数
3.编辑 /etc/security/limits.conf 行末添加以下内容
#use for oracle
* soft nproc 2047
* hard nproc 16384
* soft nofile 1024
* hard nofile 65536
4.编辑 /etc/pam.d/login 行末添加以下内容
session required pam_limits.so
5.编辑 /etc/selinux/config 确保以下内容
SELINUX=disabled
关闭SELIINUX
6.编辑 /etc/profile,在最后加入:
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
7.将oracle安装文件复制到 /tmp/database目录下。
8.因为默认centos5.4不支持10.2,0.1,修改安装文件
编辑 /10201_database_linux32/database/install/oraparam.ini
### #[Certified Versions]
Linux=redhat-3,SuSE-9,redhat-4,centos-5,UnitedLinux-1.0,asianux-1,asianux-2
再添加
[Linux-centos-5.4-optional]
TEMP_SPACE=80
SWAP_SPACE=150
MIN_DISPLAY_COLORS=256
9.修改目录权限
#chmod -R 777 /tmp/database
(二)              安装oracle
1.创建和配置用户
#/usr/sbin/groupadd oinstall
#/usr/sbin/groupadd dba
#/usr/sbin/useradd -m -g oinstall -G dba oracle
#id oracle
为Oracle用户设置密码:
#passwd oracle
2.创建安装目录
# mkdir -p /u01/app/oracle
# chown -R oracle:oinstall /u01/app/oracle
# chmod -R 775 /u01/app/oracle
3.修改 Oracle 用户 .bash_profile
# su - oracle
$ vi ./.bash_profile
添加
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0.1
export ORACLE_SID=orcl
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
4.开始安装
注销然后以oracle用户登录(如果你不重新登录而直接在终端中通过 “su – oracle” 切换到Oracle用户安装的话,可能会出现display设置错误的提示而无法安装)
打开一个终端,执行以下命令开始安装
# cd /tmp /databases
# export LANG=en_US
# ./runInstaller
如果你的安装过程中还出现错误的话,应该是还有一些包没打上,这时你不必终止安装过程,而是打开另一个终端,以root用户身份再去查检安装最前面所说的那些包,如果这些包都装好了,再回到oracle安装程序,在出错提示框点击 “Retry” 即可继续安装,直到成功。
选择“Advanced Installation”
一切默认,单击“Next”
选择“Enterprise Edition(1.24GB)”,单击“Product Languages”,选择支持语言
选择“English”和“Simplified Chinase”,单击“ok”
默认,“Next”
检查安装条件,单击“Next”
选择“Install database Software only”,只安装软件,不创建数据库
单击“Install”开始安装
按照提示用root身份执行两个脚本,然后单击“ok”
安装完成,单击“Exit”
(三)              配置数据库
1.创建数据库
在两台机器上分别安装oracle数据库软件以后,需要在其中一台上安装oracle数据库实例,然后把配置文件拷贝到第二台机器上。我们在NodeA上创建oracle实例。
首先以root权限挂载盘阵:
#mount /dev/sdb1 /oradata
切换到oracle用户,执行dbca命令:
#dbca
现在NodeA上的数据库已经能够运行,关闭机器,同样方法安装数据库,注意所有参数都要一致,安装前可先吧/oradata文件夹下的文件先删除,建立数据库时会重新建立的。
为了使数据库的脚本dbstart和dbshut起作用,需要修改/etc/oratab文件,找到
orcl:/u01/app/oracle/product/10.2.0.1:N
修改为:
orcl:/u01/app/oracle/product/10.2.0.1:Y
2.将数据库设置成服务
编辑脚本oracle10g,内容如下:
# !/bin/bash
# whoami
# root
# chkconfig: 345 51 49
# description: starts the oracle dabase deamons
#
# Source function library.
. /etc/rc.d/init.d/functions
ORA_HOME=/u01/app/oracle/product/10.2.0.1
ORA_OWNER=oracle
case "$1" in
'start')
echo -n "Starting oracle10g: "
su - $ORA_OWNER -lc "$ORA_HOME/bin/dbstart" &
su - $ORA_OWNER -lc "$ORA_HOME/bin/lsnrctl start"
touch /var/lock/subsys/oracle10g
echo
;;
'stop')
echo -n "shutting down oracle10g: "
su - $ORA_OWNER -lc "$ORA_HOME/bin/dbshut" &
su - $ORA_OWNER -lc "$ORA_HOME/bin/lsnrctl stop"
rm -f /var/lock/subsys/oracle10g
echo
;;
'restart')
echo -n "restarting oracle10g: "
$0 stop
$0 start
echo
;;
'status')
status oracle
;;
*)
echo "usage: oracle10g { start | stop | restart | status}"
exit 1
esac
exit 0
注意已经要配置“status”选项,否则后面配置集群的时候会失败。(就这点错误,害我找了一下午原因)
将文件复制到/etc/init.d路径下,设置权限
#chmod 777 /etc/init.d/oracle10g
选择菜单“系统”-“管理”-“服务器设置”-“服务”打开服务配置;选择菜单中“行动”-“添加服务”,输入服务名称:oracle10g
此时在左侧列表框中出现了oracle10g的服务,可以像其他服务同样的方式使用。记得住要去掉前面的对勾,防止其自动启动。
五.      集群配置
选择“系统”-“服务器设置”-“Cluster Managerment”
选择“Create New Configuration”
只填入cluster的名称db_cluster,其余采用预设值即可。
(一)              设置Fence Devices
选择“Fence Devices”,点击右侧的“Add a Fence Device”
选择“IPMI Lan”,输入Name:Fence NodeA;IP Address:192.168.70.103;Login:USERID;Password:PASSW0RD(注意:这里是数字零,不是字母O);其他默认,点击“确定”
同样方式,添加Fence-NodeB
(二)              设置 Cluster Nodes
选择“Cluster Nodes”,点击右侧“Add a Cluster Node”
输入Cluster Node Name:NodeA,单击“确定”,同样方法添加NodeB
选择“NodeA”,单击右侧“Manage Fencing For This Node”管理此节点的Fence设备,
选择“NodeA”,单击“Add a New Fence Level”
选择刚刚添加的“Fence-Level-1”,单击右侧“Add a New Fence to this Level”
选择NodeA对应的Fence设备“Fence-NodeA”
完成对NodeA的添加,同样方法添加NodeB,对应Fence设备为Fence-NodeB
(三)              设置Failover Domains
选择“Failover Domains”,单击“Create a Failover Domain”,输入名称:db_domain
用“Available Cluster Nodes”下拉选单加入成员NodeA和NodeB,记得勾选“Restrict Failover To This Domains Members”,单击“关闭”
(四)              设置Cluster Resources
选择“Resources”,单击“Create a Resource”,出现配置对话框,选择Resource Type为“IP Address”,输入公共IP地址:192.168.70.100(今后我们用这个ip访问数据库)
同样方法添加File System,用来挂载用来存储数据的磁盘阵列,如图:
添加Script,File输入启动关闭数据库服务的脚本路径
(五)              配置Cluster Service
Service其实是一堆Resource的组合。首先制定service的名称;接着看到“Autostart This Service”这个选项,“Autostart This Service”的用途是当集群启动时会自动将该服务启动。实际上通常不勾选这个项目,等集群服务全部启动成功后,在手动制定该Service要启动到那一个Node上。
下拉 Failover Domain 选单,指定该服务只能在db_domain  Failover Domain
內转移。Recovery Policy 指定“relocate”,“relocate”的作用是当 DB service
有问题時不会尝试restart该服务,会直接将DB service转移至另一台 node。
最后利用“Add a Shared Resource to this service”将这3个resource加到这个 service。
(六)              部署cluster.conf
设置完成后,点击左上方的“File”-“Save”将cluster 的设定的存档,然后再将/etc/cluster/cluster.conf复制到其他Node。
(七)              编辑hosts文件
将各个节点的IP信息输入到/etc/hosts文件,内容如下:
127.0.0.1       localhost.localdomain localhost
192.168.70.101  NodeA
192.168.70.102  NodeB
192.168.70.103  Fence-NodeA
192.168.70.104  Fence-NodeB
192.168.70.100  dbserver
(八)              启动集群服务
复制完成后,按照下面顺序启动Cluster服务:
1.同时在NodeA和NodeB启动cman,指令为:service cman start
2.同时在NodeA和Nodeb启动rgmanager,指令为:service rgmanager start
3.在任意一个Node上执行clustat可查看整个cluster的状态
利用“clusvcadm -e DB -m NodeA”將 DB service 启动在NodeA。
检查Service IP(ip addr show eth0)、File System Resource(df -h)是否真的在 NodeA上执行。
手动转移命令为“clusvcadm -r DB -m NodeB”