版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据库程序员面试分类真题16简答题1.
什么是OCR?正确答案:Oracle集群使用两种类型的文件来管理集群资源和节点:OCR(OracleClusterRegistry,Oracle集群注(江南博哥)册表)和VF(VotingFile,表决磁盘文件)。这两种文件必须存放在共享存储上。其中,OCR相当于集群的控制文件,用于解决健忘问题,VF用于解决脑裂问题。在Oracle11.2中引入一个新的文件,称作OLR(OracleLocalRegistry,Oracle本地注册表),它只允许存放在本地。
Oracle集群软件(Clusterware)把整个集群的配置信息放在共享存储上,这个存储就是OCR磁盘(OCRDisk)。OCR是OracleRAC配置信息仓库,它管理集群节点的相关信息及实例到节点的映射信息。因此,OCR的内容非常重要,对OCR的操作必须确保OCR内容完整性。在整个集群运行过程中,并不是所有节点都能操作OCR磁盘,而只有一个节点能对OCR磁盘进行读写操作,这个节点叫作MasterNode。在每个节点的内存中都有一份OCR内容的拷贝,这份拷贝叫作OCRCache。同时,每个节点都有一个OCRProcess来读写OCRCache,但只有一个节点的OCRProcess能读写OCR磁盘中的内容。当OCR内容发生改变时,由MasterNode的OCRProcess负责更新本地和其他节点的OCRCache内容。
需要注意的是,OCR和VF的信息不会被分布到多块磁盘上,如果用一块磁盘保存OCR或VF,那么一定会保存完整的OCR和VF信息。
所有需要OCR内容的其他进程,比如OCSSD、EVM等都被叫作ClientProcess。这些进程不会直接访问OCRCache,而是向OCRProcess发送请求,借助OCRProcess获得内容。如果想要修改OCR内容,也要由该节点的OCRProcess向MasterNode的OCRProcess提交申请,由MasterOCRProcess完成物理的读写,并同步所有节点OCRCache中的内容。
OCR的结构如下图所示。
OCR中保存着整个集群中绝大部分资源的配置信息,配置信息以“Key-Value”并且采用树形结构来保存,所以,并没有类似于数据文件的块的概念。在OracleClusterware安装的过程中,安装程序会提示用户指定OCR位置。用户指定的这个位置会被记录在/etc/oracle/ocr.loc(Linux或AIX)或者/var/opt/oracle/ocr.loc(Solaris系统)文件中。OracleClusterware在启动时会根据这里面的内容从指定位置读入OCR内容。
其中,ocrconfig_loc指定OCR的位置。如果为OCR指定了镜像(Mirror),那么还会出现选项ocrmirrorconfig_loc,用于定义OCR镜像的位置。loca_only指定是否是RAC系统,如果这个值为FALSE,那么表示是RAC系统,如果这个值为TRUE,那么表示是单实例系统(在使用ASM时需要)。
整个OCR的信息是树形结构,有3个大分支,分别是SYSTEM、DATABASE和CRS。每个分支下面又有许多小分支。OCR记录的信息只能由root用户修改。[考点]RAC
2.
如何备份及恢复OCR?正确答案:与Oracle数据库的备份恢复相似,OCR的备份也有物理备份和逻辑备份,因此有两种备份方式和两种恢复方式。物理备份是自动进行的,逻辑备份需要手动进行。
因为OCR的内容如此重要,所以Oracle每4个小时对其做一次物理备份,并且保留最后的3个物理备份,以及前一天、前一周的最后一个物理备份。用户不能自定义物理备份频率以及备份文件的副本数。这个备份由MasterNodeCRSD进程完成,备份的默认位置在$GRID_HOME/cdata/<cluster_name>目录下,也可由命令ocrconfig-showbackup获取备份的位置。每次备份后,备份文件名自动更改,以反映备份时间顺序,最近一次的备份叫作backup00.ocr。这些备份文件除了保存在本地,DBA还应该在其他存储设备上保留一份,以防止意外的存储故障。备份目录可以通过命令“ocrconfig-backuploc<directory_name>”修改。
使用ocrconfig-export方式产生的备份,统称为逻辑备份。对于OCR的配置发生重大的变化前后,如添加删除节点、修改集群资源、创建数据库等,都建议使用逻辑备份。对于由于错误配置而导致的OCR被损坏的情形,可以使用ocrconfig-import方式进行恢复。逻辑备份的恢复方式和物理备份的恢复方式一致,这里不再赘述。
对OCR的恢复还可以采用dd、kfed及md_restore命令进行,这里不再详述。[考点]RAC
3.
什么是OLR?正确答案:OCR是用于保存CRSD所管理的资源的注册表,但是在CRSD启动之前集群还有很多初始化资源(例如ASM实例)需要启动,所以,只有OCR是不够的。因此,Oracle在11gR2版本中推出了另一种注册表OLR(OracleLocalRegistry,Oracle本地注册表)。OLR类似于Oracle集群注册表,但是OLR只存储与本地节点有关的信息。OLR不与集群中的其他节点共享。OLR存储了集群启动初期ohasd(OracleHighAvailabilityService)使用的重要环境,如Oracle集群件的版本、配置等。如果OLR丢失或损坏,那么将会导致ohasd进程启动失败。所以,OLR的主要作用就是为ohasd守护进程提供集群的配置信息和初始化资源的定义信息。
Oracle在一个名为/etc/oracle/olr.loc(Linux或AIX)或者/var/opt/oracle/olr.loc(Solaris系统)的文本文件中存储了OLR配置文件的位置。当集群启动时,ohasd会从该文件中读取OLR的位置。对于集群环境(GICluster)而言,OLR的文件名一般为$GRID_HOME/cdata/<hostname.olr>,而对于单节点(GIStandalone,OracleRestart)而言,OLR的文件名一般为$GRID_HOME/cdata/localhost/<hosmame.olr>。下例为集群环境的配置:
[grid@rae02/]$more/etc/oracle/olr.loc
olrconfig_loc=/u01/app/11.2.0/grid/cdata/rac02.olr
crs_home=/u01/app/11.2.0/grid
OLR的结构仍然沿用了和OCR相同的树形结构,而且其中的信息组织形式和OCR也是相同的。所以,其维护类似于OCR的维护过程。它们常用到的维护工具有ocrconfig、ocrdump和ocrcheck。其中,加上-local表示对OLR的操作,否则是对OCR的操作。
1)ocrcheck对OCR/OLR执行快速健康检查,并输出空间使用统计信息。
2)ocrdump将OCR/OLR的内容转储到一个操作系统文件。
3)ocrconfig对OCR/OLR执行导入、导出、添加、替换、删除、恢复和显示备份操作。[考点]RAC
4.
OLR如何进行备份恢复?正确答案:OLR的备份策略和OCR的有所不同,默认情况下GI在初始安装时会在路径SGRID_HOME/cdata/<节点名>下产生一个备份。
[root@orclalhrorclalhr]#cd
[root@orclalhr~]#cd/u01/app/11.2.0/grid/cdata/orclalhr
[root@orclalhrorclalhr]#11
total5608
-rw-------1gridoinstall5742592May1
2015backup_20150501_174602.olr
OLR不会被自动备份,如果在集群的一些配置信息发生改变后,需要使用下面的命令手动进行备份:
[root@orclathrorclalhr]#ocrconfig-local-manualbackup
orclalhr
2017/03/0910:21:51
/u01/app/11.2.0/grieVedata/orclalhr/baekup_20170309_102151.olr
orclalhr
2015/05/0117:46:02
/u01/app/11.2.0/grid/cdata/orclalhr/backup_20150501_174602.olr
建议在集群的重要配置信息(例如,集群私网配置)发生改变之后,使用命令ocrconfig-local-manualbackup手动备份OLR。当OLR丢失之后,可以使用命令“ocrconfig-local-restore<OLR备份文件>”来恢复,不能从集群的其他节点复制OLR到本地节点,这是因为OLR中保存的一些信息是针对本地节点的。如果需要验证OLR的一致性,那么可以使用ocrcheck-local命令。简单地说,所有适用于OCR的命令同样适用于OLR,但是需要增加-local选项。
对于OLR的备份恢复简单过程如下(M0s:1193643.1和1368382.1):
<GI_HOME>/bin/ocrconfig-local-manualbackup
<GI_HOME>/bin/ocrconfig-local-showbackup
ps-ef|grepohasd.bin
<GI_HOME>/bin/crsct1stopcrs<============forGICluster
<GI_HOME>/bin/crsct1stophas<============forStandalone
<GI_HOME>/bin/ocrconfig-local-restore<olr-backup>
<GI_HOME>/bin/crsctlstartors<============forGICluster
<GI_HOME>/bin/crsct1starthas<=============forGIStandalone,thismustbedoneasgriduser.[考点]RAC
5.
什么是VF(VotingFile)?正确答案:表决磁盘(VotingDisk)也叫仲裁盘(QuorumDisk),表决磁盘的作用是保存VF(VotingFile,表决磁盘文件)。VF的作用是实现集群的磁盘心跳,主要用于记录节点成员状态信息,例如,包含哪些节点成员,节点添加删除信息的记录等。在集群出现脑裂时,VF可以用来决定哪个节点获得控制权,其他的节点必须从集群中剔除,即在集群出现脑裂时,可以提供解决方案。表决磁盘存储在ASM中,有如下几点要求:
1)表决磁盘文件必须全部放入ASM中。
2)表决磁盘存在ASM中的个数不能修改,而是通过ASM的NORMAL、HIGH、EXTERNAL冗余级别决定的。例如,在NORMAL中必须有3个故障组3个表决磁盘,在HIGH中必须要有5个故障组5个表决磁盘,在EXTERNAL只有1个表决磁盘。
3)表决磁盘文件在Oracle11gR2中不再支持dd命令对其进行备份和还原,而是支持crsct1相关命令或自动备份。在Oracle11gR2之前的版本,如果要备份表决磁盘的内容,那么只有使用dd命令进行备份。
4)表决磁盘文件的个数必须是奇数,便于投票选举,且表决磁盘文件的个数最多为15个,但一般没必要超过5个。
在安装集群时也会提示指定表决磁盘的位置。安装完成后可以通过如下命令来查看表决磁盘的位置:
另外,也可以从V$ASM_DISK这个视图中查询,VOTING_FILE列为Y的表示包含表决磁盘。
表决磁盘的配置位置是在GPnPprofile文件中。对于表决磁盘的维护有很多命令,这里不再详述。
最后需要说明的一点是,如果表决磁盘损坏,而OCR或OLR的备份不可用,那么可以通过重新执行root.sh脚本的方式来修复OCR,修复之后除OCR磁盘组外的所有磁盘组,只要磁盘头没有损坏,就都可以直接对磁盘组进行MOUNT操作来恢复业务数据库。因此,强烈建议OCR磁盘和其他存放数据库数据的磁盘分开存放。
下表对OCR和VF做简单比较。
OCR(OracleClusterRegistry,Oracle集群注册表)VF(VotingFile,表决磁盘文件)简介OCR相当于集群的控制文件,保存了集群中绝大部分资源的配置信息,用于解决健忘问题。在Oracle11.2中引入一个新的文件,称作OLR(OracleLocalRegistry,Oracle本地注册表),它只允许存放在本地表决磁盘(VotingDisk)的作用是保存VF。VF的作用是实现集群的磁盘心跳,主要用于记录节点成员状态信息。在集群出现脑裂时,VF可以提供解决方案查找命令ocrcheckcrsct1querycssvotedisk解决健忘问题脑裂问题共性OCR和VF的信息不会分布到多块磁盘上都可以通过root.sh脚本来修复[考点]RAC
6.
集群中的MasterNode体现在哪两个方面?正确答案:在RAC中有两种Masters,一种是Clusterware层面的,另一种是Block层面的Masters。
首先,对于Clusterware层面的MasterNode来说,OCRMaster是负责更新OCR的,而且也只有OCRMaster才可以更新OCR的内容。默认集群中首先启动的节点就是OCRMaster。当OCRMaster的crsd.bin进程停止或重启的时候,此时集群中其他存活的crsd.bin进程的节点中NodeNumber最小的就成为新的OCRMaster。
有两种办法可以查询OCRMaster。
第一种办法是查询日志:
grep"OCRMASTER"$ORA_CRS_HOML/log/$HOST/crsd/crsd.1*
第二种办法是查询OCR的自动备份。OCR自动备份只发生在MasterNode。如果MasterNode备份OCR失败,那么OCR备份会在新的Master上进行。可通过执行如下命令查看OCR备份信息:
$ocrcontig-showbackup
----OCR自动备份默认每4小时一次
对于Block层面的Masters主要用于CacheFusion。任何节点都可以成为特定Block的MasterNode,可以通过V$GES_RESOURCE中的MASTER_NODE列查询。[考点]RAC
7.
cluvfy工具的作用是什么?正确答案:cluvfy(ClusterVerificationUtility,集群检验工具),简称CVU,是随Oracle集群管理软件一起发布的检查工具。它的功能是对整个集群系统实施过程的各个阶段以及各个组件进行检查,并验证是否满足Oracle的要求。cluvfy能对集群提供非常广泛的检查,包括OS硬件配置、内核参数设置、用户资源限制设置、网络设置、NTP设置、RAC组件健康性等。cluvfy在进行检查时并不会修改系统配置,所以不会对系统造成影响。cluvfy检查的内容可以从两个角度进行分类:阶段(Stage)和组件(Component)。
使用命令cluvfystage-list可以查看所有阶段。使用命令cluvfycomp-list可以查看所有组件。将list修改为help可以查看相应的命令。
比较常用的就是使用cluvfy命令进行安装集群之前的系统检查,如下:
$ORACLE_HOME/bin/cluvfystage
--precrsinst-nall-r11gR2-verbose-fixup
其中,-n选项表示需要检查的节点列表。这里需要所有列出的节点之间的用户等效性已经配置成功。
-r表示需要安装的软件版本,可以使用help查看支持的软件版本。
-verbose表示列出检查内容的详细信息。[考点]RAC
8.
cvuqdisk包的作用是什么?正确答案:在安装RAC的过程中,如果没有安装cvuqdisk包,那么集群检验工具(ClusterVerificationUtility,CVU)就不能发现共享磁盘。而且,如果没有安装该包或者安装的版本不对,那么当运行集群检验工具的时候就会报“PRVF-10037:Failedtoretrievestoragetypefor"<devicepath>"onnode"<node>"”“Couldnotgetthetypeofstorage”或“PRVF-07017:Packagecvuqdisknotinstalled”的错误。cvuqdisk的RPM包含在OracleGridInfrastructure安装介质上的rpm目录中。以root用户在RAC的2个节点上都进行安装,如下:
exportCVUQDISK_GRP=oinstall
rpm-ivcvuqdisk-1.0.9-1.rpm[考点]RAC
9.
哪个列可以用来区别V$视图和GV$视图?正确答案:GV$视图中的INST_ID列指明集群环境中具体的某个实例(INSTANCE)。[考点]RAC
10.
oraInventory目录的作用是什么?正确答案:由于Oracle支持将多个Oracle软件(或者多版本的数据库软件)安装到同一台服务器上,这就需要一个位置统一记录安装的软件信息。中央目录(CentralInventory)实际上就是一台主机上安装的Oracle产品清单。在这个清单里记录了每一个Oracle软件主目录的名称和位置、安装的组件,以及一些其他的信息。OUI在安装产品时会读取中央目录来确认已经安装过的产品信息,确保新安装的产品不会和已存在的产品冲突,而且不会覆盖掉原有的产品。另外,Oracle的集群和数据库软件在进行升级时,OUI也是通过读取中央目录中的信息来确认哪些软件应被安装。中央目录所有的Oracle软件安装都依赖于该目录,所以,要确保该目录已经备份,删除或丢失oraInventory目录的内容,都有可能导致安装或升级报错。另外,Oracle的软件产品通常比较复杂,包含很多组件,所以还需要一个更加细致的清单来记录每一个ORACLE_HOME下所安装的产品组件。而本地目录(LocalInventory)就是这样一个清单,它记录了每个产品所安装的组件,以及每个组件上应用过的补丁程序信息。
oraInventory目录的位置是由oraInst.loc文件决定的。
●AIX和Linux平台:/etc/oraInst.loc;
●Solaris和HP-UX平台:/var/opt/oracle/OraInst.loc;
●Windows平台:HKEY_LOCAL_MACHINE/Software/Oracle/inst.loc。
默认情况下它保存在$ORACLE_BASE上一层路径的oraInventory路径下,例如:
[oracle@orclalhr~]$more/etc/oraInst.loc
inventory_loc=/u01/app/oraInventory
inst_group=oinstall
一旦中央目录文件出现了损坏,可尝试使用以下的两种方式恢复该文件。
方式1:如果其他节点的inventory.xml没有损坏,可以将其复制到本地节点以覆盖原有文件。
方式2:使用$GRID_HOME/oui/bin/runInstaller工具重建inventory.xml文件。例如:
步骤1:添加GI_HOME。
./runInstaller-silent-ignoreSysPrereqs-attachHomeORACLE_HOME="/u01/app/11.2.0/grid"ORACLE_HOME_NAME="OraGI11Home1"CLUSTER_NODES=test1,test2CRS=true"INVENTORY_LOCATION=/u01/app/oraInventory"LOCAL_NODE=test1
步骤2:添加RDBMS_HOME。
./runInstaller-silent-ignomSysPrereqs-attachHomeORACLE_HOME="/u02/app/oracle/product/11.2.0/db_1"ORACLE_HOME_NAME="OraDB11Home1"CLUSTER_NODES=test1,test2CRS=true"INVENTORY_LOCATION=/u01/app/oraInventory"LOCAL_NODE=test1
作者就曾遇到过一次与该目录有关的异常:在RAC环境中,无论使用DBCA图形界面还是采用静默方式来创建数据库,最终创建的数据库都是单实例数据库,不能成功创建所需要的RAC库,最后查到的原因竟然是/u01/app/oraInventory/ContentsXML/inventory.xml文件中缺少了DB的部分。
这里顺便介绍一下LocalInventory的作用。LocalInventory用于保存某一个ORACLE_HOME下所安装的组件清单,它位于$ORACLE_HOME/inventory下。由于LocalInventory针对特定的软件主目录,所以并不存在inventory.xml文件。文件$ORACLE_HOME/inventory/ContentsXML/comps.xml记录了对应主目录下安装的所有组件。通常情况下,由于每一个Oracle产品都包含了很多组件,所以comps.xml文件的结构也很复杂。[考点]RAC
11.
谈谈对Oracle中RAC用到的CacheFusion的理解。正确答案:CacheFusion即缓存融合,它能实现RAC在各个节点之间同步SGA中的缓存信息,从而达到提高访问速度的效果,也保证了数据的一致性。要发挥CacheFusion的作用,要有一个前提条件,那就是网络的速度要比访问磁盘的速度要快;否则,没有引入CacheFusion的意义。
CacheFusion就是通过集群私网在各节点的SGA之间进行块传递,以避免首先将块推送到磁盘,然后再重新读入其他实例的缓存中这样一种低效的实现方式。当一个块被读入RAC环境中某个实例的缓存时,该块会被赋予一个锁资源(与行级锁不同),以确保其他实例知道该块正在被使用。之后,如果另一个实例请求该块的一个副本,而该块已经处于前一个实例的缓存内,那么该块会通过私网直接被传递到另一个实例的SGA。如果内存中的块已经被改变,但改变尚未提交,那么将会传递一个CR(ConsistentRead)副本。这就意味着只要可能,数据块无须写回磁盘即可在各实例的缓存之间移动,从而避免了同步多实例的缓存所花费的额外I/O。很明显,不同的实例缓存的数据可以是不同的,也就是在一个实例要访问特定块之前,而它又从未访问过这个块,那么它要么从其他实例CacheFusion过来,要么从磁盘中读入。[考点]RAC
12.
集群安装过程中的$GRID_HOME/root.sh脚本的作用是什么?正确答案:该脚本主要执行CRS的配置、格式化OCR磁盘、更新/etc/inittab文件、启动ocssd进程、新建/etc/oracle/ocr.loc文件等,是RAC安装过程中非常重要的一步。若后期OCR、OLR或表决磁盘出现问题都可以通过重新执行root.sh脚本来修复集群的配置信息。
重新执行root.sh脚本的过程如下:
$GRID_HOME/crs/install/rootcrs.pl-deconfig-force-verbose
--卸载配置信息
--$GRID_HOME/crs/install/rootcrs.pl-deconfig-force-verbose-lastnode-keepdg
--最后一个节点可以保留磁盘组
ddif=/dev/zeroof=/dev/rhdiskNbs=1024kcount=1024
--清理磁盘头
$DRID_HOME/root.sh
-重新执行
另外,deconfig执行完后可以考虑删除以下文件:
ls-1$GRID_BASE/Clusterware/ckptGridHA*
fredSGRID_HOME/gpnp/*-typef
find$GRID_HOMF/gpnp/*-typef-execrm-rf{}\;
集群的配置信息包含在文件$GRID_HOME/crs/install/crsconfig_params中,root.sh脚本根据该文件的配置信息设置OCR的内容。在执行root.sh脚本的过程中产生的日志在目录$GRID_HOME/cfgtoollogs/crsconfig/下。[考点]RAC
13.
如何彻底清除OCR的配置信息?正确答案:根据MOS文档“HowtoProceedfromFailed11gR2GridInfrastructure(CRS)Installation(文档ID942166.1)”的描述,若要重新执行root.sh脚本,可以如下操作:
1)在除最后一个节点外的所有节点执行:$GRID_HOME/crs/instail/rootcrs.pl-deconfig-force-verbose
2)在最后一个节点执行:$GRID_HOME/crs/install/rootcrs.pl-deconfig-force-verbose-lastnode
3)重启所有节点后再执行:$GRID_HOME/root.sh
需要注意的一点是,在执行完$GRID_HOME/crs/install/rootcrs.pl-deconfig-force-verbose后需要删除如下文件:
[考点]RAC
14.
如果$GRID_HOME下的权限被人为修改过,那么如何来修复该权限问题?正确答案:使用chown-R误操作将整个$GRID_BASE的权限修改了,或者删除了$GRID_HOME/log文件夹下的所有内容,导致集群不能启动。在这种情况下可以根据MOS文档:TipsforcheckingfilepermissionsonGRIDenvironment(ID1931142.1)来修复该问题。
该文档中描述到,在$GRID_HOME/crs/utl(Oracle11.2及12.1.0.1)或<GRID_HOME>/crs/utl/<hosmame>(Oracle12.1.0.2)下面的crsconfig_dirs和crsconfig_fileperms文件中记录了整个$GRID_HOME下面的文件和目录的相关权限。
可以通过命令“cluvfycompsoftware-nall-verbose”来校验集群的权限是否正确。
所以要解决这个问题其实并不难,大致可以通过如下几种方法来解决:
1)根据MOS文档提供的建议,通过$GRID_HOME/crs/install/rootcrs.pl-init或rootbas.pl-init进行解决。rootcrs.pl-init是在PSU>11.2.0.3.6下执行的,如果PSU<11.2.0.3.6,则可以执行如下两条命令来实现同样的效果。
<GRID_HOME>/crs/install/rootcrs.pl-unlock
<GRID_HOME>/crs/install/rootcrs.pl-patch
2)采用MOS文档1515018.1上提供的脚本在正常库上生成脚本,然后将生成的脚本在异常库上执行,从而来修复权限问题。
3)Oracle11gR2可以删除CRS的配置,然后重新运行root.sh即可。如果OCR和数据库不在同一个磁盘组里,那么重新运行root.sh脚本并不影响数据库,所以无须担心。
$GRID_HOME/crs/install/rootcrs.pl-deconfig-force-verbose
$GRID_HOME/root.sh
4)MOS文档1515018.1上提供了一个修复脚本:permission.pl。可以根据该脚本来修复。
在安装有GI的环境下,权限、属主是严格被设定的,任何对它们的错误修改容易引发一系列的问题,而且这些问题往往都很诡异,很难按照常规的思路去诊断。一旦出现权限的问题,作者建议按第1)和第3)种方式来修改。
如果可执行文件$ORACLE_HOME/bin/oracle的属主或权限设定出了问题,那么可能会造成很多问题。例如,无法登录到数据库、ora-600错误、“TNS-12518:TNS:listenercouldnothandoffclientconnection”“LinuxError:32:Brokenpipe”“ORA-12537:TNS:connectionclosed”、访问ASM磁盘出错等。解决办法很简单,可以在grid用户下运行setasmgidwrap命令重新配置$ORACLE_HOME/bin/oracle可执行文件的权限和属主,或者直接将oracle文件的权限修改为6751。$ORACLE_HOME/bin/oracle可执行文件正确属主应该是oracle:asmadmin,并且权限必须有s共享才可以,如下:
[考点]RAC
15.
在Linux下如何快速卸载RAC?正确答案:卸载RAC可以通过普通的脚本方式,如下:
1)卸载GRID软件,grid用户执行:$ORACLE_HOME/deinstall/deinstall。
2)卸载ORACLE软件,oracle用户执行:$ORACLE_HOME/deinstall/deinstall。
但是,脚本的方式卸载慢,多半卸载不成功,所以这个时候就需要手工进行卸载。手工卸载的方式就是手工删除一系列的RAC软件及配置信息。在Linux下手工卸载RAC的步骤如下:
①rm-rf/etc/ora*。
②rm-rf/var/tmp/.oracle。
③修改/etc/inittab文件,若是Oracle10g则删除以下3行:
h1:2:respawn:/etc/init.evmdrun>/dev/null2>&1</dev/null
h2:2:respawn:/etc/init.cssdfatal>/dev/null2>&1</dev/null
h3:2:respawn:/etc/init.crsdrun>/dev/null2>&1</dev/null
若是Oracle11g则删除以下1行:
h1:35:respawn:/etc/init.d/init.ohasdrun>/dev/null2>&1</dev/null
④rm-rf/tmp/*。
⑤rm-rf/u01/app/grid/*
--删除GRID目录。
⑥rm-rf/u01/app/oracle/*
--删除Oracle目录。
⑦rm-rf/u01/app/oraInventory/*。
⑧清除OCR、Voting及数据库使用过的磁盘。
ddif=/dev/zeroof=/dev/raw/raw1bs=104857600count=1
ddif=/dev/zeroof=/dev/raw/raw2bs=104857600count=1
最后,重启2个节点。以上手工卸载的步骤也可以用于卸载单实例的数据库和GRID。[考点]RAC
16.
在Windows下如何快速干净地卸载Oracle软件?正确答案:在Windows下手工卸载RAC的步骤如下:
①开始->设置->控制面板->管理工具->服务,或运行services.msc打开服务,停止所有Oracle服务。
②删除Oracle和GRID的安装目录。
③删除C:\ProgramFiles\Oracle目录。
④删除C:\windows\temp和C:\temp以及C:\Users\Administrator\Oracle下的文件。
⑤运行regedit,打开注册表编辑器,选择HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE,删除该项。
⑥运行regedit,打开注册表编辑器,选择HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services,滚动这个列表,删除所有Oracle开头的项。
⑦运行regedit,打开注册表编辑器,选择HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application,删除所有Oracle入口。
⑧开始->设置->控制面板->系统->高级->环境变量,删除环境变量CLASSPATH和PATH中有关Oracle的设定。
⑨从桌面上、STARTUP(启动)组、程序菜单中,删除所有有关Oracle的组和图标。
⑩重新启动计算机,重启后才能完全删除Oracle所在目录。
若个别文件不能删除,则说明该文件与某个Windows服务相关联,可以先把相关联的服务停止后再删除。
以上手工卸载的步骤也可以用于卸载单实例的数据库和GRID。[考点]RAC
17.
在RAC环境中,如何在当前的实例下杀掉另外一个实例的会话?正确答案:在Oracle11g中很好实现,只需要在命令“ALTERSYSTEMKILLSESSION'SID,SERIAL#'IMMEDIATE;”中的SERIAL#后加上实例号即可。如果要杀掉实例2上的“71,20925”的会话,那么在任意一个节点上执行:“ALTERSYSTEMDISCONNECTSESSION'71,20925,@2'IMMEDIATE;”即可,但是Oracle11g以下版本的RAC中就只能连接到相应的实例上才能杀掉当前实例的会话。其实,有一种折中的办法就是创建JOB,让该JOB在指定的实例上运行KILLSESSION的命令,这个具体代码留给读者来完成。[考点]RAC
18.
RAC等待事件gcbufferbusyacquire和gcbufferbusyrelease的区别是什么?正确答案:gcbufferbusy是RAC数据库中常见的等待事件,从Oracle11g开始gcbufferbusy分为gcbufferbusyacquire和gcbufferbusyrelease。
gcbufferbusyacquire是当会话1尝试请求访问远程实例上的数据块,但是在会话1之前已经有相同实例上另外一个会话2请求访问了相同的数据块,并且没有完成,那么会话1等待gcbufferbusyacquire。
gcbufferbusyrelease是在会话1之前已经有远程实例的会话2请求访问了相同的数据块,并且没有完成,那么会话1等待gcbufferbusyrelease。[考点]RAC
19.
有哪些角色可以管理ASM实例,它们之间的区别有哪些?正确答案:能够管理ASM实例的角色有如下三种:组描述OS指定的组具有的权限简介OSASMasmadminSYSASMASM所有管理工作OSDBAasmdbaSYSDBA访问磁盘组上的文件,数据库实例所在用户必须是此组成员,因为要对数据文件进行操作,注意只有基于数据库层面的操作权限,没有底层磁盘组层面的操作权限,且不能肩停ASM实例OSOPERasmoperSYSOPERSTARTUP、SHUTDOWN、MOUNT、DISMOUNT和检查磁盘组
通常oracle用户和grid用户必须是asmdba组成员,此外,grid用户还必须是asmadmin、asmoper组的成员。安装ASM或RAC时默认创建ASMSNMP用户,该用户为OPEN状态并被赋予了SYSDBA权限。OEM需要该用户来监控ASM实例并从ASM实例相关的数据字典中获取数据。在ASM实例中,通过视图V$PWFILE_USERS可以查看该用户的信息。[考点]RAC
20.
RAC节点被踢出可能有哪些原因?正确答案:可能的原因包括服务器负载严重或内核HANG住、网络心跳丢失、磁盘心跳丢失、CSSD进程HANG住。[考点]RAC
21.
RAC环境下的Redo文件可以放在节点本地吗?正确答案:不能。同单实例的系统一样,在RAC环境中,每个节点实例都需要至少两组Redo日志文件,且每个节点实例有自己独立的Redo日志线程(由初始化参数THREAD定义),例如:
RAC环境中的Redo日志文件必须部署到共享存储中,而且需要保证可被集群内的所有节点实例访问到。当某个节点实例进行实例恢复或介质恢复的时候,该节点上的实例将可以应用集群下所有节点实例上的Redo日志文件,从而保证恢复可以在任意可用节点进行。[考点]RAC
22.
RAC环境下“ALTERSYSTEMSWITCHLOGFILE;”与“ALTERSYSTEMARCHIVELOGCURRENT;”有什么区别?正确答案:“ALTERSYSTEMSWITCHLOGFILE;”仅对当前发布节点上的对应RedoThread进行日志切换并归档。“ALTERSYSTEMARCHIVELOGCURRENT;”对集群内所有节点实例上的RedoThread进行切换并归档(在节点实例可用情况下,分别归档到各节点主机的归档目的地,当节点不可用时
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024-2025学年度收银审核员考前冲刺试卷带答案详解(典型题)
- 2024-2025学年度医学检验(士)全真模拟模拟题含答案详解【完整版】
- 2024-2025学年度吉林省经济管理干部学院单招考试文化素质物理过关检测试卷(各地真题)附答案详解
- 2024-2025学年农村信用社招聘考试高频难、易错点题往年题考附答案详解
- 2024-2025学年度湖南城建职业技术学院单招《职业适应性测试》考前冲刺练习试题附答案详解【基础题】
- 2024-2025学年医学检验(中级)检测卷(典型题)附答案详解
- 2024-2025学年度法律硕士真题附参考答案详解【完整版】
- 2024-2025学年度冶金工业技能鉴定考试综合练习及参考答案详解(综合卷)
- 2024-2025学年度中级软考高频难、易错点题【名师系列】附答案详解
- 2024-2025学年度临床执业医师题库试题附参考答案详解(黄金题型)
- 五年(2021-2025)高考生物真题分类汇编专题专题08 生物与环境(解析版)(河北专用)
- 结构健康监测技术
- GB/T 17219-2025生活饮用水输配水设备、防护材料及水处理材料卫生安全评价
- 2025年政治法制素养题库及答案
- 移动l1认证考试题库及答案
- 中山市招投标管理办法
- 湖南土地复垦管理办法
- 医院一站式服务课件
- 板式支护、槽钢支护施工方法
- 浙江专升本政治试题及答案
- 2025年数据中心机房第三方验证测试方案-方案设计
评论
0/150
提交评论