RAC的配置和实现.doc_第1页
RAC的配置和实现.doc_第2页
RAC的配置和实现.doc_第3页
RAC的配置和实现.doc_第4页
RAC的配置和实现.doc_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

LINUX+ASM来实现ORACLE 10.2 RAC目 录第一章 实验环境介绍 . 第二章 IPSAN的配置.2.1 在共享电脑上安装RHEL ISCSI-TARGET .3 2.2 在共享电脑上配置RHEL ISCSI-TARGET .42.3 在两个集群节点上安装并配置ISCSI-INITIATOR-UTILS . . 5 2.3.1 集群节点1的iscsi-initiator配置 . 5 2.3.2 集群节点2的iscsi-initiator配置 . 5 2.3.3 对ISCSI磁盘进行分区 . 6 2.3.4 裸设备的配置.第三章 ASM的安装与配置 . 8 3.1 在LINUX下安装ASM驱动软件 . 8 3.2 配置 ORACLE 自动存储管理 (ASM) . 9 3.2.1 配置 ASMLib。 . 9 3.2.2 创建 ASM 磁盘。 . 9第四章 操作系统补丁包安装和参数调整.第五章 集群件和数据库软件的安装.135.1 配置两个集群节点间的时间同步。. 13 5.1.1 NTP服务器的配置 . 13 5.1.2 NTP客户端的配置 . 14 5.2 配置两个集群节点间的ORACLE用户的信任关系 . 15 5.3 安装CRS软件 . 16 5.4 安装数据库软件 . 29第六章 在ASM上创建数据库 . 306.1 数据库的创建与配置 . 30 6.2 ASM下ORACLE RAC的配置管理 . 43第七章 RAC理论性知识 第一章 实验环境介绍系统平台介绍(我这里做得实验室使用ora10linux是32位做的) 平台版本操作系统Redhat5.4 32位虚拟机VMware Workstation 9.0集群软件Oracle10201_clusterware_linux32位数据库软件oracle10g .0 linux32位Linux配置内容 详细服务器两台服务器(node1,node2)加一台共享ISCSI磁盘电脑(node3)网卡虚拟双网卡因为我们要配置一个虚拟IP供外部提供内存1024M集群节点介绍节点名称 IP地址 数据库实例名 角色 node12 node15 node1-vip2 node1-privora10g1RAC节点1 node23 node26 node2-vip3 node2-priv ora10g2 RAC节点2 虚拟ip:主机-vip这是对外提供的IP,也就是存放hosts文件里面的,是为了漂移用的,就是当一台机子down掉以后,它的IP可以漂移到另一台机器上,从而导致我们的机子永远都是活的固定ip:主机基本只对管理员开放私有ip:主机-priv也可以称为heartbeat,这是专门为了验证cluster是否存活,这步对外开放存储环境介绍节点名称 ISCSI磁盘 ORACLE格式ORACLE应用 容量 node1 node2 /dev/sdb1 RAWOCR oracle配置仓库500M /dev/sdb2 RAWvotd_disk 500M /dev/sdb3 ASMDGDATA存放数据库文件 5G /dev/sdb4 ASMDGFLASH闪恢复区 5G注释:这里的OCR和voting disk都是为了解决健忘症的,而cluster oracle软件也是有这两个磁盘文件和若干进程和网络元素组成的OCA健忘问题是由于每个节点都有配置信息的拷贝,修改节点的配置信息不同步引起的,Oracle采用的解决方法就是把这个配置文件放在共享的存储上,这个文件就是OCRDiskVotingDisk这个文件主要用于记录节点成员状态,在出现脑裂时,决定那个Partion获得控制权,其他的Partion必须从集群中剔除由于CRS的OCR和voteing_disk不支持在ASM文件系统上安装,所心我们把这两个文件安装在RAW裸设备磁盘中。第二章 IPSAN的配置 2.1 在共享磁盘那台电脑上安装RHEL iscsi-target。我这里是node3. 首先安装yum仓库,因为这些包都是在镜像中的,所以我们把镜像挂载到/iso目录下就行rootnode3 # yum install scsi-target-utils(这个包在linux镜像中存在,、/iso,这个包就是实现)2.2 在共享磁盘那台电脑上安装配置RHEL iscsi-target 首次安装需要先开启iscsi-target服务,命令如下: rootnode3 # service tgtd start2.3将iscsi-target服务添加到开机自动启动,命令如下:rootnode3 #chkconfig -level 2345 tgtd on2.4将如下命令添加到node3的/etc/rc.local文件中,并执行该文件:tgtadm -lld iscsi -op new -mode target -tid 1 -T .wish:ipsan-datatgtadm -lld iscsi -op new -mode logicalunit -tid 1 -lun 1 -b /dev/sdbtgtadm -lld iscsi -op bind -mode target -tid 1 -I 2tgtadm -lld iscsi -op bind -mode target -tid 1 -I 3注释:确定我们共享哪个盘,而共享盘给哪几个主机使用2.5查看iscsi-target映射的磁盘就是映射出多少磁盘做共享盘rootnode3 # tgtadm -lld iscsi -op show -mode targetTarget 1: .wish:ipsan-data System information: Driver: iscsi State: ready I_T nexus information: I_T nexus: 7 Initiator: .redhat:dd2e529ae12a Connection: 0 IP Address: 2 I_T nexus: 8 Initiator: .redhat:a0d0b781a84 Connection: 0 IP Address: 3 LUN information: LUN: 0 Type: controller SCSI ID: deadbeaf1:0 SCSI SN: beaf10 Size: 0 MB Online: Yes Removable media: No Backing store: No backing store LUN: 1 Type: disk SCSI ID: deadbeaf1:1 SCSI SN: beaf11 Size: 21475 MB Online: Yes Removable media: No Backing store: /dev/sdb Account information: ACL information: 2 32.3 在两个集群节点上安装并配置iscsi-initiator-utils2.3.1 集群节点1的iscsi-initiator配置rootnode1 # yum install iscsi-initiator-utils (同样也是存在于镜像中,/iso)rootnode1 # chkconfig -level 2345 iscsi on (添加服务到开机自动启动)rootnode1 # service iscsi start (开启iscsi服务)rootnode1 # iscsiadm -m discovery -t sendtargets -p 2 (指定共享的磁盘主机IP)rootnode1 # service iscsi restart2.3.2 集群节点2的iscsi-initiator配置rootnode2 # yum install iscsi-initiator-utils rootnode2 # chkconfig -level 2345 iscsi on rootnode2 # service iscsi start rootnode2 # iscsiadm -m discovery -t sendtargets -p 2 rootnode2 # service iscsi restart2.3.3 对ISCSI磁盘进行分区把/dev/sdb1,/dev/sdb2映射成裸设备(但这里我做的时候会出现错误,要把组和用户建好后执行才能成功)查看ISCSI磁盘rootnode1 # fdisk l对ISCSI磁盘进行分区(只需要要在集群中任一节点运行即可)对/dev/sdb分区分区过后如图所示在集群中的每个节点的/etc/udev/rules.d/60-raw.rules文件中加入以下内容ACTION=add,KERNEL=sdb1,RUN+=/bin/raw /dev/raw/raw1 %NACTION=add,KERNEL=sdb2,RUN+=/bin/raw /dev/raw/raw2 %NKERNEL=raw1, OWNER=oracle, GROUP=dba, MODE=660KERNEL=raw2, OWNER=oracle, GROUP=dba, MODE=660在每个节点中启动裸设备rootnode2 # start_udev rootnode1 # start_udev在每个节点中查看裸设备是否映射成功rootnode2 # ls l /dev/rawrootnode1 # ls l /dev/raw第三章 ASM的安装与配置 Oracle ASM 与 Oracle 数据库紧密集成在一起,并与 Oracle 的数据管理工具套件配合工作。它可以简化数据库存储管理,并提供原始磁盘 I/O 的性能。3.1 在LINUX下安装ASM驱动软件 将相应版本的软件包上传至LINUX,并在终端切换至相应的目录。 rootnode1 # rpm -ivh oracleasm-support-2.1.3-1.el5.i386.rpm rootnode1 # rpm -ivh oracleasm-2.6.194.el5-2.0.5-1.el5.i686.rpm rootnode1 # rpm -ivh oracleasmlib-2.0.4-1.el5.i386.rpm rootnode2 # rpm -ivh oracleasm-support-2.1.3-1.el5.i386.rpm rootnode2 # rpm -ivh oracleasm-2.6.194.el5-2.0.5-1.el5.i686.rpm rootnode2 # rpm -ivh oracleasmlib-2.0.4-1.el5.i386.rpm注: oracleasm软件包的版本最好和你操作系统内核的版本完全相同,比如我的版本是2.6.128.el5。或者内核的版本比这几个软件的版本要高,因为只有内核的版本更高内核才能支持这些软件的功能3.2 配置 Oracle 自动存储管理 (ASM)也是要在配置好oracle用户和组时才配置,所以是第四步骤的三3.2.1 配置 ASMLib。以 root 用户身份在两个节点上配置 ASMLib。rootnode1 /etc/init.d/oracleasm configure(启动asm的配置)Configuring the Oracle ASM library driver. This will configure the on-boot properties of the Oracle ASM library driver. The following questions will determine whether the driver is loaded on boot and what permissions it will have. The current values will be shown in brackets (). Hitting without typing an answer will keep that current value. Ctrl-C will abort. Default user to own the driver interface : oracle Default group to own the driver interface : dba Start Oracle ASM library driver on boot (y/n) n: y Fix permissions of Oracle ASM disks on boot (y/n) y: y Writing Oracle ASM library driver configuration: OK Loading module oracleasm: OK Mounting ASMlib driver filesystem: OK Scanning system for ASM disks: OK rootnode2 /etc/init.d/oracleasm configureConfiguring the Oracle ASM library driver. This will configure the on-boot properties of the Oracle ASM library driver. The following questions will determine whether the driver is loaded on boot and what permissions it will have. The current values will be shown in brackets (). Hitting without typing an answer will keep that current value. Ctrl-C will abort. Default user to own the driver interface : oracle Default group to own the driver interface : dba Start Oracle ASM library driver on boot (y/n) n: y Fix permissions of Oracle ASM disks on boot (y/n) y: y Writing Oracle ASM library driver configuration: OK Loading module oracleasm: OK Mounting ASMlib driver filesystem: OK Scanning system for ASM disks: OK 3.2.2 创建 ASM 磁盘。以 root 用户身份在任何一个节点上创建 ASM 磁盘。rootnode1 # /etc/init.d/oracleasm createdisk VOL1 /dev/sdb3rootnode1 # /etc/init.d/oracleasm createdisk VOL1 /dev/sdb4rootnode1 # /etc/init.d/oracleasm listdisksVOL1VOL2在另一节点上扫描刚才创建的ASM磁盘rootnode2 # vim /etc/udev/rules.d/60-raw.rulesrootnode2 # /etc/init.d/oracleasm scandisksScanning the system for Oracle ASMLib disks: OK rootnode2 #/etc/init.d/oracleasm listdisks VOL1 VOL2(注:经过实验发现有时集群节点重启后ASM实例启动不起来,导致集群状态不正常。经过分析原因是系统没有找到ASM磁盘,我们可以让系统启动之后再开启一下ASM服务来检测ASM磁盘,这样ASM实例就会正常了。在两节点都将“service oracleasm start”命令添加到“/etc/rc.local”文件中。)第四章 操作系统补丁包安装和参数调整本章的所有步骤需要在集群中的两个节点都要执行,下面我以节点wishdb1为例。 1、安装系统补丁包 (这些包也同样存在我们镜像中的)rootwishdb1 # yum install gcc gcc-c+ libXp libaio make binutils openmotif setarch compat-db compat-gcc compat-gcc-c+ compat-libstdc+ compat-libstdc+-devel rsh2、在两个集群节点配置/etc/hosts文件 集群节点1的/etc/hosts文件集群节点2的/etc/hosts文件3、创建 oracle 用户以 root 用户身份执行rootnode1 # groupadd oinstallrootnode1 # groupadd dbarootnode1 #mkdir -p /u01/oraclerootnode1 #useradd -d /u01/oracle/ -g oinstall -G dba oraclerootnode1 #passwd oraclerootnode1 #chown -R oracle:oinstall4、创建 oracle 用户环境文件。export ORACLE_SID=ora10g1export ORACLE_BASE=/u01/oracleexport ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1export ORA_CRS_HOME=$ORACLE_BASE/product/10.2.0/crs_1export LD_LIBRARY_PATH=$ORACLE_HOME/libviexport PATH=$ORACLE_HOME/bin:$ORA_CRS_HOME/bin:$PATHumask 0225、创建文件系统目录结构oraclenode1 $mkdir -p $ORACLE_BASE/adminoraclenode1 $mkdir -p $ORACLE_HOMEoraclenode1 $mkdir -p $ORA_CRS_HOME6、提高 Oracle 用户的 shell 限制就是连接到该服务器的主机限制个数使用文本编辑器将下面列出的行添加到 /etc/security/limits.conf、/etc/pam.d/login 和 /etc/profile。其他信息可以从文档中获得。 以root身份登陆 vi /etc/security/limits.conf oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536 soft 指的是当前系统生效的设置值 hard 表明系统中所能设定的最大值。soft 的限制不能比har 限制高noproc - 进程的最大数目 nofile - 打开文件的最大数目vi /etc/pam.d/login session required /lib/security/pam_limits.so 要使 limits.conf 文件配置生效,必须要确保 pam_limits.so 文件被加入到启动文件中,/etc/pam.d/login 文件中要有session required /lib/security/pam_limits.sovi /etc/profile if $USER = oracle ; then if $SHELL = /bin/bash ; then ulimit -p 16384 ulimit -n 65536 else ulimit -u 16384 -n 65536 fi umask 022 fiBash内建了一个限制器ulimit。注意任何硬限制都不能设置得太高,因此如果你在/etc/profile或用户的 .bash_profile (用户不能编辑或删除这些文件)中定义了限制规则,你就能对用户的Bash shell实施限制。这对于缺少PAM支持的LINUX旧发行版本是很有用的。你还必须确保用户不能改变他们的登录shell。7、配置内核参数。 使用文本编辑器将下面列出的行添加到 /etc/sysctl.conf。要使更改立即生效,请执行 /sbin/sysctl -p。 rootwishdb1 # vi /etc/sysctl.conf kernel.shmall = 2097152 kernel.shmmax = 2147483648kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 fs.file-max = 65536 net.ipv4.ip_local_port_range = 1024 65000 net.core.rmem_default = 1048576 net.core.rmem_max = 1048576 net.core.wmem_default = 262144 net.core.wmem_max = 2621448、配置 hangcheck timer内核模块。 hangcheck timer 内核模块可监控系统的运行情况,并重新启动出现故障的 RAC 节点。它使用两个参数,即 hangcheck_tick(定义系统检查频率)和 hangcheck_margin(定义在重置 RAC 节点前的最大挂起延时)来确定节点是否出现故障,hangcheck-timer模块会根据hangcheck_tick的设置,定时检查内核。只要响应时间小于hangcheck_tick+hangcheck_margin,都会认为内核运行正常。否则,就意味着运行异常,模块会自动重启系统。在 /etc/modprobe.conf 中添加以下行,以设置 hangcheck 内核模块参数。 rootwishdb1 # vi /etc/modprobe.conf options hangcheck-timer hangcheck_tick=30 hangcheck_margin=180 要立即加载模块,执行:modprobe -v hangcheck-timer检查加载情况:rootzhh1 # lsmod| grep hangcheck_timerhangcheck_timer55930第五章 集群件和数据库软件的安装5.1 配置两个集群节点间的时间同步。 在ORACLE的RAC集群中产生故障最多的原因是集群中节点的时间相差太多,一般集群中节点的时间相差超过5分钟集群就会不正常。 在本实验环境中我们采用把集群的第一个节点配置成NTP的服务器,其它的节点每两秒种来和NTP服务器同步一次时间NetworkTimeProtocol(NTP)是用来使计算机时间同步化的一种协议5.1.1 NTP服务器的配置在节点1开启NTP服务,并把NTP服务加到开机自动起动rootnode1 #chkconfig -level 2345 ntpd onrootnode1 #service ntpd onoraclenode1 $ vim /etc/ntp.conf .# the administrative functions.restrict restrict -6 :1restrict 54server 54# Hosts on local network are less restricted.oraclenode1 $ /etc/init.d/ntpd stoporaclenode1 $ ntpdate 54oraclenode1 $ /etc/init.d/ntpd start在节点2开启NTP服务,并把NTP服务加到开机自动起动rootnode2 # chkconfig -level 2345 ntpd on (把NTP服务加到开机自动启动)rootnode2# service ntpd on (开启NTP服务)oraclenode2 $ vim /etc/ntp.conf .# the administrative functions.restrict restrict -6 :1restrict 54server 54# Hosts on local network are less restricted.oraclenode2 $ /etc/init.d/ntpd stop(停止NTP服务)oraclenode2 $ ntpdate 54oraclenode2 $ /etc/init.d/ntpd start5.1.2 NTP客户端的配置配置每2秒种和NTP服务器同步一次时钟 rootnode1 # system-config-date 选择“网络时间协议”选项卡,勾选“启用网络时间协议”,再填上NTP服务器的IP或域名。最后点“确定”完成NTP客户端的配置 rootnode2 # system-config-date 选择“网络时间协议”选项卡,勾选“启用网络时间协议”,再填上NTP服务器的IP或域名。最后点“确定”完成NTP客户端的配置 配置每2秒种和NTP服务器同步一次时钟 (node1和node2)在/etc/rc.local文件中加入以下内容: while 1 ; do ntpdate wishdb1 1/dev/null 2&1; sleep 2; done & 5.2 配置两个集群节点间的ORACLE用户的信任关系要建立用户等效性,需要在两个节点上以oracle 用户身份生成用户的公钥和私钥,首先在node1 执行:oraclenode1 $ mkdir /.sshoraclenode1 $ chmod 700 /.sshoraclenode1 $ ssh-keygen -t rsaGenerating public/private rsa key pair.Enter file in which to save the key (/home/oracle/.ssh/id_rsa):Enter passphrase (empty for no passphrase):Enter same passphrase again:Your identification has been saved in /home/oracle/.ssh/id_rsa.Your public key has been saved in /home/oracle/.ssh/id_rsa.pub.The key fingerprint is:d2:69:eb:ac:86:62:27:50:99:ff:e8:1e:a2:e6:5d:7f oraclenode1oraclenode1 $ ssh-keygen -t dsaGenerating public/private dsa key pair.Enter file in which to save the key (/home/oracle/.ssh/id_dsa):Enter passphrase (empty for no passphrase):Enter same passphrase again:Your identification has been saved in /home/oracle/.ssh/id_dsa.Your public key has been saved in /home/oracle/.ssh/id_dsa.pub.The key fingerprint is:0a:9a:20:46:a2:28:ec:72:23:82:f2:9d:f8:62:9b:d1 oraclenode1然后换node2 执行oraclenode2 $ mkdir /.sshoraclenode2 $ chmod 700 /.sshoraclenode2 $ ssh-keygen -t rsaGenerating public/private rsa key pair.Enter file in which to save the key (/home/oracle/.ssh/id_rsa):Enter passphrase (empty for no passphrase):Enter same passphrase again:Your identification has been saved in /home/oracle/.ssh/id_rsa.Your public key has been saved in /home/oracle/.ssh/id_rsa.pub.The key fingerprint is:dd:be:7a:37:e4:b5:f0:b2:24:95:50:61:ea:a1:61:07 oraclenode2oraclenode2 $ ssh-keygen -t dsaGenerating public/private dsa key pair.Enter file in which to save the key (/home/oracle/.ssh/id_dsa):Enter passphrase (empty for no passphrase):Enter same passphrase again:Your identification has been saved in /home/oracle/.ssh/id_dsa.Your public key has been saved in /home/oracle/.ssh/id_dsa.pub.The key fingerprint is:bc:b5:cb:43:c7:19:53:d6:f7:16:69:85:12:7f:aa:be oraclenode2切换回node1,接着执行:oraclenode1 $ cat /.ssh/id_rsa.pub /.ssh/authorized_keysoraclenode1 $ cat /.ssh/id_dsa.pub /.ssh/authorized_keys提示:下列命令会提示你输入node2 的oracle 密码,按照提示输入即可,如果失败可重新尝试执行命令。oraclenode1 $ ssh node2 cat /.ssh/id_rsa.pub /.ssh/authorized_keysThe authenticity of host node2 (02) cant be established.RSA key fingerprint is 92:d1:ce:5b:c8:a1:52:d5:ac:00:5f:48:5d:12:06:e4.Are you sure you want to continue connecting (yes/no)? yesWarning: Permanently added node2,02 (RSA) to the list of known hosts.oraclenode2s password:oraclenode1 $ ssh node2 cat /.ssh/id_dsa.pub /.ssh/authorized_keysoraclenode2s password:oraclenode1 $ scp /.ssh/authorized_keys node2:/.ssh/authorized_keysoraclenode2s password:authorized_keys 100% 1992 2.0KB/s 00:00两机相互执行,看看是否还需要输入密码oraclenode1 $ ssh node1 dateoraclenode1 $ ssh node2 dateoraclenode1 $ ssh node1-priv dateoraclenode1 $ ssh node2-priv date切换至node2 执行oraclenode2 $ ssh node1 dateoraclenode2 $ ssh node2 dateoraclenode2 $ ssh node1-priv dateoraclenode2 $ ssh node2-priv dateoraclenode2 $ssh node1 date; ssh node2 date; ssh node1-priv date; ssh node2-priv date 5.3 安装CRS软件将ORACLE 10.2的集群软件传到任意一个节点,并解压。并检查环境oraclenode1 oradisk$ unzip ora011_Oracle10201_clusterware_linux32.ziporaclenode1 oradisk$/clusterware/cluvfy/runcluvfy.sh stage -pre crsinst -n node1,node2 -verbose需要注意几点,其返回的信息中有几个错误可忽略。A).与VIP 查找一组适合的接口有关,错误信息如下:错误信息如下:ERROR:Could not fi

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论