版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
數(shù)據(jù)庫程序員面試分類真題16簡答題1.
什么是OCR?正確答案:Oracle集群使用兩種類型的文件來管理集群資源和節(jié)點:OCR(OracleClusterRegistry,Oracle集群注(江南博哥)冊表)和VF(VotingFile,表決磁盤文件)。這兩種文件必須存放在共享存儲上。其中,OCR相當(dāng)于集群的控制文件,用于解決健忘問題,VF用于解決腦裂問題。在Oracle11.2中引入一個新的文件,稱作OLR(OracleLocalRegistry,Oracle本地注冊表),它只允許存放在本地。
Oracle集群軟件(Clusterware)把整個集群的配置信息放在共享存儲上,這個存儲就是OCR磁盤(OCRDisk)。OCR是OracleRAC配置信息倉庫,它管理集群節(jié)點的相關(guān)信息及實例到節(jié)點的映射信息。因此,OCR的內(nèi)容非常重要,對OCR的操作必須確保OCR內(nèi)容完整性。在整個集群運行過程中,并不是所有節(jié)點都能操作OCR磁盤,而只有一個節(jié)點能對OCR磁盤進行讀寫操作,這個節(jié)點叫作MasterNode。在每個節(jié)點的內(nèi)存中都有一份OCR內(nèi)容的拷貝,這份拷貝叫作OCRCache。同時,每個節(jié)點都有一個OCRProcess來讀寫OCRCache,但只有一個節(jié)點的OCRProcess能讀寫OCR磁盤中的內(nèi)容。當(dāng)OCR內(nèi)容發(fā)生改變時,由MasterNode的OCRProcess負(fù)責(zé)更新本地和其他節(jié)點的OCRCache內(nèi)容。
需要注意的是,OCR和VF的信息不會被分布到多塊磁盤上,如果用一塊磁盤保存OCR或VF,那么一定會保存完整的OCR和VF信息。
所有需要OCR內(nèi)容的其他進程,比如OCSSD、EVM等都被叫作ClientProcess。這些進程不會直接訪問OCRCache,而是向OCRProcess發(fā)送請求,借助OCRProcess獲得內(nèi)容。如果想要修改OCR內(nèi)容,也要由該節(jié)點的OCRProcess向MasterNode的OCRProcess提交申請,由MasterOCRProcess完成物理的讀寫,并同步所有節(jié)點OCRCache中的內(nèi)容。
OCR的結(jié)構(gòu)如下圖所示。
OCR中保存著整個集群中絕大部分資源的配置信息,配置信息以“Key-Value”并且采用樹形結(jié)構(gòu)來保存,所以,并沒有類似于數(shù)據(jù)文件的塊的概念。在OracleClusterware安裝的過程中,安裝程序會提示用戶指定OCR位置。用戶指定的這個位置會被記錄在/etc/oracle/ocr.loc(Linux或AIX)或者/var/opt/oracle/ocr.loc(Solaris系統(tǒng))文件中。OracleClusterware在啟動時會根據(jù)這里面的內(nèi)容從指定位置讀入OCR內(nèi)容。
其中,ocrconfig_loc指定OCR的位置。如果為OCR指定了鏡像(Mirror),那么還會出現(xiàn)選項ocrmirrorconfig_loc,用于定義OCR鏡像的位置。loca_only指定是否是RAC系統(tǒng),如果這個值為FALSE,那么表示是RAC系統(tǒng),如果這個值為TRUE,那么表示是單實例系統(tǒng)(在使用ASM時需要)。
整個OCR的信息是樹形結(jié)構(gòu),有3個大分支,分別是SYSTEM、DATABASE和CRS。每個分支下面又有許多小分支。OCR記錄的信息只能由root用戶修改。[考點]RAC
2.
如何備份及恢復(fù)OCR?正確答案:與Oracle數(shù)據(jù)庫的備份恢復(fù)相似,OCR的備份也有物理備份和邏輯備份,因此有兩種備份方式和兩種恢復(fù)方式。物理備份是自動進行的,邏輯備份需要手動進行。
因為OCR的內(nèi)容如此重要,所以O(shè)racle每4個小時對其做一次物理備份,并且保留最后的3個物理備份,以及前一天、前一周的最后一個物理備份。用戶不能自定義物理備份頻率以及備份文件的副本數(shù)。這個備份由MasterNodeCRSD進程完成,備份的默認(rèn)位置在$GRID_HOME/cdata/<cluster_name>目錄下,也可由命令ocrconfig-showbackup獲取備份的位置。每次備份后,備份文件名自動更改,以反映備份時間順序,最近一次的備份叫作backup00.ocr。這些備份文件除了保存在本地,DBA還應(yīng)該在其他存儲設(shè)備上保留一份,以防止意外的存儲故障。備份目錄可以通過命令“ocrconfig-backuploc<directory_name>”修改。
使用ocrconfig-export方式產(chǎn)生的備份,統(tǒng)稱為邏輯備份。對于OCR的配置發(fā)生重大的變化前后,如添加刪除節(jié)點、修改集群資源、創(chuàng)建數(shù)據(jù)庫等,都建議使用邏輯備份。對于由于錯誤配置而導(dǎo)致的OCR被損壞的情形,可以使用ocrconfig-import方式進行恢復(fù)。邏輯備份的恢復(fù)方式和物理備份的恢復(fù)方式一致,這里不再贅述。
對OCR的恢復(fù)還可以采用dd、kfed及md_restore命令進行,這里不再詳述。[考點]RAC
3.
什么是OLR?正確答案:OCR是用于保存CRSD所管理的資源的注冊表,但是在CRSD啟動之前集群還有很多初始化資源(例如ASM實例)需要啟動,所以,只有OCR是不夠的。因此,Oracle在11gR2版本中推出了另一種注冊表OLR(OracleLocalRegistry,Oracle本地注冊表)。OLR類似于Oracle集群注冊表,但是OLR只存儲與本地節(jié)點有關(guān)的信息。OLR不與集群中的其他節(jié)點共享。OLR存儲了集群啟動初期ohasd(OracleHighAvailabilityService)使用的重要環(huán)境,如Oracle集群件的版本、配置等。如果OLR丟失或損壞,那么將會導(dǎo)致ohasd進程啟動失敗。所以,OLR的主要作用就是為ohasd守護進程提供集群的配置信息和初始化資源的定義信息。
Oracle在一個名為/etc/oracle/olr.loc(Linux或AIX)或者/var/opt/oracle/olr.loc(Solaris系統(tǒng))的文本文件中存儲了OLR配置文件的位置。當(dāng)集群啟動時,ohasd會從該文件中讀取OLR的位置。對于集群環(huán)境(GICluster)而言,OLR的文件名一般為$GRID_HOME/cdata/<hostname.olr>,而對于單節(jié)點(GIStandalone,OracleRestart)而言,OLR的文件名一般為$GRID_HOME/cdata/localhost/<hosmame.olr>。下例為集群環(huán)境的配置:
[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的結(jié)構(gòu)仍然沿用了和OCR相同的樹形結(jié)構(gòu),而且其中的信息組織形式和OCR也是相同的。所以,其維護類似于OCR的維護過程。它們常用到的維護工具有ocrconfig、ocrdump和ocrcheck。其中,加上-local表示對OLR的操作,否則是對OCR的操作。
1)ocrcheck對OCR/OLR執(zhí)行快速健康檢查,并輸出空間使用統(tǒng)計信息。
2)ocrdump將OCR/OLR的內(nèi)容轉(zhuǎn)儲到一個操作系統(tǒng)文件。
3)ocrconfig對OCR/OLR執(zhí)行導(dǎo)入、導(dǎo)出、添加、替換、刪除、恢復(fù)和顯示備份操作。[考點]RAC
4.
OLR如何進行備份恢復(fù)?正確答案:OLR的備份策略和OCR的有所不同,默認(rèn)情況下GI在初始安裝時會在路徑SGRID_HOME/cdata/<節(jié)點名>下產(chǎn)生一個備份。
[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不會被自動備份,如果在集群的一些配置信息發(fā)生改變后,需要使用下面的命令手動進行備份:
[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
建議在集群的重要配置信息(例如,集群私網(wǎng)配置)發(fā)生改變之后,使用命令ocrconfig-local-manualbackup手動備份OLR。當(dāng)OLR丟失之后,可以使用命令“ocrconfig-local-restore<OLR備份文件>”來恢復(fù),不能從集群的其他節(jié)點復(fù)制OLR到本地節(jié)點,這是因為OLR中保存的一些信息是針對本地節(jié)點的。如果需要驗證OLR的一致性,那么可以使用ocrcheck-local命令。簡單地說,所有適用于OCR的命令同樣適用于OLR,但是需要增加-local選項。
對于OLR的備份恢復(fù)簡單過程如下(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<o(jì)lr-backup>
<GI_HOME>/bin/crsctlstartors<============forGICluster
<GI_HOME>/bin/crsct1starthas<=============forGIStandalone,thismustbedoneasgriduser.[考點]RAC
5.
什么是VF(VotingFile)?正確答案:表決磁盤(VotingDisk)也叫仲裁盤(QuorumDisk),表決磁盤的作用是保存VF(VotingFile,表決磁盤文件)。VF的作用是實現(xiàn)集群的磁盤心跳,主要用于記錄節(jié)點成員狀態(tài)信息,例如,包含哪些節(jié)點成員,節(jié)點添加刪除信息的記錄等。在集群出現(xiàn)腦裂時,VF可以用來決定哪個節(jié)點獲得控制權(quán),其他的節(jié)點必須從集群中剔除,即在集群出現(xiàn)腦裂時,可以提供解決方案。表決磁盤存儲在ASM中,有如下幾點要求:
1)表決磁盤文件必須全部放入ASM中。
2)表決磁盤存在ASM中的個數(shù)不能修改,而是通過ASM的NORMAL、HIGH、EXTERNAL冗余級別決定的。例如,在NORMAL中必須有3個故障組3個表決磁盤,在HIGH中必須要有5個故障組5個表決磁盤,在EXTERNAL只有1個表決磁盤。
3)表決磁盤文件在Oracle11gR2中不再支持dd命令對其進行備份和還原,而是支持crsct1相關(guān)命令或自動備份。在Oracle11gR2之前的版本,如果要備份表決磁盤的內(nèi)容,那么只有使用dd命令進行備份。
4)表決磁盤文件的個數(shù)必須是奇數(shù),便于投票選舉,且表決磁盤文件的個數(shù)最多為15個,但一般沒必要超過5個。
在安裝集群時也會提示指定表決磁盤的位置。安裝完成后可以通過如下命令來查看表決磁盤的位置:
另外,也可以從V$ASM_DISK這個視圖中查詢,VOTING_FILE列為Y的表示包含表決磁盤。
表決磁盤的配置位置是在GPnPprofile文件中。對于表決磁盤的維護有很多命令,這里不再詳述。
最后需要說明的一點是,如果表決磁盤損壞,而OCR或OLR的備份不可用,那么可以通過重新執(zhí)行root.sh腳本的方式來修復(fù)OCR,修復(fù)之后除OCR磁盤組外的所有磁盤組,只要磁盤頭沒有損壞,就都可以直接對磁盤組進行MOUNT操作來恢復(fù)業(yè)務(wù)數(shù)據(jù)庫。因此,強烈建議OCR磁盤和其他存放數(shù)據(jù)庫數(shù)據(jù)的磁盤分開存放。
下表對OCR和VF做簡單比較。
OCR(OracleClusterRegistry,Oracle集群注冊表)VF(VotingFile,表決磁盤文件)簡介OCR相當(dāng)于集群的控制文件,保存了集群中絕大部分資源的配置信息,用于解決健忘問題。在Oracle11.2中引入一個新的文件,稱作OLR(OracleLocalRegistry,Oracle本地注冊表),它只允許存放在本地表決磁盤(VotingDisk)的作用是保存VF。VF的作用是實現(xiàn)集群的磁盤心跳,主要用于記錄節(jié)點成員狀態(tài)信息。在集群出現(xiàn)腦裂時,VF可以提供解決方案查找命令ocrcheckcrsct1querycssvotedisk解決健忘問題腦裂問題共性O(shè)CR和VF的信息不會分布到多塊磁盤上都可以通過root.sh腳本來修復(fù)[考點]RAC
6.
集群中的MasterNode體現(xiàn)在哪兩個方面?正確答案:在RAC中有兩種Masters,一種是Clusterware層面的,另一種是Block層面的Masters。
首先,對于Clusterware層面的MasterNode來說,OCRMaster是負(fù)責(zé)更新OCR的,而且也只有OCRMaster才可以更新OCR的內(nèi)容。默認(rèn)集群中首先啟動的節(jié)點就是OCRMaster。當(dāng)OCRMaster的crsd.bin進程停止或重啟的時候,此時集群中其他存活的crsd.bin進程的節(jié)點中NodeNumber最小的就成為新的OCRMaster。
有兩種辦法可以查詢OCRMaster。
第一種辦法是查詢?nèi)罩荆?/p>
grep"OCRMASTER"$ORA_CRS_HOML/log/$HOST/crsd/crsd.1*
第二種辦法是查詢OCR的自動備份。OCR自動備份只發(fā)生在MasterNode。如果MasterNode備份OCR失敗,那么OCR備份會在新的Master上進行??赏ㄟ^執(zhí)行如下命令查看OCR備份信息:
$ocrcontig-showbackup
----OCR自動備份默認(rèn)每4小時一次
對于Block層面的Masters主要用于CacheFusion。任何節(jié)點都可以成為特定Block的MasterNode,可以通過V$GES_RESOURCE中的MASTER_NODE列查詢。[考點]RAC
7.
cluvfy工具的作用是什么?正確答案:cluvfy(ClusterVerificationUtility,集群檢驗工具),簡稱CVU,是隨Oracle集群管理軟件一起發(fā)布的檢查工具。它的功能是對整個集群系統(tǒng)實施過程的各個階段以及各個組件進行檢查,并驗證是否滿足Oracle的要求。cluvfy能對集群提供非常廣泛的檢查,包括OS硬件配置、內(nèi)核參數(shù)設(shè)置、用戶資源限制設(shè)置、網(wǎng)絡(luò)設(shè)置、NTP設(shè)置、RAC組件健康性等。cluvfy在進行檢查時并不會修改系統(tǒng)配置,所以不會對系統(tǒng)造成影響。cluvfy檢查的內(nèi)容可以從兩個角度進行分類:階段(Stage)和組件(Component)。
使用命令cluvfystage-list可以查看所有階段。使用命令cluvfycomp-list可以查看所有組件。將list修改為help可以查看相應(yīng)的命令。
比較常用的就是使用cluvfy命令進行安裝集群之前的系統(tǒng)檢查,如下:
$ORACLE_HOME/bin/cluvfystage
--precrsinst-nall-r11gR2-verbose-fixup
其中,-n選項表示需要檢查的節(jié)點列表。這里需要所有列出的節(jié)點之間的用戶等效性已經(jīng)配置成功。
-r表示需要安裝的軟件版本,可以使用help查看支持的軟件版本。
-verbose表示列出檢查內(nèi)容的詳細信息。[考點]RAC
8.
cvuqdisk包的作用是什么?正確答案:在安裝RAC的過程中,如果沒有安裝cvuqdisk包,那么集群檢驗工具(ClusterVerificationUtility,CVU)就不能發(fā)現(xiàn)共享磁盤。而且,如果沒有安裝該包或者安裝的版本不對,那么當(dāng)運行集群檢驗工具的時候就會報“PRVF-10037:Failedtoretrievestoragetypefor"<devicepath>"onnode"<node>"”“Couldnotgetthetypeofstorage”或“PRVF-07017:Packagecvuqdisknotinstalled”的錯誤。cvuqdisk的RPM包含在OracleGridInfrastructure安裝介質(zhì)上的rpm目錄中。以root用戶在RAC的2個節(jié)點上都進行安裝,如下:
exportCVUQDISK_GRP=oinstall
rpm-ivcvuqdisk-1.0.9-1.rpm[考點]RAC
9.
哪個列可以用來區(qū)別V$視圖和GV$視圖?正確答案:GV$視圖中的INST_ID列指明集群環(huán)境中具體的某個實例(INSTANCE)。[考點]RAC
10.
oraInventory目錄的作用是什么?正確答案:由于Oracle支持將多個Oracle軟件(或者多版本的數(shù)據(jù)庫軟件)安裝到同一臺服務(wù)器上,這就需要一個位置統(tǒng)一記錄安裝的軟件信息。中央目錄(CentralInventory)實際上就是一臺主機上安裝的Oracle產(chǎn)品清單。在這個清單里記錄了每一個Oracle軟件主目錄的名稱和位置、安裝的組件,以及一些其他的信息。OUI在安裝產(chǎn)品時會讀取中央目錄來確認(rèn)已經(jīng)安裝過的產(chǎn)品信息,確保新安裝的產(chǎn)品不會和已存在的產(chǎn)品沖突,而且不會覆蓋掉原有的產(chǎn)品。另外,Oracle的集群和數(shù)據(jù)庫軟件在進行升級時,OUI也是通過讀取中央目錄中的信息來確認(rèn)哪些軟件應(yīng)被安裝。中央目錄所有的Oracle軟件安裝都依賴于該目錄,所以,要確保該目錄已經(jīng)備份,刪除或丟失oraInventory目錄的內(nèi)容,都有可能導(dǎo)致安裝或升級報錯。另外,Oracle的軟件產(chǎn)品通常比較復(fù)雜,包含很多組件,所以還需要一個更加細致的清單來記錄每一個ORACLE_HOME下所安裝的產(chǎn)品組件。而本地目錄(LocalInventory)就是這樣一個清單,它記錄了每個產(chǎn)品所安裝的組件,以及每個組件上應(yīng)用過的補丁程序信息。
oraInventory目錄的位置是由oraInst.loc文件決定的。
●AIX和Linux平臺:/etc/oraInst.loc;
●Solaris和HP-UX平臺:/var/opt/oracle/OraInst.loc;
●Windows平臺:HKEY_LOCAL_MACHINE/Software/Oracle/inst.loc。
默認(rèn)情況下它保存在$ORACLE_BASE上一層路徑的oraInventory路徑下,例如:
[oracle@orclalhr~]$more/etc/oraInst.loc
inventory_loc=/u01/app/oraInventory
inst_group=oinstall
一旦中央目錄文件出現(xiàn)了損壞,可嘗試使用以下的兩種方式恢復(fù)該文件。
方式1:如果其他節(jié)點的inventory.xml沒有損壞,可以將其復(fù)制到本地節(jié)點以覆蓋原有文件。
方式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
作者就曾遇到過一次與該目錄有關(guān)的異常:在RAC環(huán)境中,無論使用DBCA圖形界面還是采用靜默方式來創(chuàng)建數(shù)據(jù)庫,最終創(chuàng)建的數(shù)據(jù)庫都是單實例數(shù)據(jù)庫,不能成功創(chuàng)建所需要的RAC庫,最后查到的原因竟然是/u01/app/oraInventory/ContentsXML/inventory.xml文件中缺少了DB的部分。
這里順便介紹一下LocalInventory的作用。LocalInventory用于保存某一個ORACLE_HOME下所安裝的組件清單,它位于$ORACLE_HOME/inventory下。由于LocalInventory針對特定的軟件主目錄,所以并不存在inventory.xml文件。文件$ORACLE_HOME/inventory/ContentsXML/comps.xml記錄了對應(yīng)主目錄下安裝的所有組件。通常情況下,由于每一個Oracle產(chǎn)品都包含了很多組件,所以comps.xml文件的結(jié)構(gòu)也很復(fù)雜。[考點]RAC
11.
談?wù)剬racle中RAC用到的CacheFusion的理解。正確答案:CacheFusion即緩存融合,它能實現(xiàn)RAC在各個節(jié)點之間同步SGA中的緩存信息,從而達到提高訪問速度的效果,也保證了數(shù)據(jù)的一致性。要發(fā)揮CacheFusion的作用,要有一個前提條件,那就是網(wǎng)絡(luò)的速度要比訪問磁盤的速度要快;否則,沒有引入CacheFusion的意義。
CacheFusion就是通過集群私網(wǎng)在各節(jié)點的SGA之間進行塊傳遞,以避免首先將塊推送到磁盤,然后再重新讀入其他實例的緩存中這樣一種低效的實現(xiàn)方式。當(dāng)一個塊被讀入RAC環(huán)境中某個實例的緩存時,該塊會被賦予一個鎖資源(與行級鎖不同),以確保其他實例知道該塊正在被使用。之后,如果另一個實例請求該塊的一個副本,而該塊已經(jīng)處于前一個實例的緩存內(nèi),那么該塊會通過私網(wǎng)直接被傳遞到另一個實例的SGA。如果內(nèi)存中的塊已經(jīng)被改變,但改變尚未提交,那么將會傳遞一個CR(ConsistentRead)副本。這就意味著只要可能,數(shù)據(jù)塊無須寫回磁盤即可在各實例的緩存之間移動,從而避免了同步多實例的緩存所花費的額外I/O。很明顯,不同的實例緩存的數(shù)據(jù)可以是不同的,也就是在一個實例要訪問特定塊之前,而它又從未訪問過這個塊,那么它要么從其他實例CacheFusion過來,要么從磁盤中讀入。[考點]RAC
12.
集群安裝過程中的$GRID_HOME/root.sh腳本的作用是什么?正確答案:該腳本主要執(zhí)行CRS的配置、格式化OCR磁盤、更新/etc/inittab文件、啟動ocssd進程、新建/etc/oracle/ocr.loc文件等,是RAC安裝過程中非常重要的一步。若后期OCR、OLR或表決磁盤出現(xiàn)問題都可以通過重新執(zhí)行root.sh腳本來修復(fù)集群的配置信息。
重新執(zhí)行root.sh腳本的過程如下:
$GRID_HOME/crs/install/rootcrs.pl-deconfig-force-verbose
--卸載配置信息
--$GRID_HOME/crs/install/rootcrs.pl-deconfig-force-verbose-lastnode-keepdg
--最后一個節(jié)點可以保留磁盤組
ddif=/dev/zeroof=/dev/rhdiskNbs=1024kcount=1024
--清理磁盤頭
$DRID_HOME/root.sh
-重新執(zhí)行
另外,deconfig執(zhí)行完后可以考慮刪除以下文件:
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腳本根據(jù)該文件的配置信息設(shè)置OCR的內(nèi)容。在執(zhí)行root.sh腳本的過程中產(chǎn)生的日志在目錄$GRID_HOME/cfgtoollogs/crsconfig/下。[考點]RAC
13.
如何徹底清除OCR的配置信息?正確答案:根據(jù)MOS文檔“HowtoProceedfromFailed11gR2GridInfrastructure(CRS)Installation(文檔ID942166.1)”的描述,若要重新執(zhí)行root.sh腳本,可以如下操作:
1)在除最后一個節(jié)點外的所有節(jié)點執(zhí)行:$GRID_HOME/crs/instail/rootcrs.pl-deconfig-force-verbose
2)在最后一個節(jié)點執(zhí)行:$GRID_HOME/crs/install/rootcrs.pl-deconfig-force-verbose-lastnode
3)重啟所有節(jié)點后再執(zhí)行:$GRID_HOME/root.sh
需要注意的一點是,在執(zhí)行完$GRID_HOME/crs/install/rootcrs.pl-deconfig-force-verbose后需要刪除如下文件:
[考點]RAC
14.
如果$GRID_HOME下的權(quán)限被人為修改過,那么如何來修復(fù)該權(quán)限問題?正確答案:使用chown-R誤操作將整個$GRID_BASE的權(quán)限修改了,或者刪除了$GRID_HOME/log文件夾下的所有內(nèi)容,導(dǎo)致集群不能啟動。在這種情況下可以根據(jù)MOS文檔:TipsforcheckingfilepermissionsonGRIDenvironment(ID1931142.1)來修復(fù)該問題。
該文檔中描述到,在$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下面的文件和目錄的相關(guān)權(quán)限。
可以通過命令“cluvfycompsoftware-nall-verbose”來校驗集群的權(quán)限是否正確。
所以要解決這個問題其實并不難,大致可以通過如下幾種方法來解決:
1)根據(jù)MOS文檔提供的建議,通過$GRID_HOME/crs/install/rootcrs.pl-init或rootbas.pl-init進行解決。rootcrs.pl-init是在PSU>11.2.0.3.6下執(zhí)行的,如果PSU<11.2.0.3.6,則可以執(zhí)行如下兩條命令來實現(xiàn)同樣的效果。
<GRID_HOME>/crs/install/rootcrs.pl-unlock
<GRID_HOME>/crs/install/rootcrs.pl-patch
2)采用MOS文檔1515018.1上提供的腳本在正常庫上生成腳本,然后將生成的腳本在異常庫上執(zhí)行,從而來修復(fù)權(quán)限問題。
3)Oracle11gR2可以刪除CRS的配置,然后重新運行root.sh即可。如果OCR和數(shù)據(jù)庫不在同一個磁盤組里,那么重新運行root.sh腳本并不影響數(shù)據(jù)庫,所以無須擔(dān)心。
$GRID_HOME/crs/install/rootcrs.pl-deconfig-force-verbose
$GRID_HOME/root.sh
4)MOS文檔1515018.1上提供了一個修復(fù)腳本:permission.pl。可以根據(jù)該腳本來修復(fù)。
在安裝有GI的環(huán)境下,權(quán)限、屬主是嚴(yán)格被設(shè)定的,任何對它們的錯誤修改容易引發(fā)一系列的問題,而且這些問題往往都很詭異,很難按照常規(guī)的思路去診斷。一旦出現(xiàn)權(quán)限的問題,作者建議按第1)和第3)種方式來修改。
如果可執(zhí)行文件$ORACLE_HOME/bin/oracle的屬主或權(quán)限設(shè)定出了問題,那么可能會造成很多問題。例如,無法登錄到數(shù)據(jù)庫、ora-600錯誤、“TNS-12518:TNS:listenercouldnothandoffclientconnection”“LinuxError:32:Brokenpipe”“ORA-12537:TNS:connectionclosed”、訪問ASM磁盤出錯等。解決辦法很簡單,可以在grid用戶下運行setasmgidwrap命令重新配置$ORACLE_HOME/bin/oracle可執(zhí)行文件的權(quán)限和屬主,或者直接將oracle文件的權(quán)限修改為6751。$ORACLE_HOME/bin/oracle可執(zhí)行文件正確屬主應(yīng)該是oracle:asmadmin,并且權(quán)限必須有s共享才可以,如下:
[考點]RAC
15.
在Linux下如何快速卸載RAC?正確答案:卸載RAC可以通過普通的腳本方式,如下:
1)卸載GRID軟件,grid用戶執(zhí)行:$ORACLE_HOME/deinstall/deinstall。
2)卸載ORACLE軟件,oracle用戶執(zhí)行:$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目錄。
⑥r(nóng)m-rf/u01/app/oracle/*
--刪除Oracle目錄。
⑦rm-rf/u01/app/oraInventory/*。
⑧清除OCR、Voting及數(shù)據(jù)庫使用過的磁盤。
ddif=/dev/zeroof=/dev/raw/raw1bs=104857600count=1
ddif=/dev/zeroof=/dev/raw/raw2bs=104857600count=1
最后,重啟2個節(jié)點。以上手工卸載的步驟也可以用于卸載單實例的數(shù)據(jù)庫和GRID。[考點]RAC
16.
在Windows下如何快速干凈地卸載Oracle軟件?正確答案:在Windows下手工卸載RAC的步驟如下:
①開始->設(shè)置->控制面板->管理工具->服務(wù),或運行services.msc打開服務(wù),停止所有Oracle服務(wù)。
②刪除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入口。
⑧開始->設(shè)置->控制面板->系統(tǒng)->高級->環(huán)境變量,刪除環(huán)境變量CLASSPATH和PATH中有關(guān)Oracle的設(shè)定。
⑨從桌面上、STARTUP(啟動)組、程序菜單中,刪除所有有關(guān)Oracle的組和圖標(biāo)。
⑩重新啟動計算機,重啟后才能完全刪除Oracle所在目錄。
若個別文件不能刪除,則說明該文件與某個Windows服務(wù)相關(guān)聯(lián),可以先把相關(guān)聯(lián)的服務(wù)停止后再刪除。
以上手工卸載的步驟也可以用于卸載單實例的數(shù)據(jù)庫和GRID。[考點]RAC
17.
在RAC環(huán)境中,如何在當(dāng)前的實例下殺掉另外一個實例的會話?正確答案:在Oracle11g中很好實現(xiàn),只需要在命令“ALTERSYSTEMKILLSESSION'SID,SERIAL#'IMMEDIATE;”中的SERIAL#后加上實例號即可。如果要殺掉實例2上的“71,20925”的會話,那么在任意一個節(jié)點上執(zhí)行:“ALTERSYSTEMDISCONNECTSESSION'71,20925,@2'IMMEDIATE;”即可,但是Oracle11g以下版本的RAC中就只能連接到相應(yīng)的實例上才能殺掉當(dāng)前實例的會話。其實,有一種折中的辦法就是創(chuàng)建JOB,讓該JOB在指定的實例上運行KILLSESSION的命令,這個具體代碼留給讀者來完成。[考點]RAC
18.
RAC等待事件gcbufferbusyacquire和gcbufferbusyrelease的區(qū)別是什么?正確答案:gcbufferbusy是RAC數(shù)據(jù)庫中常見的等待事件,從Oracle11g開始gcbufferbusy分為gcbufferbusyacquire和gcbufferbusyrelease。
gcbufferbusyacquire是當(dāng)會話1嘗試請求訪問遠程實例上的數(shù)據(jù)塊,但是在會話1之前已經(jīng)有相同實例上另外一個會話2請求訪問了相同的數(shù)據(jù)塊,并且沒有完成,那么會話1等待gcbufferbusyacquire。
gcbufferbusyrelease是在會話1之前已經(jīng)有遠程實例的會話2請求訪問了相同的數(shù)據(jù)塊,并且沒有完成,那么會話1等待gcbufferbusyrelease。[考點]RAC
19.
有哪些角色可以管理ASM實例,它們之間的區(qū)別有哪些?正確答案:能夠管理ASM實例的角色有如下三種:組描述OS指定的組具有的權(quán)限簡介OSASMasmadminSYSASMASM所有管理工作OSDBAasmdbaSYSDBA訪問磁盤組上的文件,數(shù)據(jù)庫實例所在用戶必須是此組成員,因為要對數(shù)據(jù)文件進行操作,注意只有基于數(shù)據(jù)庫層面的操作權(quán)限,沒有底層磁盤組層面的操作權(quán)限,且不能肩停ASM實例OSOPERasmoperSYSOPERSTARTUP、SHUTDOWN、MOUNT、DISMOUNT和檢查磁盤組
通常oracle用戶和grid用戶必須是asmdba組成員,此外,grid用戶還必須是asmadmin、asmoper組的成員。安裝ASM或RAC時默認(rèn)創(chuàng)建ASMSNMP用戶,該用戶為OPEN狀態(tài)并被賦予了SYSDBA權(quán)限。OEM需要該用戶來監(jiān)控ASM實例并從ASM實例相關(guān)的數(shù)據(jù)字典中獲取數(shù)據(jù)。在ASM實例中,通過視圖V$PWFILE_USERS可以查看該用戶的信息。[考點]RAC
20.
RAC節(jié)點被踢出可能有哪些原因?正確答案:可能的原因包括服務(wù)器負(fù)載嚴(yán)重或內(nèi)核HANG住、網(wǎng)絡(luò)心跳丟失、磁盤心跳丟失、CSSD進程HANG住。[考點]RAC
21.
RAC環(huán)境下的Redo文件可以放在節(jié)點本地嗎?正確答案:不能。同單實例的系統(tǒng)一樣,在RAC環(huán)境中,每個節(jié)點實例都需要至少兩組Redo日志文件,且每個節(jié)點實例有自己獨立的Redo日志線程(由初始化參數(shù)THREAD定義),例如:
RAC環(huán)境中的Redo日志文件必須部署到共享存儲中,而且需要保證可被集群內(nèi)的所有節(jié)點實例訪問到。當(dāng)某個節(jié)點實例進行實例恢復(fù)或介質(zhì)恢復(fù)的時候,該節(jié)點上的實例將可以應(yīng)用集群下所有節(jié)點實例上的Redo日志文件,從而保證恢復(fù)可以在任意可用節(jié)點進行。[考點]RAC
22.
RAC環(huán)境下“ALTERSYSTEMSWITCHLOGFILE;”與“ALTERSYSTEMARCHIVELOGCURRENT;”有什么區(qū)別?正確答案:“ALTERSYSTEMSWITCHLOGFILE;”僅對當(dāng)前發(fā)布節(jié)點上的對應(yīng)RedoThread進行日志切換并歸檔?!癆LTERSYSTEMARCHIVELOGCURRENT;”對集群內(nèi)所有節(jié)點實例上的RedoThread進行切換并歸檔(在節(jié)點實例可用情況下,分別歸檔到各節(jié)點主機的歸檔目的地,當(dāng)節(jié)點不可用時
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度環(huán)保材料印刷委托協(xié)議范本3篇
- 2025版牙齒矯正教育培訓(xùn)機構(gòu)合作合同3篇
- 二零二五年度個人掛靠公司教育培訓(xùn)合作協(xié)議3篇
- 二零二五版私人學(xué)校物業(yè)設(shè)施租賃及管理合同3篇
- 機械設(shè)備行業(yè)員工需求
- 服裝行業(yè)生產(chǎn)工藝安全
- 藥學(xué)科護士協(xié)助藥劑配制
- 二零二五年度個人股權(quán)轉(zhuǎn)讓代持協(xié)議書(股權(quán)代持與退出機制)16篇
- 二零二五年度行政合同訂立流程與模板指南3篇
- 二零二五年度婚禮視頻拍攝制作合同2篇
- 2021年上海市楊浦區(qū)初三一模語文試卷及參考答案(精校word打印版)
- 八年級上冊英語完形填空、閱讀理解100題含參考答案
- 八年級物理下冊功率課件
- DBJ51-T 188-2022 預(yù)拌流態(tài)固化土工程應(yīng)用技術(shù)標(biāo)準(zhǔn)
- 《長津湖》電影賞析PPT
- 銷售禮儀培訓(xùn)PPT
- 滑雪運動介紹
- 最新滋補類中藥的用藥保健主題講座課件
- 大數(shù)據(jù)和人工智能知識考試題庫600題(含答案)
- 機器人控制課件
- 招聘會突發(fā)事件應(yīng)急預(yù)案(通用6篇)
評論
0/150
提交評論