您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据库 > Oracle RAC日常管理
ORACLERAC日常管理一、OracleRAC简介:OracleRAC支持Oracle数据库在集群上运行真正的应用程序。此处的真正应用是指RAC能够支持所有类型的主流商业应用程序。这包括流行的封装产品,如SAP、PeopleSoft和OracleE*BusinessSuite等,以及自主研发的应用程序,其中包括OLTP和DSS,以及Oracle有效支持混合OLTP/DSS环境的独有能力。Oracle是唯一提供具备这一功能的开放系统数据库的厂商。OracleRAC运行于集群之上,为Oracle数据库提供了最高级别的可用性、可伸缩性和低成本计算能力。如果集群内的一个节点发生故障,Oracle将可以继续在其余的节点上运行。如果需要更高的处理能力,新的节点可轻松添加至集群。为了保持低成本,即使最高端的系统也可以从采用标准化商用组件的小型低成本集群开始逐步构建而成。Oracle的主要创新是一项称为高速缓存合并的技术,它最初是针对Oracle9i真正应用集群开发的。高速缓存合并使得集群中的节点可以通过高速集群互联高效地同步其内存高速缓存,从而最大限度地低降低磁盘I/O。高速缓存最重要的优势在于它能够使集群中所有节点的磁盘共享对所有数据的访问。数据无需在节点间进行分区。Oracle是唯一提供具备这一能力的开放系统数据库的厂商。其它声称可以运行在集群上的数据库软件需要对数据库数据进行分区。这对于拥有复杂的数据结构的真正应用程序而言,显得不切实际。而且也不可能对集群系统进行统一变更。如果您添加或删除节点或存储资源,数据则需要完全重新分区。二、ORACLERAC工作原理在一个应用环境当中,所有的服务器使用和管理同一个数据库,目的是为了分散每一台服务器的工作量,硬件上至少需要两台以上的服务器,而且还需要一个共享存储设备。同时还需要两类软件,一个是集群软件,另外一个就是Oracle数据库中的RAC组件。同时所有服务器上的OS都应该是同一类OS,根据负载均衡的配置策略,当一个客户端发送请求到某一台服务的listener后,这台服务器根据我们的负载均衡策略,会把请求发送给本机的RAC组件处理也可能会发送给另外一台服务器的RAC组件处理,处理完请求后,RAC会通过集群软件来访问我们的共享存储设备。逻辑结构上看,每一个参加集群的节点有一个独立的instance,这些instance访问同一个数据库。节点之间通过集群软件的通讯层(communicationlayer)来进行通讯。同时为了减少IO的消耗,存在了一个全局缓存服务,因此每一个数据库的instance,都保留了一份相同的数据库cache。架构图:三、Oraclerac日常管理:1、rac状态检查:applicationservice状态应该都为online:HDOADB1:crs_stat-tNameTypeTargetStateHost------------------------------------------------------------ora....s1.instapplicationONLINEONLINEhdoadb1ora....s2.instapplicationONLINEONLINEhdoadb2ora.ams.dbapplicationONLINEONLINEhdoadb2ora....B1.lsnrapplicationONLINEONLINEhdoadb1ora....db1.gsdapplicationONLINEONLINEhdoadb1ora....db1.onsapplicationONLINEONLINEhdoadb1ora....db1.vipapplicationONLINEONLINEhdoadb1ora....B2.lsnrapplicationONLINEONLINEhdoadb2ora....db2.gsdapplicationONLINEONLINEhdoadb2ora....db2.onsapplicationONLINEONLINEhdoadb2ora....db2.vipapplicationONLINEONLINEhdoadb2ora.orcl.dbapplicationONLINEONLINEhdoadb1ora....l1.instapplicationONLINEONLINEhdoadb1ora....l2.instapplicationONLINEONLINEhdoadb22、查看两台机器racdb状态:$srvctlstatusdatabase–dorcl$srvctlstatusdatabase–dams查看一台机器的实例的状态$srvctlstatusinstance-dorcl-iorcl1特定节点上节点应用程序的状态IXDBA.NET社区论坛$srvctlstatusnodeapps-nlinux1VIPisrunningonnode:linux1GSDisrunningonnode:linux1Listenerisrunningonnode:linux1ONSdaemonisrunningonnode:linux13、关闭整个racdb:$srvctlstopdatabase–dorcl$srvctlstopdatabase–dams$srvctlstopnodeapps–nhdoadb1$srvctlstopnodeapps–nhdoadb2用crs_stat命令来检查applicationservice状态应该都为offlineHDOADB1:crs_stat-tNameTypeTargetStateHost------------------------------------------------------------ora....s1.instapplicationOFFLINEOFFLINEhdoadb1ora....s2.instapplicationOFFLINEOFFLINEhdoadb2ora.ams.dbapplicationOFFLINEOFFLINEhdoadb2ora....B1.lsnrapplicationOFFLINEOFFLINEhdoadb1ora....db1.gsdapplicationOFFLINEOFFLINEhdoadb1ora....db1.onsapplicationOFFLINEOFFLINEhdoadb1ora....db1.vipapplicationOFFLINEOFFLINEhdoadb1ora....B2.lsnrapplicationOFFLINEOFFLINEhdoadb2ora....db2.gsdapplicationOFFLINEOFFLINEhdoadb2ora....db2.onsapplicationOFFLINEOFFLINEhdoadb2ora....db2.vipapplicationOFFLINEOFFLINEhdoadb2ora.orcl.dbapplicationOFFLINEOFFLINEhdoadb1ora....l1.instapplicationOFFLINEOFFLINEhdoadb1ora....l2.instapplicationOFFLINEOFFLINEhdoadb24、开启整个racdb:正常情况下当机器启动时oraclerac会自动启动的。手动启动过程如下:$srvctlstartnodeapps–nhdoadb1$srvctlstartnodeapps–nhdoadb2$srvctlstartdatabase–dorcl$srvctlstartdatabase–dams5、只停一个节点的instance(node1)$srvctlstopinstance–dorcl–Iorcl1$srvctlstopinstance–dams–Iams16、OracleClusterware的关闭与启动:#cd$ORACLE_CRS_HOME/bin#crsctlstartcrs------启动CRS,会自动把其它的resource也启动#crsctlstopcrs-------关闭CRS,会自动把其它的resource也关闭四、OracleRAC常用的日志文件:1、db的alertlog文件:$ORACLE_BASE/admin/orcl/bdump/$ORACLE_BASE/admin/ams/bdump/2、oraclecrs日志文件:$ORACLE_CRS_HOME/crs/log$ORACLE_CRS_HOME/css/log$ORACLE_CRS_HOME/evm/log$ORACLE_CRS_HOME/srvm/logCRS的管理CRSCTL命令控制着本地节点的CRS服务(Oracleclusterwareprocesses)停止CRS:$crsctlstopcrs或者$/etc/init.d/init.crsstop或者$crs_stop–all启动CRS:$crsctlstartcrs或者$/etc/init.d/init.crsstart禁止Clusterware在系统重启后自动启动的方法:$/etc/init.d/init.crsdisable启动Clusterware在系统重启后自动启动的方法:$/etc/init.d/init.crsenable查看CRS服务状态$crsctlcheckcrs#############################################################OCR的资源管理OCR的资源,当RACcluster启动并成功运行以后,你可以使用crs_stat工具看到如下内容:$ORA_CRS_HOME/bin/crs_stat通常情况下,所有的资源的状态都应该是online。另外,OCR每4个小时会备份一次。有一些情况你可以通过恢复的OCR的配置文件来恢复出现问题的OCR。比如使用出现如下情况:$crs_stat-tCRS-0184:CannotcommunicatewiththeCRSdaemon.$crsctlcheckbootFailure4atprocr_open_keywithstatus4.PROC-4:Theclusterregistrykeytobeoperatedondoesnotexist.$crsctlcheckcrsFailure1contactingCSSdaemonCannotcommunicatewithCRSCannotcommunicatewithEVM引起这个错误的一种可能原因是OCR配置丢了。这个我们可以利用这些备份来还原以前的配置。#/etc/init.crsdisable#/etc/init.crsstop先保证所有的crs进程全部停止。#su–oracle$cd$ORA_CRS_HOME/bin$./ocrconfig-restore/opt/app/oracle/crs/cdata/crs/week.ocr然后切换到root用户下,重新enableCRS#/etc/init.crsenable最后reboot两个节点##############################################################SRVCTL命令介绍SRVCTL命令可以控制RAC数据库中的instance,listener以及services。通常SRVCTL在ORACLE用户下执行。下面我们来介绍srvctl命令。1、通过SRVCTL命令来start/stop/check所有的实例:$srvctlstart|stop|statusdatabase-ddb_name2、start/stop指定的实例:$srvctlstart|stop|statusinstance-ddb_name-iinstance_name3、列出当前RAC下所有的$sr
本文标题:Oracle RAC日常管理
链接地址:https://www.777doc.com/doc-8701 .html