版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Oracle RAC技术原理与运维概述技术创新,变革未来智慧IT0103目 录Contents02Oracle 12C RAC的性特性案例讲解RAC及高可用架构讨论01RAC高可用架构讨论01RAC架构介绍01RAC基础知识介绍RAC 全局资源目录RAC ONE NODE介绍高可用场景架构讨论RAC高可用最佳实践双活高可用最佳实践123RAC架构介绍45601Oracle RAC EvolutionOracle 6 to Oracle8i OPS(199x)Oracle Database 10g RAC (2004)Grid Computing, Oracle ClusterwareOracl
2、e Database 11g Rel. 1 with RAC (2007)Engineered SystemsOracle9i RAC (2001)RACdebutsOracle Database 11g Rel. 2 with RAC (2009)OneRACAOracleNodeRAC One NodeOracle Database 12c Rel. 1 with RAC (2013)MultitenantRAC高可用架构讨论01学习RAC的几点建议具备操作系统的相关知识安装、升级,且反复安装、升级阅读官方文档,可以知道“有什么”,“怎么做”可以再查其他 文档在实验环境中操作,尤其需要操作
3、以下内容:CRS的资源管理ASM磁盘、磁盘组的添加删除操作OCR/VOTING DISK的备份、恢复、镜像、删除操作VIP/PUBLIC IP/HAIP/PRIVATE IP更改操作学会查看日志文件了解业务特性,尤其需要知道哪张表在哪个节点访问频率最高RAC高可用架构讨论01什么是Oracle RAC集群Oracle Real Application Server,简称Oracle RAC,位于 不同服务器系统的Oracle实例同时访问同一个Oracle 数据库,节点之间通过私有网络进行通讯,所有的 控制文件、联机日志文件和数据文件存放在共享的 设备上,能够被集群重的所有节点同时读写。RAC高
4、可用架构讨论01Oracle RAC提供的好处多节点负载均衡提供高可用:故障容错和无缝切换功能,将硬件和软件错误 造成的影响最小化。一台机器宕机不影响应用访问数据库RAC高可用架构讨论01Oracle Clusterware介绍Oracle Clusterware是一个集群软件,使用它做集群的所有操 作系统必须相同。使用Oracle Clusterware将多个装有相同操作系统的服务器捆绑在 一起,当对这些集群服务器进行访问时,就像访问一台服务器一 样。RAC高可用架构讨论01Oracle Clusterware介绍Oracle Clusterware两个集群组件voting disk (表决
5、磁盘):用于记录集群节点信息。RAC用 它来确定哪些实例是集群实例。当网络发生故障时,用它存储的 信息进行健康检查和冲裁。表决盘必须存放在共享磁盘上。Oracle Cluster Registry (OCR,集群注册),用于记录集群 配置信息。集群注册也必须存放在共享磁盘上。RAC高可用架构讨论01Oracle RAC体系架构RAC高可用架构讨论DBWRLGWRDatabase Instance OneBuffer CacheShared PoolDBWRLGWRDatabase Instance TwoBuffer CacheShared PoolNode Manager (NM Level
6、)LMDLMSLMONLCKDIAGNode Manager (NM Level)LMDLMSLMONLCKDIAGCluster Manager (CM Level)ohasd. binocssd. bincrsd.bi ngipcd. binevmd. binCluster Manager (CM Level)ohasd. binocssd. bincrsd.bi ngipcd. binevmd. bin数据库层Cluster层01RAC高可用架构讨论Cluster Manager Level一、两大部分1、OHASD栈(Oracle Hight Availability Service
7、Daemon) 2、CRSD栈(Cluster Ready Service Daemon)3、OCR中的信息也分成了两部分 OHASD : OLR(Oracle Local Registry) CRSD : OCR(Oracle Cluster Registry)二、启动:bash-3.2# cat /etc/inittabh1:3:respawn:/etc/init.d/init.ohasd run /dev/null 2&1 /dev/null 2&1 /dev/null”启动脚本:/export/home/oragrid/app/grid/bin/ohasdoraagentoraroot
8、agentcssdagentcssdmonitorCRSDCTSSDDiskmonACFSASM EVMDMDNSDGIPCD.bin GPnPDOcssd.binGRID:oraagentorarootagentNetwork ResoureSCAN IPCluster VIP ACFS Registry GNS VIPASMDiskgroupSCAN ListenerListenerONS & eONSGSDGNS管理DB管理ServiceOracle:oraagentOhasd栈的日志:oraagent和orarootagentNOTE:以上资源和进程,以grid运行的,被称为oraag
9、ent进程,由进程oraagent.bin 启动。以root运行的,被称为orarootagent进程,由进程orarootagent.bin启动。这两个进程的日志有两套,分别在$GRID_HOME/log/hostname/agent/ohasd和$GRID_HOME/log/hostname/agent/crsd目录中。 oraagent.bin的日志是:$GRID_HOME/log/hostname/agent/ohasd/oraagent_grid/oraagent_grid.log$GRID_HOME/log/hostname/agent/crsd/oraagent_grid/ora
10、agent_grid.log orarootagent.bin的日志有:$GRID_HOME/log/hostname/agent/ohasd/orarootagent_root/orarootagent_root.log$GRID_HOME/log/hostname/agent/crsd/orarootagent_root/orarootagent_root.log资源进程用户作用日志位置ora.evmdevmloggergrid生成、发布集群环境中的事 件?/log/hostname/evmdOra.mdnsdmdnsd.binGridOracle自己的域名解析服务?/log/hostna
11、me/mdnsdOra.gpnpdgpnpd.bingrid非ASM的LCR信息维护?/log/hostname/gpnpdOra.asmGridOra.crsdcrsd.binrootCRSD?/log/hostname/crsdOra.ctssdoctssd.binroot处理时间同步?/log/hostname/ctssdOra.diskmonroot在exadata中监控磁盘?/log/hostname/diskmonora.drivers.acfsroot/var/log/message01RAC高可用架构讨论Ohasd的cssdagent、cssdmonitor与CSSD资源进程用
12、户作用日志位置cssdagentrootCssd的启动、关闭、检查?/log/hostname/agent/ ohasd/oracssdagent_roo tora.cssdmonito rcssdmonitorroot监控cssdagent?/log/hostname/agent/ ohasd/oracssdmonitor_r ootora.cssdocssd.bingrid节点成员管理。网络心跳、 磁盘心跳由此进程产生。?/log/hostname/cssd01RAC高可用架构讨论排故的入口这么多的日志,出现问题如何排故:出现问题(比如节点被踢),先从集群的alert log入手,根据al
13、ert log中的信息进一步查 看相关进程的日志:RAC的alert log:$GRID_HOME/log/hostname/alertlvrac1.log提高日志级别:有时需要提高日志级别,以进一步确定问题(Oracle的support很多时候也会要求我们提 供更高日志级别的信息),比如:crsctl debug log crs CRSRTI:1,CRSCOMM:2,OCRSRV:4或者debug某个资源:crsctl debug log res ora.node1.vip:101RAC高可用架构讨论排故的入口这是一个节点被踢时,存活节点的alert log:2015-01-05 09:48
14、:39.077:cssd(1419)CRS-1612:Network communication with node lvrac1 (1) missing for 50% of timeout interval. Removal of this node from cluster in 14.976 seconds2015-01-05 09:48:47.083:cssd(1419)CRS-1611:Network communication with node lvrac1 (1) missing for 75% of timeout interval. Removal of this nod
15、e from cluster in 6.971 seconds2015-01-05 09:48:51.086:cssd(1419)CRS-1610:Network communication with node lvrac1 (1) missing for 90% of timeout interval. Removal of this node from cluster in 2.968 seconds01RAC高可用架构讨论排故的入口这是一个节点被踢时,存活节点的alert log:2015-01-05 09:48:39.077:cssd(1419)CRS-1612:Network com
16、munication with node lvrac1 (1) missing for 50% of timeout interval. Removal of this node from cluster in 14.976 seconds2015-01-05 09:48:47.083:cssd(1419)CRS-1611:Network communication with node lvrac1 (1) missing for 75% of timeout interval. Removal of this node from cluster in 6.971 seconds2015-01
17、-05 09:48:51.086:cssd(1419)CRS-1610:Network communication with node lvrac1 (1) missing for 90% of timeout interval. Removal of this node from cluster in 2.968 secondsCSSD:相关资源名1419:相关进程号bash-3.2# ps -ef|grep 1419 grid 141910Dec 26 ?71:31 /export/home/oragrid/app/grid/bin/ocssd.bin错误信息01RAC高可用架构讨论排故的
18、入口这是一个节点被踢时,存活节点的alert log: 2015-01-05 09:48:39.077:cssd(1419)CRS-1612:Network communication with node lvrac1 (1) missing for 50% of timeout interval. Removal of this node from cluster in 14.976 seconds2015-01-05 09:48:47.083:cssd(1419)CRS-1611:Network communication with node lvrac1 (1) missing for
19、75% of timeout interval. Removal of this node from cluster in 6.971 seconds2015-01-05 09:48:51.086:cssd(1419)CRS-1610:Network communication with node lvrac1 (1) missing for 90% of timeout interval. Removal of this node from cluster in 2.968 secondsCSSD:相关资源名1419:相关进程号错误信息bash-3.2# ps -ef|grep 1419gr
20、id 141910Dec 26 ?71:31 /export/home/oragrid/app/grid/bin/ocssd.bin节点被踢原因:和对端cssd进程心跳延迟超过预设值。为什么心跳超时,可进一步 查看所有节点的cssd日志。被踢节点的ocssd日志:2015-01-05 09:47:58.027: 2015-01-05 09:47:58.027: 2015-01-05 09:48:02.031: 2015-01-05 09:48:02.032: 2015-01-05 09:48:06.036: 2015-01-05 09:48:06.036: 2015-01-05 09:48:1
21、0.039: 2015-01-05 09:48:10.039: 2015-01-05 09:48:14.043: 2015-01-05 09:48:14.043: 2015-01-05 09:48:18.046: 2015-01-05 09:48:18.046: 2015-01-05 09:48:22.050: 2015-01-05 09:48:22.050: 2015-01-05 09:49:57.350: 2015-01-05 09:49:57.350: CSSD24clssnmSendingThread: sending status msg to all nodes CSSD24cls
22、snmSendingThread: sent 4 status msgs to all nodes CSSD24clssnmSendingThread: sending status msg to all nodes CSSD24clssnmSendingThread: sent 4 status msgs to all nodes CSSD24clssnmSendingThread: sending status msg to all nodes CSSD24clssnmSendingThread: sent 4 status msgs to all nodes CSSD24clssnmSe
23、ndingThread: sending status msg to all nodes CSSD24clssnmSendingThread: sent 4 status msgs to all nodes CSSD24clssnmSendingThread: sending status msg to all nodes CSSD24clssnmSendingThread: sent 4 status msgs to all nodes CSSD24clssnmSendingThread: sending status msg to all nodes CSSD24clssnmSending
24、Thread: sent 4 status msgs to all nodes CSSD24clssnmSendingThread: sending status msg to all nodes CSSD24clssnmSendingThread: sent 4 status msgs to all nodes CSSD1clsu_load_ENV_levels: Module = CSSD, LogLevel = 2, TraceLevel = 0 CSSD1clsu_load_ENV_levels: Module = GIPCNM, LogLevel = 2, TraceLevel =
25、0排故的入口CSSD24clssnmSendingThread: sending status msg to all nodes CSSD24clssnmSendingThread: sent 4 status msgs to all nodesCSSD23clssnmPollingThread: node lvrac1 (1) at 50% heartbeat fatal, removal in 14.976 seconds CSSD23clssnmPollingThread: node lvrac1 (1) is impending reconfig, flag 2229260, miss
26、time 15024CSSD23clssnmPollingThread: local diskTimeout set to 27000 ms, remote disk timeout set to 27000, impending reconfig status(1) CSSD19clssnmvDHBValidateNcopy: node 1, lvrac1, has a disk HB, but no network HB, DHB has rcfg 315082348, wrtcnt, 916735,2015-01-05 09:48:36.212: 2015-01-05 09:48:36.
27、212: 2015-01-05 09:48:39.078: 2015-01-05 09:48:39.078: 2015-01-05 09:48:39.078: 2015-01-05 09:48:39.078: LATS 835022572, lastSeqNo 499191, uniqueness 1419587531, timestamp 1420422503/8349886342015-01-05 09:48:39.948: CSSD17clssnmvDiskPing: Writing with status 0 x3, timestamp 1420422519/835023442在09:
28、48:22后,没有了心跳信息,ocssd.bin进程在此时刻后被Hang住。 Lvrac1节点被踢的原因:在09:48:22后,ocssd.bin进程被Hang住,未能及 时响应心跳。另一节点的ocssd日志:01RAC高可用架构讨论监听对应的资源SERVERSTATE_DETAILS一、监听运行在Grid用户下:bash-3.2# ./crsctl status res tNAMETARGET STATELocal ResourcesVIP对应的监听lvrac1 lvrac2 ora.LISTENER.lsnrONLINE ONLINE ONLINE ONLINECluster Resour
29、ceslvrac1只在一部分主机上,如果lvrac1当掉,将会漂 移到另外的节点ora.LISTENER_SCAN1.lsnr1ONLINE ONLINE监听的配置文件一、监听运行在Grid用户下:bash-3.2# ps -ef|grep tnsgrid 22551?/export/home/oragrid/app/grid/bin/tnslsnr LISTENER -inheritgrid 22471? /export/home/oragrid/app/grid/bin/tnslsnr LISTENER_SCAN1 -inherit监听的配置文件在GRID中。二 、 两 个 配 置 文 件
30、 : endpoints_listener.ora:向后兼容 listener.ora :监听配置文件三、监听的配置文件的变化:LISTENER= (DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER)# line added by AgentLISTENER_SCAN1= (DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER_SCAN1)# line added by AgentENABLE_GLOBAL_DYNAMIC_ENDPOINT_LIS
31、TENER_SCAN1=ON# line added by AgentENABLE_GLOBAL_DYNAMIC_ENDPOINT_LISTENER=ON# line added by Agent01RAC高可用架构讨论SCANIPbash-3.2# ./crsctl status res t ora.scan1.vip1ONLINE ONLINElvrac2bash-3.2# ifconfig a e1000g0:1:flags=1001040843 mtu1500 index 2inet 40 netmask ffffff00 broadcast 55-bash-3.2$ srvctl c
32、onfig scanSCAN name: lv-scan, Network: 1/e1000g0 SCAN VIP name: scan1, IP: /lv-scan/40-bash-3.2$-bash-3.2$ srvctl status scan SCAN VIP scan1 is enabledSCAN VIP scan1 is running on node lvrac201RAC高可用架构讨论SCANIP的两种方式一、基于/etc/hosts-bash-3.2$ cat /etc/hosts # Internet host table #:1localhostlocalhost 31
33、 lvrac1 0 lvrac1-priv 50 lvrac1-vip 32 lvrac2 1 lvrac2-priv 51 lvrac2-vip40 lv-scan二、基于DNS如果基于DNS,不必在/etc/hosts中配置,Cluster将生成三个SCAN IP01RAC高可用架构讨论SCANIP的监听SCAN IP有专门的监听与之对应: bash-3.2# ps -ef|grep tnsgrid 22551?/export/home/oragrid/app/grid/bin/tnslsnr LISTENER -inheritgrid 22471? /export/home/oragri
34、d/app/grid/bin/tnslsnr LISTENER_SCAN1 -inheritYou can check its status in user grid:-bash-3.2$ lsnrctl status LISTENER_SCAN1LSNRCTL for Solaris: Version .0 - Production on 26-DEC-2014 14:48:23 Copyright (c) 1991, 2013, Oracle. All rights reserved.Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KE
35、Y=LISTENER_SCAN1) STATUS of the LISTENERAliasLISTENER_SCAN1Listening Endpoints Summary. (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=LISTENER_SCAN1) (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=40)(PORT=1521)Services Summary.Service myrac has 1 instance(s).Instance myrac_2, status READY, has 1 handler(s) f
36、or this service. Service myractst has 1 instance(s).Instance myrac_2, status READY, has 1 handler(s) for this service. The command completed successfully01RAC高可用架构讨论SCANIP的连接方式-bash-3.2$ cat tnsnames.ora# tnsnames.ora Network Configuration File:/export/home/oradb/product/10.2.0/network/admin/tnsname
37、s.ora # Generated by Oracle configuration tools.MYRAC = (DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = lv-scan)(PORT = 1521) (CONNECT_DATA =(SERVER = DEDICATED) (SERVICE_NAME = myrac)01RAC高可用架构讨论SCANIP在RACONE下的使用SCAN IP有专门的监听与之对应:Node 1Node 2Lv-scanLISTENER_SCAN1RACONEDatabase InstanceVIP 2VIP 201
38、RAC高可用架构讨论基于VIP的TNSNAMES.ora一、监听运行在Grid用户下:dbvip = (DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = lvrac1-vip)(PORT = 1521) (CONNECT_DATA =(SERVER = DEDICATED) (SERVICE_NAME = myrac)基于的VIP的TNS仍然可以使用,但Oracle建议使用新的SCAN IP机制。 SQL conn system/Oracle1dbvipConnected.01RAC基础知识介绍RAC 全局资源目录RAC ONE NODE介绍高可用
39、场景架构讨论RAC高可用最佳实践双活高可用最佳实践123RAC架构介绍45601RAC架构介绍全局资源目录RAC的目标为前端应用提供一个统一的数据库,虽然应用连接的节点可能不同,但看到 的各种数据和其状态,将是完全一样的。为实现这一目标 ,需要为下列数据,实现跨 节点的一致性:大部分的高级队列锁(即V$LOCK中可以看到的锁,如TM锁等)。部分Library cache lock/pin(比如与DDL相关的、加在对象上的Lock和Pin)Row cache lockBuffer Cache其中,前三种被称为Non-PCM资源,由 LMD进程负责保证一致性。最后一种称为PCM资 源,由 LMS进
40、程保证一致性。用来实现资源一致性的基本结构,Oracle称为全局资源目录。(注意:这里的resource和Cluster的Resource不一样。Cluster的resource指的是主机、实 例、数据库、VIP等等。RAC的Resource指的就是需要在各个节点间同步的信息。)01RAC架构介绍存储全 局 资 源 目 录全局资源目录全局资源目录的目的:以最少的网络带宽消耗,实现资源跨节点的一致性,又要保证可 快速获得资源状态,重构时最快速、影响最小化。Server进程01RAC架构介绍A资源B资源C资源存储全局资源目录全局资源目录主要记录资源状态,它本身是去中心化的。资源按照HASH算法分布
41、在RAC所有节点中。每 个节 点,是它其中所有资源的主节点,反过来说,每一个资源都有一个主节点,这主节点,就是资源所属的节点。Server进程L资源M资源N资源O资源P资源Q资源01RAC架构介绍全局资源目录A资源B资源C资源存储Server进程L资源M资源N资源O资源P资源Q资源此进程要访问B资源,第一步要 先计算出B资源的主节点。然后 到主节点上获得B资源的状态01RAC架构介绍全局资源目录得到资源主节点后,请求节点会发消息,请求获得资源上的某种类型的锁,以便访问资 源。主节点在收到请求后,要快速在自己的内存中获得资源状态,以判断请求是否可以被满 足。对于“快速获得资源状态”的算法,Ora
42、cle认为队列锁的机制很好,因此这里的机制和 队列锁完全一样。01RAC架构介绍全局资源目录注意,全局资源目录并不是替代了单实例中原有的锁机制,而是在原有锁机制之前又加 了一层。以Buffer Cache中的Buffer为例,访问Buffer需要有一个Buffer Pin Lock,在资源目 录中,针对Buffer的资源锁类型是BL锁,它的完整名称是BL-文件号-块号。某个节点的Server进程要修改本节点Buffer Cache中某个Buffer。第一步要先获得Buffer对 应的BL资源上的独占锁,然后还要获得独占的Buffer Pin Lock,才能开始修改Buffer。如果无 法得到B
43、L锁,会产生gc buffer busy waits等待。如果无法得到Buffer Pin Lock,会 产生Buffer Busy Waits等待。01RAC架构介绍节点1节点2节点3冻结标志:4Server进程冻结标志:4冻结标志:4全局资源目录重构节点的加入、退出会导致全局资源目录重构。在开始重构前,LMON进程会设置一个全局冻结标志,告诉其他进程,全局资 源目录被锁定。每个Server进程在访问在访问全局资源目录时,首先都会先检查冻结标志是否被设置,如果被设置,进程将 等待gcs resource directory to be unfrozen事件和ges enter server
44、mode事件,直到重构完成。01RAC架构介绍本来主节点是2号节点。假设2号节点离开RAC集群,存活节点的LMON会首先修改自己SGA中的X$KJDRPCMHV,如下面的PPT。X$KJDRPCMHVIndex节点号11223240516012711280HASH 值:2全局资源目录重构资源重构由LMON进程完成,重构算法,以节点离开为例,主要描述PCM资源(Non-PCM资源类似)。第一步修改资 源主节点,这一步 主要通过修改X$KJDRPCMHV视图实现。比如A资源的HASH值为2,它对应X$KJDRPCMHV中第三行,01RAC架构介绍第二、三行节点号本来为2,现在改为了0。HASH值为
45、2的资源,本来主节点为2,现在 主节点为0。Index节点号11203040516012711280全局资源目录重构2号节点离开集群:X$KJDRPCMHVHASH 值:201RAC架构介绍全局资源目录重构修改完X$KJDRPCMHV,每个存活节点的LMON将执行以下两步,以完成资源重构:1、扫描自己为 主节点的所有资源结构,如果锁结构中有2号节点,将锁结构删除。如 果某个资源的锁结构只对应2号节点,没有其他节点持有资源的锁,资源结构连同锁结 构一起删除。此步骤是处理2号节点所持有、主节点不是2号节点的资源。2、扫描所有Shadow锁结构,如果Shadow锁结构的主节点是 2号节点,LMON根
46、据 X$KJDRPCMHV中的新的节点号,得到资源新的主节点号,通知对应节点,重建资源结构, 然后修改Shadow锁结构的主节点为 新值。这一步是处理主节点为2号节点的资源。全局资源目录重构所耗时间,主要由这两步决定。步1中需要修改的锁结构越多,步2中 需要修改的Shadow锁结构越多、需要在其他节点重建的资源结构越多,所耗时间就越 长。简而言之,内存越大,所耗时间越长。在重构其间,所有资源目录的访问全部被阻塞,在重构其间,每个节点不能有新的物理 读、不能产生CR块,不能读其他节 点中的Buffer,这些操作都要访问全局资源目录。 除非是不 访问全局资源目录的操作,比如在本节点Buffer C
47、ache中读一个已经存在的、 锁状态是Scur的Buffer。01RAC架构介绍如果是节点离开,主节点是存活节点中的资源,如果其下的锁结构没有二号结点的,不 受 影响。节点的加入,与离开类似。 假设集群中只有1、3号节点, X$KJDRPCMHV中会有64行属 于1点,另64行属于3号节点。现在2号节点加入,LMON会从1、3号节点中,各抽出一半 的行给节点2,Oracle会一直保持X$KJDRPCMHV中各节点所占行相等。全局资源目录重构01RAC架构介绍全局资源目录重构有可能会出现这样的情况,突然发生节点当机,所有存活节点收到节点离开消息, LMON马上设置冻结标志,但还是有进程已经检查过
48、冻结标志,得到状态是没有冻结。 进程继续访问资源,发现主节点已经改变,这时进程将会等待资源重构完毕后重新按正 常方式访问资源,这时进程的等待事件是gc cr fail或gc current fail。01RAC基础知识介绍RAC 全局资源目录RAC ONE NODE介绍高可用场景架构讨论RAC高可用最佳实践双活高可用最佳实践123RAC架构介绍45601RAC高可用架构讨论创建RACONE数据库安装Database软件时,有专门的RACONE安装选项:01RAC高可用架构讨论创建RACONE数据库如果在此页中,选择“仅安装软件”,上页中选择RACONE安装项或是RAC安装项,结 果都是一样的0
49、1RAC高可用架构讨论创建RACONE数据库安装完软件后,使用asmca创建ASM Diskgroup:01RAC高可用架构讨论创建RACONE数据库使用DBCA建库:01RAC高可用架构讨论创建RACONE数据库选择“Admin-Managed”模式。“Pollcy-Managed”是11G新的方式,用于实现数据库 虚拟化功能。其本质是由DBA设置数据库的等级、重要度等权重,由Cluster自己决定 将数据库运行在哪些节点上。01RAC高可用架构讨论创建RACONE数据库虽然是RACONE,但Oracle仍会创建Thread 2的redoo file。另一个实例的UNDO表空间也 会被创建:
50、01RAC高可用架构讨论创建RACONE数据库手动1.准备参数文件*.cluster_database=false 暂时设置为false*.compatible=.0*.control_files=+DATA01/DBTST/control01.ctl*.db_block_size=8192*.db_domain=*.db_name=dbtst*.diagnostic_dest=/export/home/oradb*.java_pool_size=0*.large_pool_size=0*.open_cursors=300*.pga_aggregate_target=104857600*.pr
51、ocesses=150*.remote_listener=lv-scan:1521*.remote_login_passwordfile=exclusive*.shared_pool_size=200m*.db_cache_size=125829120Oracle建议将spfile放置在共享的ASM Diskgroup中,在本地initSID.ora中指向spfile:-bash-3.2$ cat initdbtst_1.ora SPFILE=+DATA01/dbtst/spfiledbtst.ora01RAC高可用架构讨论创建RACONE数据库手动启动实例后,发布建库命令,和普通的建库命令没
52、有区别。必须运行的初始化脚本 ?/rdbms/admin/catalog.sql ?/rdbms/admin/catproc.sql ?/rdbms/admin/catblock.sql ?/rdbms/admin/catclust.sql ?/rdbms/admin/utlrp.sql sqlplus system/Oracle1 ?/sqlplus/admin/pupbld.sql为另一个实例添加Undo表空间:create UNDO TABLESPACE UNDOTBS2 DATAFILE +DATA01/DBTST/undotbs02.dbf SIZE 50M REUSE AUTOEX
53、TEND ON MAXSIZE UNLIMITED;为另一个实例添加Redo Thread:alter database add logfile thread 2 group 3 (+DATA01/DBTST/redo03.log) size 80M reuse; alter database add logfile thread 2 group 4 (+DATA01/DBTST/redo04.log) size 80M reuse;修改RAC相关参数:alter system set undo_tablespace=undotbs2 sid=dbtst_1 ; alter system se
54、t thread=1 sid=dbtst_1 scope=spfile;alter system set thread=2 sid=dbtst_2 scope=spfile; alter system set cluster_database=true scope=spfile;01RAC高可用架构讨论创建RACONE数据库手动向OCR中添加信息: 在Oracle用户下执行:srvctl add database -d dbtst -o /export/home/oradb/product/10.2.0 -c RACONENODE -e lvrac2 -w 10srvctl add servi
55、ce -d dbtst -s dbtstsvc srvctl start database -d dbtst激活另一个Thread: Su oracleSqlplus / as sysdbaAlter database enable thread 2;01RAC高可用架构讨论RACONE是什么如何确认数据库是RACONE:-bash-3.2$ srvctl config database -d myrac Database unique name: myracDatabase name: myracType: RACOneNode 资源类型是RACONE-bash-3.2$ srvctl st
56、atus database -d myracInstance myrac_2 is running on node lvrac1 show parameter clusterNAMETYPEVALUEbooleanTRUEinteger2cluster_database cluster_database_instances Note:数据库并不知道自己是RACONE,Cluster(具体是CRSD)知道某个库是RACONE。01RAC高可用架构讨论RACONE是什么3.能同时启动两个节点吗?-bash-3.2$ srvctl start database -d myrac PRCC-1014
57、: myrac was already runningPRCR-1004 : Resource ora.myrac.db is already running PRCR-1079 : Failed to start resource ora.myrac.dbCRS-5702: Resource ora.myrac.db is already running on lvrac1-bash-3.2$ srvctl start instance -d myrac -i myrac_1PRKO-2136 : srvctl start/stop/enable/disable/modify/status/
58、setenv/getenv/unsetenv instance commands are not supported with RAC One Node databases但可以手动启动:-bash-3.2$ export ORACLE_SID=myrac_1-bash-3.2$ sqlplus / as sysdba SQL startupORACLE instance started.Total System Global Area 371654656 bytesFixed Size Variable Size Database Buffers Redo Buffers2250928 by
59、tes239077200 bytes125829120 bytes4497408 bytesDatabase mounted. Database opened.01RAC高可用架构讨论RACONE是什么4.手动启动第二个节点可以连接吗: 答案:可以。SQL conn system/Oracle1MYRACSQL select instance_number from v$instance; INSTANCE_NUMBER1SQL conn system/Oracle1MYRAC Connected.SQL select instance_number from v$instance; INST
60、ANCE_NUMBER2SQL conn system/Oracle1MYRACSQL select instance_number from v$instance; INSTANCE_NUMBER2SQL conn system/Oracle1MYRACSQL select instance_number from v$instance; INSTANCE_NUMBER1MYRAC = (DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = lv-scan)(PORT = 1521)(CONNECT_DATA = (SERVER = DEDICATE
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024版办公区域设计施工体化合同2篇
- 自动贩卖机合同模板资讯2篇
- 托管牲畜合同范本
- 牙周病治疗前后愈合对比
- 2024年度新能源领域研发与市场推广合同
- 2024年度供应链管理合同:电子产品2篇
- 公司租赁合同模板3篇
- 2024二手玻璃制品买卖合同范例2篇
- 315教育课件教学课件
- 装修业务转让协议书
- 大学生生涯发展展示 (第二版)
- 教科版小学科学四上《3.4弹簧测力计》课件
- 超声介入诊断技术指南操作规范
- ARIS业务流程建模培训
- SL721-2015水利水电工程施工安全管理导则
- (2024年)健康养生养生保健课件
- 《波士顿公园系统》课件
- 《口香糖加工工艺》课件
- 校园水景观调研报告
- 概率论在金融学中的应用
- 山东省威海市环翠区2022-2023学年九年级上学期期末数学试题
评论
0/150
提交评论