实施 Oracle RAC 项目汇总

合集下载

oracle 11gr2图文安装rac版

oracle 11gr2图文安装rac版

Oracle 11G R2 RAC实施过程图文版(本文仅限于11G R2 on redhatlinux 6.x系列)内容目录1 实施准备 (2)1.1 调研与方案制定 (2)1.2 存储划分方案(参考) (3)1.3 介质 (4)2 设置系统 (4)2.1 系统检查 (4)2.1.1 cpu信息 (4)2.1.1 确认内存大小 (5)2.1.2 检查文件系统 (5)2.1.3 检查网络设置 (6)2.2 设置操作系统 (7)2.2.1 主机正名 (7)2.2.2 配置本地主机名解析hosts文件 (7)2.2.3 修改内核参数 (7)2.2.4 关闭防火墙服务 (8)2.2.5 关闭selinux (8)2.2.6 配置时钟同步 (9)2.3 设置软件安装/运行用户 (9)2.3.1 创建用户 (9)2.3.2 设置初始密码 (10)2.3.3 设置用户进程资源配额 (10)2.4 设置存储 (10)2.4.1 多路径软件配置 (10)2.4.2 udev绑定参考 (11)3 安装软件 (12)3.1 准备安装介质 (12)3.1.1 准备目录和权限(所有节点) (12)3.1.2 上传zip包(推荐ftp方式) (12)3.1.3 使用grid用户解包 (13)3.2 安装集群软件 (13)3.2.1 运行安装程序runInstaller (13)3.2.2 设置grid用户环境变量 (37)3.2.3 验证资源和服务状态,确定成功安装 (37)3.2.4 验证缺省监听 (38)3.2.5 查看scan_listener (39)3.3 安装数据库软件 (39)3.3.1 运行交互式安装程序runInstaller (39)3.3.2 为oracle用户的添加软件环境变量 (47)4 创建数据库 (47)4.1 创建asm diskgroup (47)4.1.1 以grid用户运行asmca工具 (47)4.2 创建数据库zbwshx(在1节点操作) (49)5 应用累计补丁更新PSU (69)5.1 升级补丁工具opatch (69)5.2 补丁1节点软件 (69)5.3 补丁2节点软件 (71)5.4 升级数据库(1节点操作) (71)6 附加脚本(可选) (72)6.1 调整数据库一些缺省设置 (72)6.2 管理集群服务 (73)7 初始化业务环境(举例) (73)1 实施准备1.1 调研与方案制定1.2 存储划分方案(参考)存储要1T1T分配,超过2T会有问题1.3 介质2 设置系统2.1 系统检查2.1.1 cpu信息1 查看物理cpu数shell(root)>cat /proc/cpuinfo |grep physical\ id|sort|uniq2 查看单个cpu coresshell(root)>cat /proc/cpuinfo |grepcpu\ cores|uniq3 查看单个是否超线程shell(root)>cat /proc/cpuinfo |grepcpu\ cores|uniq4 合计cpu coresshell(root)>cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c shell(root)>mpstat 12.1.1 确认内存大小物理内存是256Gswap取值算法为物理内存的一倍,当物理内存超过64G,建议>=物理内存,这里32G符合最小2.1.2 检查文件系统/var和/tmp空间至少2G,建议10G/dev/shm共享空间设为物理内存/2 2.1.3 检查网络设置检查1节点public网卡设置检查2节点public网卡设置检查1节点private网卡地址(第一组)检查2节点private网卡设置(第一组)检查1节点 private网卡(第二组)检查2节点private网卡(第二组)2.2 设置操作系统2.1.1 主机正名1节点(全部小写最好了)2节点注意:重新登陆确认改变生效2.1.2 配置本地主机名解析hosts文件shell(root)>vi /etc/hosts#public address192.168.9.101 zbwshx01192.168.9.102 zbwshx02#public vip address192.168.9.103 zbwshx01-vip192.168.9.104 zbwshx02-vip192.168.9.105 zbwshx-cluster-scan(建议3个,用DNS解析)#private group #110.10.11.11 zbwshx01-priv110.10.11.12 zbwshx02-priv1#private group #210.10.12.11 zbwshx01-priv210.10.12.12 zbwshx02-priv2#NTP服务器192.168.5.11 ntpserver2.1.3 修改内核参数1.编辑sysctl.confshell(root)>vi /etc/sysctl.conf#ORACLE SETTINGfs.aio-max-nr = 1048576fs.file-max = 6815744#{shmall}单位pages,命令"echo $((物理内存/$(getconf PAGESIZE)))"(计算:物理内存/4096)kernel.shmall = 67108864#{shmmax},单位bytes,为物理内存一半,echo $((256*1024*1024*1024/2))kernel.shmmax = 137438953472(物理内存/2)kernel.shmmni = 4096kernel.sem = 250 32000 100 128net.ipv4.ip_local_port_range = 9000 65500net.core.rmem_default = 262144net.core.rmem_max = 4194304net.core.wmem_default = 262144net.core.wmem_max = 1048586net.ipv4.ipfrag_high_thresh=524288net.ipv4.ipfrag_low_thresh=393216net.ipv4.tcp_rmem=4096 524288 16777216net.ipv4.tcp_wmem=4096 524288 16777216net.ipv4.tcp_timestamps=0net.ipv4.tcp_sack=0net.ipv4.tcp_window_scaling=1net.core.optmem_max=524287dev_max_backlog=2500sunrpc.tcp_slot_table_entries=128sunrpc.udp_slot_table_entries=128net.ipv4.tcp_mem=16384 16384 16384#多心跳网卡时需要多播技术net.ipv4.conf.default.rp_filter = 0#多播设备eth2,eth4net.ipv4.conf.eth2.rp_filter = 0net.ipv4.conf.eth4.rp_filter = 02.生效shell(root)>modprobesunrpcshell(root)>sysctl -p2.1.4 关闭防火墙服务shell(root)>chkconfig --level 2345 iptables offshell(root)>chkconfig --level 2345 ip6tables offshell(root)>service iptables stopshell(root)>service ip6tables stop2.1.5 关闭selinuxshell(root)>setenforce 0shell(root)>vi /etc/selinux/configSELINUX=disabled2.1.6 配置时钟同步∙配置NTP服务器<非数据库内容,略>∙配置ntp客户端shell(root)>vi /etc/ntp.conf注释掉其他restrict和server条目,增加如下serverntpserverrestrictntpserver mask 255.255.255.255nomodifynotrapnoquery ∙修改ntpd配置文件shell(root)>vi /etc/sysconfig/ntpdSYNC_HWCLOCK=yesOPTIONS="-x -u ntp:ntp -p /var/run/ntpd.pid"∙重启ntpd进程shell(root)>chkconfig --level 2345 ntpd onshell(root)>service ntpd start∙确认握手成功shell(root)>ntpq -p(初次同步需要一定时间)∙检查状态shell(root)>ntpstat2.2 设置软件安装/运行用户2.2.1 创建用户shell(root)>groupadd -g 10501 oinstallshell(root)>groupadd -g 10502 asmadminshell(root)>groupadd -g 10503 asmdbashell(root)>groupadd -g 10504 asmopershell(root)>groupadd -g 10505 dbashell(root)>groupadd -g 10506 opershell(root)>useradd -m -u 10501 -g oinstall -G asmadmin,asmdba,asmoper,dba -d /home/grid -s /bin/bash -c "Grid Infrastructure Owner" gridshell(root)>useradd -m -u 10502 -g oinstall -G dba,oper,asmdba -d /home/oracle -s /bin/bash -c "Oracle Software Owner" oracle2.2.2 设置初始密码shell(root)>password gridshell(root)>password oracle2.2.3 设置用户进程资源配额shell(root)>vi /etc/security/limits.conf#ORACLE SETTINGroot soft nproc 2047root hard nproc 16384root soft nofile 1024root hard nofile 65536root soft stack 10240root hard stack 32768grid soft nproc 2047grid hard nproc 16384grid soft nofile 1024grid hard nofile 65536grid soft stack 10240grid hard stack 32768oracle soft nproc 2047oracle hard nproc 16384oracle soft nofile 1024oracle hard nofile 65536oracle soft stack 10240oracle hard stack 327682.3 设置存储要求:✓同一个lun/vdisk在每个节点上设备名一致✓根据方案,通过scsi_id确认每一个lun/vdisk从存储上划分正确的✓共享模式要求在lun/vdisk在每个节点能同时读写✓RAC安装,lun/vdisk在操作系统上的设备名的属主是grid,组主是asmadmin,权限6602.3.1 多路径软件配置<非数据库内容,略>redhatlinux自带多路径软件multipath的参考文档官方文档:https:///documentation/zh-CN/Red_Hat_Enterprise_Linux/6/html/DM_Multipath/index.html百度搜索文档:/i6241962348353946114/绑定用户组案例:/2014/01/multipath实现设备用户组设置.html2.3.2 udev绑定参考注意:∙如果多路径软件已经实现了设备名绑定、属(组)主设置、权限设置,则不需要再配置udev∙udev不具有多路径failover能力∙本例为scsi磁盘∙∙1.shell(root)>fdisk -l|grep Disk\ /dev/sd根据系统人员告知,设备sda是本地操作系统宿主硬盘,不能使用,剩下的是共享磁盘2.查看scsi_idshell(root)>scsi_id -gvu /dev/sdN3.新建或编辑udev的rule文件shell(root)>vi /etc/udev/rules.d/99-oracle.rules(必须是99)KERNEL=="sd*", SUBSYSTEM=="block", ENV{DEVTYPE}=="disk",ENV{ID_SERIAL}=="36006016010402600126dd2e653ebe511", NAME+="crs_01", OWNER="grid", GROUP="asmadmin", MODE="0660"KERNEL=="sd*", SUBSYSTEM=="block", ENV{DEVTYPE}=="disk",ENV{ID_SERIAL}=="360060160104026004eb5b3db53ebe511", NAME+="crs_02", OWNER="grid", GROUP="asmadmin", MODE="0660"KERNEL=="sd*", SUBSYSTEM=="block", ENV{DEVTYPE}=="disk",ENV{ID_SERIAL}=="360060160104026006edcb7d153ebe511", NAME+="crs_03", OWNER="grid", GROUP="asmadmin", MODE="0660"KERNEL=="sd*", SUBSYSTEM=="block", ENV{DEVTYPE}=="disk",ENV{ID_SERIAL}=="36006016010402600f0b413ee53ebe511", NAME+="fra_data_01", OWNER="grid", GROUP="asmadmin", MODE="0660"KERNEL=="sd*", SUBSYSTEM=="block", ENV{DEVTYPE}=="disk",ENV{ID_SERIAL}=="36006016010402600162f6d1254ebe511", NAME+="zbwshx_data_01", OWNER="grid", GROUP="asmadmin", MODE="0660"4.启动udevshell(root)>udevadm control reload-rulesshell(root)>start_udev3 安装软件3.1 准备安装介质(介质上传到/u01/media/oracle/linux_x64目录)3.1.1 准备目录和权限(所有节点)shell(root)>mkdir -p /u01/media/oracle/linux_x64shell(root)>chown -R grid:oinstall /u01shell(root)>chmod -R g+w /u013.1.2 上传zip包(推荐ftp方式)✓用grid用户上传✓上传grid安装包,database安装包,补丁包,补丁工具✓上传后介质属主grid,组主oinstall3.1.3 使用grid用户解包shell(grid)>cd /u01/media/oracle/linux_x64shell(grid)>unzip p1*******_112040_Linux-x86-64_1of7.zipshell(grid)>unzip p1*******_112040_Linux-x86-64_2of7.zipshell(grid)>unzip p1*******_112040_Linux-x86-64_3of7.zip3.2 安装集群软件3.2.1 运行安装程序runInstallershell(grid)>cd gridshell(grid)>./runInstaller提示:为了把x-windows程序的界面投射到windows终端上,需要执行2个步骤1.在windows上启动本地X11Forward程序,推荐x-manager中的xpassive(端口默认6000,注意firewall)2.在服务器上设定shell环境变量:export DISPLAY=YourIP:0.03.执行xclock测试在DHCP+DNS的环境,需要激活GNS,这里关闭本方案只有一个SCAN IP,使用/etc/hosts解析(也就是说需要将SCAN IP写入到/etc/hosts 下)建立主机之间ssh互信,这样可以免密码互相登陆,oracle安装过程中会把1节点的软件自动复制到2节点。

Windows_Oracle_10g到Linux_Oracle19c_RAC的升级实现

Windows_Oracle_10g到Linux_Oracle19c_RAC的升级实现

Windows Oracle 10g到Linux Oracle19c RAC的升级实现雷姣惠 李思琳 李捷波 肖文博 徐正雄*(联勤保障部队第九二〇医院信息科 云南昆明 650032)摘要:目的 探讨Oracle数据库系统跨版本跨平台升级实现的可行性方案。

方法 从制订方案、方案实施、数据验证方面,详细介绍了Oracle数据库升级的具体实施方法与技术要点。

结果 实现Oracle数据库从10g for Windows到19c RAC for Linux的跨多版本系统升级,系统稳定运行。

结论 采用数据泵(expdp/im‐pdp)工具,通过建立中间库的方式升级,安全可靠,可操作性强,对相同功能需求具有参考借鉴价值。

关键词:Oracle数据库 跨多版本 跨操作系统 升级 医院信息系统中图分类号:TP316.7文献标识码:A 文章编号:1672-3791(2023)14-0017-05Implementation of Upgrading from Windows Oracle 10g to LinuxOracle 19c RACLEI Jiaohui LI Silin LI Jiebo XIAO Wenbo XU Zhengxiong*(Information Department, the 920th Hospital of the Joint Logistics Support Force of PLA, Kunming, YunnanProvince, 650032 China)Abstract:Objective To discuss the feasible plan of the implementation of the cross-version and cross-platform upgrade of the Oracle database system. Methods The specific implementation methods and technical points of the upgrade of the Oracle database are introduced in detail from the aspects of the plan formulation, plan implementa‐tion and data verification. Results The upgrade of the cross-muti-version system of the Oracle database from 10g for windows to 19c RAC for linux is realized, and the system runs stably. Conclusion The data pump (expdp/im‐pdp) tool is used, and the upgrade is made by establishing intermediate libraries, which is secure and reliable, has strong operability, and has reference value for the same functional requirements.Key Words: Oracle database; Cross multi-version; Cross operating system; Upgrade; Hospital information system笔者医院信息系统(Hospital Information System,HIS)数据库为基于Windows 2008系统的Oracle 10.2.0.5版本,数据量为800 G,单机运行。

关于oracle的RAC

关于oracle的RAC

关于oracle的RACsaintfei:从网上搜集的文章集合整理而成,对ora的rac的组件和体系结构有了基本的认识。

下面为个人总结归纳:实例概念一组进程和对应的数据结构数据库是一个箱子,实例相当于机械手一台机器上一个库只能对应一个实例Rac一个库多个实例,并行。

每个实例运行在一个物理机器上,可以负载均衡,发生故障可以有状态切换。

需要能让多个机器同时读写的共享磁盘,可以由操作系统提供(AIX concurrent vg,Linux GPFS,)但concurrent vg是操作系统的双机软件中的组件所以必须安装ha软件。

可以用ora的ASM。

crs为ora的集群软件,提供ip切换等集群功能。

ASM功能类似LVM为os提供存储管理功能,但是是不可管理,把lun划给即可。

RAC模式,两个实例操作同一个数据库。

常用的方式是客户端连接的时候分别使用ip1加实例名和ip2加实例名的方式连接两个实例。

当一台主机故障之后,ip会切换到另一台主机上,但实例名变化了,仍然无法连接。

所以有了服务名的概念。

客户端使用ip加服务名方式连接数据库可以解决问题,切换比操作系统双机快。

但是对于tuxedo长连接的方式,没有重连接机制,仍然需要应用干预。

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------以下摘自:/share/detail/23532601一集群环境下的一些特殊问题1.1 并发控制在集群环境中,关键数据通常是共享存放的,比如放在共享磁盘上。

而各个节点的对数据有相同的访问权限,这时就必须有某种机制能够控制节点对数据的访问。

oracle rac 安装部署文档

oracle rac 安装部署文档

oracle rac 安装部署文档oracle oracle rac搭建][常见问题汇总oracle rac 安装部署文档物理硬件配置需求:oracle 虚拟机需求:oracle rac两节点脚本搭建方法操作系统安装数据库安装oracle rac 图形界面搭建方法(适用于两个节点和多个oracle节点)创建磁盘组安装oracle数据库dbca 创建数据库配置oracle性能测试相关的参数关闭iolog常见问题汇总问题一:oracle在运行过程中,异常中断存储进程(gluster,tgtd等)会导致oracle异常报错ORA-01078。

问题二:查看数据库实例状态的时候报错ORA-01034问题三:删除问题表失败问题四:通过系统镜像安装桌面。

问题五:执行完oracle_install_rac.sh 如果oracleasm 命令未别找到,要先解压rpm文件夹问题六:rac01 和rac02 sid配置成一样的了怎么修改问题七:请求spfile错误问题八:ora 12516报错监听程序找不到符合协议堆栈要求的可用处理程序问题九:问题启动数据库报错 ORA-01078物理硬件配置需求:oracle 虚拟机需求:oracle rac两节点脚本搭建方法操作系统安装1.页面选择部署oracle rac2.选择共享盘创建,单机下一步3.配置虚拟机基本信息,– cpu改成2*16核,– 内存改成96G,– 添加一个网卡,连接心跳交换机– 磁盘添加iso redhat镜像文件– 磁盘设置为80G 预先分配网络配置第一个网口作为虚拟机的公网,第二个网口作为虚拟机的私网网口(连接heartbeat交换机的网口)4.单击下一步,安装redhat操作系统 [以下简略提示4点]1.hostname可以先不改2.创建分区的时候,选择Create Custom Layout自己配置分区大小3.创建分区/boot 分区1024M,swap 分区20480M,剩余的空间分配给/分区4.安装的时候选择带桌面的5.red hat系统安装完成后,按页面提示,安装虚拟机性能优化工具(不安装性能优化工具,会导致测试性能的时候,性能大幅下降)6.安装完成后,将虚拟机关机。

Oracle RAC存储多路径的设置案例

Oracle RAC存储多路径的设置案例

Oracle RAC存储多路径的设置案例以redhat6、centos6、oracle6及Asianux4为例1.安装多路径的客户端如果是FC SAN: yum install device-mapper device-mapper-multipath -y如果是IP SAN: yum install iscsi-initiator-utils device-mapper device-mapper-multipath -y2.设置一个多路径的配置文件:/usr/share/doc/device-mapper-multipath-0.4.9/multipath.conf 的文件拷贝到/etc目录下面:3.启动multipath服务/etc/init.d/multipathd restart4.将所有/etc/multipath/bindings 设置为一致,两边的内容一样[root@rac81]# cat /etc/multipath/bindings# Multipath bindings, Version : 1.0# NOTE: this file is automatically maintained by the multipath program.# You should not need to edit this file in normal circumstances.## Format:# alias wwid#mpatha 3600605b005c1b03019ae96a616049c04mpathb 3600143801259f9320000500000360000mpathc 3600143801259f9320000500000420000mpathd 3600143801259f9320000500000460000mpathe 3600143801259f93200005000004a0000mpathf 3600143801259f93200005000003e0000mpathg 3600143801259f93200005000003a0000mpathh 3600143801259f93200005000004e0000mpathi 3600143801259f9320000500000520000mpathj 3600143801259f9320000500000560000mpathk 3600143801259f93200005000005a0000mpathl 3600143801259f93200005000005e0000mpathm 3600143801259f93200005000007a00004.配置multipath.conf 文件的磁盘项目devices {device {vendor "HP"product "HSV2[01]0|HSV300|HSV4[05]0"getuid_callout "/lib/udev/scsi_id --whitelisted --device=/dev/%n"prio aluahardware_handler "0"path_selector "round-robin 0"path_grouping_policy group_by_priofailback immediaterr_weight uniformno_path_retry 18rr_min_io_rq 1path_checker tur}}上述的内容根据磁盘柜的型号定制,如HP...blacklist {#wwid "3600605b005c192d019aeb93a121ef663"wwid "3600605b005c1b03019ae96a616049c04"devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"devnode "^hd[a-z]"}上述的内容要将本地磁盘的wwid号放入blacklist中,避免产生多路径multipaths {multipath {wwid 3600143801259f9320000500000360000alias disk1}multipath {wwid 3600143801259f9320000500000420000alias disk2}multipath {wwid 3600143801259f9320000500000460000alias disk3}multipath {wwid 3600143801259f93200005000004a0000alias disk4}multipath {wwid 3600143801259f93200005000003e0000alias disk5}multipath {wwid 3600143801259f93200005000003a0000alias disk6}multipath {wwid 3600143801259f93200005000004e0000alias disk7}multipath {wwid 3600143801259f9320000500000520000alias disk8}multipath {wwid 3600143801259f9320000500000560000alias disk9}multipath {wwid 3600143801259f93200005000005a0000alias disk10}multipath {wwid 3600143801259f93200005000005e0000alias disk11}multipath {wwid 3600143801259f93200005000007a0000alias disk12}}上述的内容是设置multipath别名项defaults {udev_dir /devpolling_interval 10path_selector "round-robin 0"path_grouping_policy multibusgetuid_callout "/lib/udev/scsi_id --whitelisted --device=/dev/%n"prio aluapath_checker readsector0rr_min_io 100max_fds 8192rr_weight prioritiesfailback immediateno_path_retry failuser_friendly_names yes}上述defaults一定要打开,一般为默认即可;5.执行multipath -F命令将原来生成错误的多路径删除[root@rac81 ~]# multipath -F6.执行multipath -v2命令生成新的多路径[root@rac81 ~]# multipath -v27.使用multipath -ll查看生成多路径的情况[root@rac81 ~]# multipath -lldisk9 (3600143801259f9320000500000560000) dm-16 HP,HSV360 size=500G features='0' hwhandler='0' wp=rw`-+- policy='round-robin 0' prio=10 status=active|- 6:0:0:9 sdj 8:144 failed faulty running|- 6:0:1:9 sdv 65:80 failed faulty running|- 8:0:0:9 sdah 66:16 active ready running`- 8:0:1:9 sdat 66:208 active ready runningdisk8 (3600143801259f9320000500000520000) dm-14 HP,HSV360 size=500G features='0' hwhandler='0' wp=rw`-+- policy='round-robin 0' prio=10 status=active|- 6:0:0:8 sdi 8:128 failed faulty running|- 6:0:1:8 sdu 65:64 failed faulty running|- 8:0:0:8 sdag 66:0 active ready running`- 8:0:1:8 sdas 66:192 active ready runningdisk12 (3600143801259f93200005000007a0000) dm-18 HP,HSV360 size=100G features='0' hwhandler='0' wp=rw`-+- policy='round-robin 0' prio=10 status=active|- 6:0:0:12 sdm 8:192 failed faulty running|- 6:0:1:12 sdy 65:128 failed faulty running|- 8:0:0:12 sdak 66:64 active ready running`- 8:0:1:12 sdaw 67:0 active ready runningdisk7 (3600143801259f93200005000004e0000) dm-12 HP,HSV360 size=500G features='0' hwhandler='0' wp=rw`-+- policy='round-robin 0' prio=10 status=active|- 6:0:0:7 sdh 8:112 failed faulty running|- 6:0:1:7 sdt 65:48 failed faulty running|- 8:0:0:7 sdaf 65:240 active ready running`- 8:0:1:7 sdar 66:176 active ready runningdisk11 (3600143801259f93200005000005e0000) dm-20 HP,HSV360 size=500G features='0' hwhandler='0' wp=rw`-+- policy='round-robin 0' prio=10 status=active|- 6:0:0:11 sdl 8:176 failed faulty running|- 6:0:1:11 sdx 65:112 failed faulty running|- 8:0:0:11 sdaj 66:48 active ready running`- 8:0:1:11 sdav 66:240 active ready runningdisk6 (3600143801259f93200005000003a0000) dm-6 HP,HSV360 size=1.0G features='0' hwhandler='0' wp=rw`-+- policy='round-robin 0' prio=10 status=active|- 6:0:0:2 sdc 8:32 failed faulty running|- 6:0:1:2 sdo 8:224 failed faulty running|- 8:0:0:2 sdaa 65:160 active ready running`- 8:0:1:2 sdam 66:96 active ready runningdisk10 (3600143801259f93200005000005a0000) dm-22 HP,HSV360 size=500G features='0' hwhandler='0' wp=rw`-+- policy='round-robin 0' prio=10 status=active|- 6:0:0:10 sdk 8:160 failed faulty running|- 6:0:1:10 sdw 65:96 failed faulty running|- 8:0:0:10 sdai 66:32 active ready running`- 8:0:1:10 sdau 66:224 active ready runningdisk5 (3600143801259f93200005000003e0000) dm-4 HP,HSV360 size=1.0G features='0' hwhandler='0' wp=rw`-+- policy='round-robin 0' prio=10 status=active|- 6:0:0:3 sdd 8:48 failed faulty running|- 6:0:1:3 sdp 8:240 failed faulty running|- 8:0:0:3 sdab 65:176 active ready running`- 8:0:1:3 sdan 66:112 active ready runningdisk4 (3600143801259f93200005000004a0000) dm-10 HP,HSV360 size=500G features='0' hwhandler='0' wp=rw`-+- policy='round-robin 0' prio=10 status=active|- 6:0:0:6 sdg 8:96 failed faulty running|- 6:0:1:6 sds 65:32 failed faulty running|- 8:0:0:6 sdae 65:224 active ready running`- 8:0:1:6 sdaq 66:160 active ready runningdisk3 (3600143801259f9320000500000460000) dm-8 HP,HSV360 size=500G features='0' hwhandler='0' wp=rw`-+- policy='round-robin 0' prio=10 status=active|- 6:0:0:5 sdf 8:80 failed faulty running|- 6:0:1:5 sdr 65:16 failed faulty running|- 8:0:0:5 sdad 65:208 active ready running`- 8:0:1:5 sdap 66:144 active ready runningdisk2 (3600143801259f9320000500000420000) dm-0 HP,HSV360 size=500G features='0' hwhandler='0' wp=rw`-+- policy='round-robin 0' prio=10 status=active|- 6:0:0:4 sde 8:64 failed faulty running|- 6:0:1:4 sdq 65:0 failed faulty running|- 8:0:0:4 sdac 65:192 active ready running`- 8:0:1:4 sdao 66:128 active ready runningdisk1 (3600143801259f9320000500000360000) dm-2 HP,HSV360 size=1.0G features='0' hwhandler='0' wp=rw`-+- policy='round-robin 0' prio=10 status=active|- 6:0:0:1 sdb 8:16 failed faulty running|- 6:0:1:1 sdn 8:208 failed faulty running|- 8:0:0:1 sdz 65:144 active ready running`- 8:0:1:1 sdal 66:80 active ready running[root@rac81 ~]#。

Oracle Clusterware及Rac管理及部署指南10g Release 2

Oracle Clusterware及Rac管理及部署指南10g Release 2

Oracle Clusterware及Rac管理及部署指南10g Release 2(B14197-03)Oracle Clusterware需要两个clusterware组件:●∙Voting disk:用于记录结点(node)的成员资格信息●∙Oracle Cluster Registry(OCR):记录集群(cluster)的配置信息●∙这两个组件必须在共享磁盘上Clusterware有如下后台进程●∙Cluster Synchronization Service(CSS)●∙Event Management(EVM)Clusterware软件中各组件功能●∙Cluster Synchronization Service(CSS):通过控制哪个结点为集群的成员、结点在加入或离开集群时通知集群成员来控制集群的配置信息。

●∙Cluster Ready Services(CRS):管理集群内高可用操作的基本程序。

Crs管理的任何事物被称之为资源,它们可以是一个数据库、一个实例、一个监听、一个虚拟IP(VIP)地址、一个应用进程等等。

CRS是根据存储于OCR中的资源配置信息来管理这些资源的。

这包括启动、关闭、监控及故障切换(start、stop、monitor及failover)操作。

当一资源的状态改变时,CRS进程生成一个事件。

当你安装RAC时,CRS进程监控Oracle的实例、监听等等,并在故障发生时自动启动这些组件。

默认情况下,CRS进程会进行5次重启操作,如果资源仍然无法启动则不再尝试。

●∙Event Management(EVM):发布CRS创建事件的后台进程。

●∙Oracle Notification Service(ONS):通信的快速应用通知(FAN:Fast ApplicationNotification)事件的发布及订阅服务。

●∙RACG:为clusterware进行功能扩展以支持Oracle的特定需求及复杂资源。

oracel rac实施方案

oracel rac实施方案

•RAC概述Oracle的真正应用集群(RAC)提供了一个高可用、高可扩展的数据库环境。

如果在集群中的一个服务器崩溃了,数据库实例仍然可以再集群的其他服务器或节点上运行。

RAC通过多个数据库服务器多节点的内部互连以及共享存储来实现。

RAC可以提高系统的扩展性、性能、管理性以及可用性。

•安装计划•服务器节点配置计划服务器节点计划主要包括以下几个方面:•各个节点服务器名称;•服务器的硬件配置:处理器、内存、本地硬盘、网卡;•服务器的操作系统信息在安装以前,可以按照清单对这些信息进行。

可以通过下面的表格来计划各个节点的配置信息:•网络配置计划网络系统计划主要包括以下几个方面:•DNS服务器IP地址、网关IP地址;•Oracle SCAN 名称以及IP地址;•各个数据库节点的公共网络IP地址、私有网络IP地址,以及虚拟IP地址;•存储配置计划存储配置计划主要包括以下的几个方面:服务器节点的本地存储;共享SAN存储数据库数据文件配置路径数据库日志文件路径•数据库计划数据库计划主要包括以下的几个方面:数据库名称: racdb;数据库实例名称:racdb1, racdb2, racdb3•系统配置与检查•操作系统名称检查检查/etc/hosts文件,确保相应的节点名称和IP地址被正确加入,确保机器名称不在127.0.0.1行上。

检查网关配置,确保各个节点之间能连接上。

检查域名/etc/resolv.conf,使用nslookup。

•安装操作系统RPM包下列操作系统RPM包需要安装:•binutils-2.17.50.0.6•compat-libstdc++-33-3.2.3•compat-libstdc++-33-3.2.3 (32 bit)•elfutils-libelf-0.125•elfutils-libelf-devel-0.125•elfutils-libelf-devel-static-0.125•gcc-4.1.2•gcc-c++-4.1.2•glibc-2.5-24•glibc-2.5-24 (32 bit)•glibc-common-2.5•glibc-devel-2.5•glibc-devel-2.5 (32 bit)•glibc-headers-2.5•ksh-20060214•libaio-0.3.106•libaio-0.3.106 (32 bit)•libaio-devel-0.3.106 安装•libaio-devel-0.3.106 (32 bit) •libgcc-4.1.2•libgcc-4.1.2 (32 bit)•libstdc++-4.1.2•libstdc++-4.1.2 (32 bit)•libstdc++-devel 4.1.2•make-3.81•pdksh-5.2.14•sysstat-7.0.2•unixODBC-2.2.11•unixODBC-2.2.11 (32 bit)•unixODBC-devel-2.2.11安装•unixODBC-devel-2.2.11 (32 bit)操作系统相应的包安装步骤:# From RHEL 5.x (x86_64)- [DVD]mkdir -p /media/cdrommount -r /dev/cdrom /media/cdromcd /media/cdrom/CentOSrpm -Uvh binutils-2.*rpm -Uvh elfutils-libelf-0.*rpm -Uvh glibc-2.*rpm -Uvh glibc-common-2.*rpm -Uvh ksh-2*rpm -Uvh libaio-0.*rpm -Uvh libgcc-4.*rpm -Uvh libstdc++-4.*rpm -Uvh make-3.*rpm -Uvh elfutils-libelf-devel-* rpm -Uvh gcc-4.*rpm -Uvh gcc-c++-4.*rpm -Uvh glibc-devel-2.*rpm -Uvh glibc-headers-2.*rpm -Uvh libstdc++-devel-4.*rpm -Uvh unixODBC-2.*rpm -Uvh compat-libstdc++-33*rpm -Uvh libaio-devel-0.*rpm -Uvh pdksh-5.*rpm -Uvh unixODBC-devel-2.*rpm -Uvh sysstat-7.*cd /eject也可以直接使用yum进行安装,但是需要事先配置好yum.repository相应的文件。

Oracle RAC+ASM+DataGuard配置实验记录+常见问题

Oracle RAC+ASM+DataGuard配置实验记录+常见问题

Oracle RAC+ASM+DataGuard配置实验记录+常见问题Oracle RAC+ASM+DataGuard配置实验记录+常见问题1、环境规划:---RAC环境介绍(primary database)rac1 rac2______________________________________________________public ip 192.168.110.11 192.168.110.12______________________________________________________virtual ip 192.168.110.21 192.168.110.22_____________________________________________________instance racdb1 racdb2______________________________________________________db_name racdb_______________________________________________________storage mode ASM__________________________________________________---单机环境介绍(standby database)数据文件可放至本地,也可以放至ASM上,本实验中先放至本地实验_____________________________________________________________________ _____ip 192.168.110.11 192.168.110.12_____________________________________________________________________ ______instance 192.168.110.13(rac3)_____________________________________________________________________ ______storage mode /oradata/racdb_____________________________________________________________________ ______----hosts文件#Public Network - (eth0)192.168.110.11 rac1192.168.110.12 rac2192.168.110.13 rac3#Private Interconnect - (eth1)10.10.10.11 rac1priv10.10.10.12 rac2priv#Public Virtual IP (VIP) addresses - (eth0)192.168.110.21 rac1vip192.168.110.22 rac2vip--检查环境1)、启动archivelog归档模式SQL> archive log list;Database log mode Archive ModeAutomatic archival EnabledArchive destination USE_DB_RECOVERY_FILE_DEST Oldest online log sequence 54Next log sequence to archive 56Current log sequence 56SQL> show parameter RECOVERYNAME TYPE VALUE------------------------------------ -----------------------------------------db_recovery_file_dest string +DG_RECOVERY db_recovery_file_dest_size big integer 2Grecovery_parallelism integer 02)、启动FORCE_LOGGING模式SQL> alter database FORCE LOGGING;Database altered.SQL> select FORCE_LOGGING from v$database;FOR---YES2、首先配置两个数据库的tnsnames.ora和listener.oratnsnames.ora(两台主机相同)racdb_rac1 =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.110.21)(PORT = 1521)) (CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = racdb_s)(SERVICE_NAME = racdb1)))racdb_rac2 =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.110.22)(PORT = 1521)) (CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = racdb_s)(SERVICE_NAME = racdb2)))racdb_standby =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.110.13)(PORT = 1521)) )(CONNECT_DATA =(SERVICE_NAME = racdb)))standby主机上的listener.oraSID_LIST_LISTENER =(SID_LIST =(SID_DESC =(GLOBAL_DBNAME = racdb)(ORACLE_HOME = /oracle/app/product/10.2.0/db_1)(SID_NAME = racdb))(SID_DESC =(GLOBAL_DBNAME = PLSExtProc)(ORACLE_HOME = /oracle/app/product/10.2.0/db_1)(SID_NAME = PLSExtProc)))LISTENER =(DESCRIPTION_LIST =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.110.13)(PORT = 1521)) (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))))3、准备参数文件RAC环境下的参数变化增加如下:RAC主库:(注意使用ASM的时候,不要改变db_unique_name参数,否则之后创建的asm文件就会放入至新的db_unique_name目录下面,导致DB_FILE_NAME_CONVERT失效。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实施 Oracle RAC 项目Oracle真正应用集群 (RAC) 是 RDBMS 市场中的最佳数据库集群。

Oracle RAC 的配置选项和特性为公司提供设计其高可用性解决方案的广泛的灵活性。

但是,如何使用所有配置选项、特性和灵活性成功地实施?本文是定义、设计和提供成功 Oracle RAC 项目的指南。

它详细介绍了减少风险和增加成功实施机会的详细步骤。

此外,它还突出了您在实施 Oracle RAC 项目过程中可能会犯的错误,并提供了避免这些错误的建议。

尽管这篇文章侧重于 Oracle RAC,但下列步骤对许多种 Oracle 实施项目均试用。

确定需求成功实施 Oracle RAC 的第一个重要阶段是确定项目的真实目标。

“确定需求”一步涉及识别和记录项目实施阶段要提供的特性和功能。

在实施 Oracle RAC 过程中,您还要经常核对这些需求。

将需求记录成文将有助于实施 Oracle RAC 项目。

否则,您将发现该项目难以管理,这是因为在项目实施过程中会不断出现意料不到的新问题。

避免错误的方法 1:确保关键业务和技术人员积极地参加项目需求的确定。

明确地将所有需求传达给项目负责人,包括关键的管理人员、技术人员以及最终用户。

第 1 步—确定项目范围“确定需求”阶段的第一步就是确定项目范围。

项目范围是用于论证项目业务需求的一系列细项,它说明了项目的可交付成果。

项目范围有时也称为“业务需求”。

要确定项目范围,请回答下列问题:∙项目的业务目标是什么?∙项目要完成什么工作?∙项目成功会带来哪些重要好处?以下是一个详细说明一个 Oracle RAC 示例的高级目标的项目范围文档。

避免错误的方法 2:努力使项目目标量化。

您将能重新核对这些目标,掌握整个项目的完成情况。

量化目标的工作包括记录项目日程和成本限制。

第 2 步–确定项目团队确定项目团队就要确定为项目制定交付目标的人和愿意完成项目方案中的任务的人。

这些人可能来自组织的多个部门,如决策人员、业务分析人员和技术人员。

下表是典型 Oracle RAC 项目的人员组成,并列明了他们的职能和完成项目所采取的步骤。

Oracle RAC 项目团队成员的职责会因地制宜,这取决于场地的大小和系统需求。

在组建该项目团队的时候,可能无法找到最合适的人员,因此,您只能找到可用的人员。

在这种情况下,对项目团队成员进行适当的技术培训可以降低实施风险。

技术培训通常可以降低项目风险和较高质量地完成项目。

避免错误的方法 3:如果新的 Oracle RAC 系统要取代已有的旧系统,需要让对旧系统经验丰富的人也参与。

吸纳这些团队成员将有助于确保满足所有项目需求。

第 3 步–确定服务等级需求“需求确定”阶段的第三步是确定服务等级需求。

服务等级需求是指期望Oracle RAC 项目实施支持的服务等级。

这些需求包含预期的服务等级和操作需求,并提供处理延期和失败的指导原则。

服务等级需求可以分为两类:服务等级需求和操作需求。

服务等级需求帮助 Oracle RAC 技术实施与项目的范围(项目的业务目标)保持一致。

确定服务等级需求应先从分析现有系统的需求开始。

分析包括查看现有系统的操作、技术以及支持的程序和文档。

可以通过回答诸如以下问题进一步确定服务等级需求∙哪几个小时对业务至关重要,需要 Oracle RAC 系统联机?∙该系统需要哪些服务等级?∙最低能忍受那种级别的性能和可用性?∙处理延期和失败的程序都有哪些?这些问题的回答通常可组成一个分级、分层的服务等级需求表,该表定义了不同的服务等级。

下面是一个服务等级表示例。

具体的服务等级和层数取决于您的组织数和业务部门数。

操作需求规定了维护 Oracle RAC 系统和满足以上定义的服务等级需求所需的程序。

通常,操作需求包括排定的维护中断、系统启动和关闭、系统备份、Oracle RAC 系统可用性、故障切换程序以及灾难恢复计划的信息。

可以通过回答诸如以下问题确定操作需求∙如何维持 Oracle RAC 系统性能基准?∙维护操作应进行的时间?∙哪些维护和备份操作应“联机”执行?∙关闭和启动系统需要哪些程序?∙要保证系统最大的可恢复性应执行那种备份?∙如何准备应对灾难?以下是一个 Oracle RAC 操作需求列表示例。

避免错误的方法 4:获得系统最终用户、客户和操作人员对服务等级和操作需求的认可和官方批准。

这包括就性能、可用性以及对系统失败的适当反应达成一致。

第 4 步–确定项目日程“确定需求”阶段的最后一步就是确定项目日程。

由于需要确保有足够的时间建立 Oracle RAC 解决方案来满足以上定义的所有需求,因此日程安排对项目成败至关重要。

日程安排涉及构建系统、为每个任务分配时间、以最优的顺序排列任务等所有任务的细节。

避免错误的方法 5:在安排项目日程的过程中,应努力使每个项目成员清楚所有时间限制(见“第 1 步”)。

征询每个团队成员的意见,准确评估和规划项目日程。

有时,可以在项目日程中同时执行多个任务。

巧妙地并行安排任务通常会按时完成项目并节省项目成本。

以下是一个高级 Oracle RAC 日程示例。

它展示了在 Oracle RAC 部署中经常执行的任务。

一个相对详细的项目日程可以使 Oracle RAC 团队跟踪项目的进度,主动对日程迟延做出回应。

当需要更改日程时,一定要确保完全记录了所有更改。

最初的项目日程和该更改报告为以后项目日程的制定提供了重要的参考。

避免错误的方法 6:利用可同时执行的多个任务。

在上述的项目日程中,注意 Task #11 是如何与 Task #7 到 Task #10 同时运行的。

在确定和记录了项目范围、项目团队、服务等级需求以及项目日程后,采用一个强有力的更改控制机制。

仔细管理对需求的任意更改,把成本控制在预算内,使项目按日程进行。

技术架构设计和构建成功部署 RAC 实施的第二个主要阶段是确定和实施 Oracle RAC 部署的技术架构规范。

技术架构描述了将组成新系统的硬件、软件和配置的详细情况。

由于大多数 Oracle RAC 实施集中在从单实例环境移植到 Oracle RAC 实例环境,而没有重新设计他们的应用程序和数据库,因此您将在该阶段中设计和构建Oracle RAC 环境。

下列步骤解释了如何将需求转化为可用的设计。

第 1 步–确定硬件和软件规范该步骤包括了解上面定义的服务等级需求和操作需求,然后把这些需求转化为硬件和软件规范。

它还考虑了硬件的兼容性,特定的操作系统要求以及 Oracle RAC 特定的软件需求。

使用下面的“硬件/软件注意事项表”组为核对单,用于记录在本步骤中决定。

对于您的个别实施,填写您项目使用的真正硬件和软件。

填写该表时,回答以下问题∙该组件是否有助于满足服务等级需求?∙该组件及其质量是否足以满足操作需求?∙该组件是否与其他硬件组件兼容以及是否经过认证可以与其他硬件组件一起使用?∙该组件是否与操作系统兼容以及是否经过认证可以与其他操作系统一起使用?∙该组件是否满足 Oracle RAC 软件需求?∙是否认证获支持 Oracle RAC 运行在该组件上?避免错误的方法 7:确保 Oracle RAC 项目团队知道组成 Oracle RAC 系统每个组件的功能和特性,以及所有组件已通过认证,可以一起使用。

您可以通过适当的技术培训和概念验证测试来降低 Oracle RAC 项目的风险。

避免错误的方法 8:如果要移植到一个全新的硬件和/或软件平台,那一定要测试一下您的应用程序。

更换平台可能需要更多的处理器或内存,以满足服务等级需求。

第2 步–执行规范填完上述核对单后,就要搭建 Oracle RAC 环境了。

这些任务包括:I.配置服务器硬件A.安装 CPU、内存和本地磁盘B.安装和配置 HBA、网卡及网络组件C.配置硬件互连D.安装和配置存储交换设备,把他们连到共享存储II.配置操作系统A.安装操作系统B.配置操作系统内核参数C.配置 the hangcheck-timer 或互连心跳模块D.创建操作系统用户组合用户E.创建和配置共享存储设备F.安装和配置原始分区或 Oracle 集群文件系统G.配置安全的 Shell (SSH)III.配置 Oracle 软件A.安装 Oracle ClusterwareB.安装 Oracle 服务器软件C.配置自动存储管理 (ASM)D.创建数据库E.创建数据库实例F.创建服务G.创建 Oracle Clusterware 应用程序配置文件IV.操作任务A.执行数据加载B.执行索引构建C.设置 OS 和数据库备份D.创建备用/Oracle Data Guard 环境E.安装和配置性能监视实用程序,如Oracle Enterprise Manager Grid ControlRAC 系统测试Oracle RAC 测试策略应至少包括四种测试:概念验证测试、单元测试、集成测试以及负载测试。

该测试策略不是一个独立于以上阶段单独执行的功能,而是一个集成到了确定、设计、构建等阶段中的一个过程。

该部分着重强调四种测试,并确定每种测试所对应的项目阶段。

概念验证测试概念验证测试是对概念可行性的测试。

它可以是新技术、新软件架构或新硬件的测试。

概念验证测试使项目团队可以测试项目决策的有效性,从而使他们可以快速做出有关项目方向的重要决策。

概念验证测试通常在“服务级别需求”和“技术架构设计和构建”步骤中执行。

单元测试单元测试包含单一硬件或软件组件测试以及单一应用程序或应用程序模块测试。

这些孤立的测试确定单一组件或模块是否按执行要求运行。

Oracle 10g第 2 版包括一个称为 Cluster Verification Utility (CVU) 的验证实用程序,它是一个用于对 Oracle RAC 节点的硬件和软件配置进行测试的工具。

可以使用该实用程序验证 Oracle RAC 节点的配置、检查操作系统以及检查网络设置。

单元测试的一个重要元素就是“破坏性测试”的引入。

测试人员通过破坏性测试模拟异常活动以及试图破坏系统。

Oracle RAC 环境中的一个破坏性测试示例为故意破坏 Oracle Cluster Registry (OCR),然后执行恢复系统所需的步骤。

像这样的测试会让项目成员发现系统的薄弱环节,从而做好应对准备。

集成测试集成测试包括确认多个硬件、软件或应用程序模块可共同运行。

集成测试确认系统是否按规定运行。

压力测试压力测试也称为负载测试或系统测试,是一个模拟动态生产负载的端到端测试。

它用于确定系统是否可以承受生产使用等级、是否满足服务等级需求,以及收集性能数据。

它还用于预测当前和未来的使用容量。

通常在上述测试返回肯定的结果时以及完全配置硬件、软件和应用程序组件后才执行压力测试。

相关文档
最新文档