




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
數(shù)據(jù)庫程序員面試分類真題17簡答題1.
RAC環(huán)境中的SCANIP的作用是什么?正確答案:從Oracle11gR2RAC開始引入SCAN(SingleClientAccessName,(江南博哥)集群的單客戶端訪問名稱)IP的概念,相當(dāng)于在客戶端和數(shù)據(jù)庫之間增加一層虛擬的網(wǎng)絡(luò)服務(wù)層,即是SCANIP和SCAPIPLISTENER。在客戶端的tnsnames.ora配置文件中,只需要配置SCANIP,然后用戶即可訪問數(shù)據(jù)庫??蛻舳送ㄟ^SCANIP、SCANIPLISTENER來負(fù)載均衡地連接到RAC數(shù)據(jù)庫。同之前各版本的RAC相比,使用SCANIP的好處就是,當(dāng)后臺RAC數(shù)據(jù)庫添加、刪除節(jié)點時,客戶端配置信息無須修改。SCAN提供一個域名來訪問RAC,域名可以解析1~3個(注意,最多3個)SCANIP,可以通過DNS、GNS或/etc/hosts文件來解析實現(xiàn)。需要注意的是,SCANIP、VIP和PublicIP必須屬于同一子網(wǎng)。[考點]RAC
2.
RAC環(huán)境中的HAIP(HighlyAvailableIP)的作用是什么?正確答案:在Oracle之前,私網(wǎng)的冗余一般是通過在OS上做網(wǎng)卡綁定(如Bond等)來實現(xiàn)的,從Oracle版本開始推出HAIP(HighlyAvailableIP)技術(shù)替代了操作系統(tǒng)層面的網(wǎng)卡綁定技術(shù),其功能更強(qiáng)大、更兼容。HAIP通過其提供的獨特的169.254.*網(wǎng)段的IP地址,實現(xiàn)集群內(nèi)部連接的高可用及負(fù)載均衡。所以,在或更高版本安裝RAC的時候需要注意169.254.*的IP地址不能被占用。有了HAIP技術(shù)則不再需要借助任何第三方的冗余技術(shù)來實現(xiàn)私網(wǎng)網(wǎng)卡的冗余。[考點]RAC
3.
什么是DG?正確答案:首先,DG(DataGuard,數(shù)據(jù)衛(wèi)士)不是一個備份恢復(fù)的工具,然而,DG卻擁有備份的功能,在物理DG下它可以和主庫一模一樣,但是它存在的目的并不僅僅是為了備份恢復(fù)數(shù)據(jù),應(yīng)該說它的存在是為了確保企業(yè)數(shù)據(jù)的高可用性、數(shù)據(jù)保護(hù)以及災(zāi)難恢復(fù)。DBA可以通過將一些操作(例如查詢報表)轉(zhuǎn)移到備庫執(zhí)行的方式來減小主庫的壓力,構(gòu)建高可用的企業(yè)數(shù)據(jù)庫應(yīng)用環(huán)境。
在DG環(huán)境中,至少有兩個數(shù)據(jù)庫,一個處于OPEN狀態(tài)對外提供服務(wù),這個數(shù)據(jù)庫叫作主庫(PrimaryDatabase);另一個處于恢復(fù)狀態(tài),叫作備庫(StandbyDatabase)。通常情況下,主庫對外提供服務(wù),用戶在主庫上進(jìn)行操作,操作被記錄在聯(lián)機(jī)日志和歸檔日志中,這些日志通過網(wǎng)絡(luò)傳遞給備庫,然后在備庫上被應(yīng)用,從而實現(xiàn)主庫和備庫的數(shù)據(jù)同步。Oracle對這一過程進(jìn)一步地優(yōu)化設(shè)計,使得日志的傳遞、恢復(fù)工作更加自動化、智能化,并且提供一系列參數(shù)和命令,簡化了DBA工作。如果軟硬件升級,那么可以把備庫切換為主庫繼續(xù)對外服務(wù),這樣既減少了服務(wù)停止時間,數(shù)據(jù)又不會丟失。如果異常原因?qū)е轮鲙觳豢捎?,那么也可以把備庫?qiáng)制切換為主庫繼續(xù)對外服務(wù),這時數(shù)據(jù)損失都和配置的數(shù)據(jù)保護(hù)級別有關(guān)系。所以,Primary和Standby只是一個角色概念,并不固定在某個數(shù)據(jù)庫中。[考點]DG
4.
DG有哪些優(yōu)缺點?正確答案:DG的優(yōu)點主要有①災(zāi)難恢復(fù)及高可用性;②全面的數(shù)據(jù)保護(hù);③有效利用系統(tǒng)資源;④在高可用及高性能之間更加靈活的平衡機(jī)制;⑤故障自動檢查及解決方案;⑥集中的、易用的管理模式;⑦自動化的角色轉(zhuǎn)換。
DG的缺點主要有①由于傳輸整個日志文件,所以需要較高的網(wǎng)絡(luò)傳輸帶寬。②在Oracle11g之前的物理備庫雖然可以以只讀方式打開,然后執(zhí)行查詢、報表等操作,但需要停止應(yīng)用日志,這將使目標(biāo)庫與源數(shù)據(jù)不能保持同步,如果在此期間源數(shù)據(jù)庫發(fā)生故障,那么將延長切換的時間。從Oracle11g開始,ADG可以在數(shù)據(jù)庫打開的情況下應(yīng)用日志,這極大地提高了DG的應(yīng)用范圍。③邏輯備庫不能支持某些特定的數(shù)據(jù)對象和數(shù)據(jù)類型。④不支持雙向復(fù)制,所以無法應(yīng)用于信息集成的場合。⑤只能復(fù)制整個數(shù)據(jù)庫,不能選擇某個SCHEMA或表空間或表進(jìn)行單獨復(fù)制。⑥不支持異構(gòu)的系統(tǒng)環(huán)境,需要相同的操作系統(tǒng)版本和數(shù)據(jù)庫版本(Oracle11g支持部分異構(gòu)平臺)。[考點]DG
5.
DG可以分為哪幾類?正確答案:DG根據(jù)備庫重演日志方式的不同,可以分為物理DG(PhysicalDG)、邏輯DG(LogicalDG)和快照DG(SnapshotDG),它們對應(yīng)的數(shù)據(jù)庫分別可以稱為PhysicalStandby、LogicalStandby和SnapshotStandby。
物理DG:物理DG使用的是MediaRecovery技術(shù),在數(shù)據(jù)塊級別進(jìn)行恢復(fù),這種方式?jīng)]有數(shù)據(jù)類型的限制,可以保證兩個數(shù)據(jù)庫完全一致。在Oracle11g之前的物理DG只能在MOUNT狀態(tài)下進(jìn)行恢復(fù),雖然可以以只讀方式打開備庫,但是不能應(yīng)用日志,而到了Oracle11g時備庫可以在打開的情況下執(zhí)行恢復(fù)操作了,這稱為ADG(ActiveDataGuard)。物理DG實時應(yīng)用進(jìn)程為MRP進(jìn)程。
邏輯DG:邏輯DG使用的是LogMiner技術(shù),通過把日志內(nèi)容還原成SQL語句,然后通過SQL引擎執(zhí)行這些SQL語句。邏輯DG不支持所有的數(shù)據(jù)類型,這些不支持的數(shù)據(jù)類型可以在視圖DBA_LOGSTDBY_UNSUPPORTED中查看。如果使用了這些數(shù)據(jù)類型,那么不能保證主備庫完全一致。LogicalStandby可以在恢復(fù)的同時進(jìn)行讀寫操作。邏輯DG實時應(yīng)用進(jìn)程為LSP進(jìn)程。需要注意的是,在邏輯DG中,SYS用戶下的對象不會同步。創(chuàng)建邏輯備庫需要首先創(chuàng)建一個物理備庫,然后再將其轉(zhuǎn)換成邏輯備庫。
快照DG:當(dāng)PlaysicalStandby轉(zhuǎn)換為SnapshotStandby時,它是一個完全可更新的Standby數(shù)據(jù)庫。SnapshotStandby依然會接收來自主庫的歸檔文件,但是它不會應(yīng)用。當(dāng)SnapshotStandby轉(zhuǎn)換為PhysicalStandby時,所有在SnapshotStandby數(shù)據(jù)庫的操作被丟棄之后,PhysicalStandby數(shù)據(jù)庫才會應(yīng)用Primary數(shù)據(jù)庫的Redo數(shù)據(jù)。[考點]DG
6.
DG有哪3種保護(hù)模式?它們的區(qū)別是什么?正確答案:DG提供了3種數(shù)據(jù)保護(hù)模式(ProtectionMode):最大保護(hù)(MaximumProtection)、最高性能(MaximumPerformance)和最高可用(MaximumAvailability),見下表。比較項目最大保護(hù)最高可用最商陸能簡介最大保護(hù)模式能夠確保絕無數(shù)據(jù)丟失,該模式要求主庫所有的事務(wù)在提交前其Redo不僅被寫入本地的OnlinleRedoLogs,還要同時寫入備庫的StandbyRedoLogs,并確認(rèn)Redo數(shù)據(jù)至少在一個備庫中可用(如果有多個的話),然后才會在主庫上提交。如果出現(xiàn)了導(dǎo)致備庫不可用故障(例如網(wǎng)絡(luò)中斷),那么主庫會被關(guān)閉最高可用模式在不影響主庫可用的前提下,提供最高級別的數(shù)據(jù)保護(hù)。其實現(xiàn)方式與最大保護(hù)模式類似,也是要求本地事務(wù)在提交前必須至少寫入一臺主庫的StandbyRedoLogs中,不過與最大保護(hù)模式不同的是,如果出現(xiàn)故障導(dǎo)致備庫無法訪問,那么主庫并不會被關(guān)閉,而是自動轉(zhuǎn)為最高性能模式,等備庫恢復(fù)正常之后,主庫又會自動轉(zhuǎn)換成最高可用模式。最高可用模式適用于想要確保獲得零數(shù)據(jù)丟失保護(hù),但不想讓生產(chǎn)數(shù)據(jù)庫受網(wǎng)絡(luò)/備用服務(wù)器故障影響的企業(yè)在最高性能模式下,事務(wù)可以隨時提交。如果網(wǎng)絡(luò)條件理想,那么這種模式能夠提供類似最高可用性的數(shù)據(jù)保護(hù),而僅對主庫的性能有輕微影響。這也是在創(chuàng)建備庫時,系統(tǒng)的默認(rèn)保護(hù)模式。最高性能模式區(qū)別于最大保護(hù)模式的地方是,它并不需要將日志信息實時地傳遞到備庫上,也不需要確保日志在其中的至少一臺備庫上應(yīng)用切換命令A(yù)LTERDATABASESETSTANDBYDATABASETOMAXIMIZEPROTECTION;AITERDATABASESETSTANDBYDATABASETOMAXIMIZEAVAILABILITY;ALTERDATABASESETSTANDBYDATABASETOMAXIMIZEPERFORMANCEN;數(shù)據(jù)丟失隋況零數(shù)據(jù)丟失零數(shù)據(jù)丟失最小數(shù)據(jù)丟失主庫事務(wù)完成情況主庫Redo需要同時寫入主庫、至少一個備庫,主庫事務(wù)才能完成主庫Rede需要同時寫入主庫、至少一個備庫,主庫事務(wù)才能完成主庫事務(wù)可以隨時提交是否默認(rèn)的保護(hù)模式否否是性能影響對數(shù)據(jù)庫性能影響最大界于最大保護(hù)和最高性能之間對數(shù)據(jù)庫性能影響最小網(wǎng)絡(luò)傳輸模式同步(SYNC)同步(SYNC)使用LGWR進(jìn)程傳遞歸檔時采用同步(SYNC)或異步(ASYNC),使用ARCH進(jìn)程傳遞歸檔時采用同步(SYNC)是否需要StandbyRedoLogsYESYES可沒有,但推薦有Redo寫進(jìn)程LGWRLGWRLGWR或ARCH磁盤寫操作AFFIRMAFFIRMAFFIRM或NOAFFIRM優(yōu)點該模式可以保證備庫沒有數(shù)據(jù)丟失該模式可以在沒有問題出現(xiàn)的隋況下,保證備庫沒有數(shù)據(jù)丟失,是—種折中的方法避免了備庫對主數(shù)據(jù)庫的性能和可用性影響缺點要求網(wǎng)絡(luò)高度穩(wěn)定可靠,如果出現(xiàn)了導(dǎo)致各庫不可用故障(比如網(wǎng)絡(luò)中斷),那么主庫會被關(guān)閉。備庫的自動關(guān)閉會影響到主庫的可用性,同時需要備庫恢復(fù)后才能提交,對阿絡(luò)等客觀條件要求非常高,主庫的性能會因此受到非常大的沖擊。最大保護(hù)模式損害了系統(tǒng)的可用性在正常運行的過程中缺點是主庫的性能受到諸多因素的影響。要求備庫必須配置StandbyRedoLogs,而主庫必須使用LGWRSYNCAFFIRM方式歸檔到各庫如果與主庫提交的事務(wù)相關(guān)的恢復(fù)數(shù)據(jù)沒有發(fā)送到備庫,那么這些事務(wù)數(shù)據(jù)將被丟失,不能保證數(shù)據(jù)無損失。如果主庫發(fā)生災(zāi)難性故障,日志全部損失,那么備庫和主庫可能會出現(xiàn)一個左右的日志信息差異。當(dāng)然,在這種方式下,可以通過設(shè)置主庫增加歸檔頻率來縮小可能的數(shù)據(jù)損失。最高性能模式損害了系統(tǒng)的數(shù)據(jù)安全性[考點]DG
7.
Switchover和Failover的區(qū)別是什么?正確答案:一個DG環(huán)境中只有兩種角色:Primary和Standby。所謂角色轉(zhuǎn)換就是讓數(shù)據(jù)庫在這兩種角色中切換,切換也分兩利:Switchover和Failover。關(guān)于角色切換需要注意以下幾點:
1)Switchover是指主庫轉(zhuǎn)換成備庫,然后將原備庫轉(zhuǎn)換成新主庫;而Failover是指將備庫轉(zhuǎn)換成主庫。
2)使用場合不同。Switchover用于有準(zhǔn)備的、計劃之中的切換,通常是系統(tǒng)升級、數(shù)據(jù)遷移等常態(tài)任務(wù);Failover用于意料之外的突發(fā)情況,例如,異常斷電、自然災(zāi)難等。
3)數(shù)據(jù)丟失程度不同。Switchover不會丟失數(shù)據(jù),F(xiàn)ailover通常意味著有部分?jǐn)?shù)據(jù)丟失。
4)善后處理的不同。Switchover之后DG環(huán)境不會被破壞,仍然有Primary、Standby兩種角色的系統(tǒng)存在,但是Failover之后,DG環(huán)境就會被破壞,一般情況下需要重建。但是,若主庫或備庫開啟了閃回功能,則都可以通過閃回數(shù)據(jù)庫功能恢復(fù)DG環(huán)境。例如,PROD1為主庫,SBDB1為備庫;若PROD1意外宕機(jī),則SBDB1執(zhí)行Failover操作變?yōu)橹鲙?;此時若想恢復(fù)DG環(huán)境,則有3種處理辦法:
①將PROD1利用閃回數(shù)據(jù)庫功能閃回到SBDB1變?yōu)橹鲙斓腟CN時間點,然后將PROD1轉(zhuǎn)換為備庫,最后利用Switchover轉(zhuǎn)換為最初的環(huán)境。在這種情況下,PROD1需要開啟閃回。
②將SBDB1利用閃回數(shù)據(jù)庫功能閃回到SBDB1變?yōu)橹鲙斓腟CN時間點,此時SBDB1仍然是主庫的角色,然后將SBDB1轉(zhuǎn)換為備庫。在這種情況下,SBDB1需要開啟閃回,而且會丟失部分?jǐn)?shù)據(jù)。
③利用RMAN重新搭建DG環(huán)境。
Switchover切換的主要SQL語句為
Failover切換的主要SQL語句為
執(zhí)行閃回數(shù)據(jù)庫后,切換主庫為備庫的SQL語句為
alterdatabaseconverttophysicalstandby;[考點]DG
8.
主庫丟失歸檔,物理DG如何恢復(fù)?正確答案:面試DBA崗位,面試官對于DG環(huán)境常常會問到,若是主庫丟失了歸檔文件,而這些歸檔文件還未來得及傳遞到備庫,那么物理備庫是否只能通過重建的方式來恢復(fù)呢?這道面試題是作者親身經(jīng)歷,當(dāng)時以為只能重建備庫,但最后經(jīng)過查找文檔找到了解決辦法,可以通過對主庫進(jìn)行基于SCN的增量備份來恢復(fù)物理DG。[考點]DG
9.
備庫數(shù)據(jù)文件異常,物理DG如何恢復(fù)?正確答案:有的時候由于備庫空間不足,在主庫添加了數(shù)據(jù)文件后,導(dǎo)致備庫數(shù)據(jù)文件的缺失,可能很久之后才發(fā)現(xiàn),但是由于歸檔的缺失等其他原因而導(dǎo)致備庫不能正常應(yīng)用Redo日志。還有其他情況可能導(dǎo)致備庫的數(shù)據(jù)文件不能正常ONLINE,在這種情況下,可以在主庫上利用CONVERT命令備份一個數(shù)據(jù)文件然后復(fù)制到備庫即可。若是備庫歸檔文件比較全,則可以直接在備庫創(chuàng)建數(shù)據(jù)文件后應(yīng)用Redo日志即可,而不需要從主庫復(fù)制數(shù)據(jù)文件。[考點]DG
10.
DG中GAP有幾種解決方案?正確答案:當(dāng)主庫的某些日志沒有成功傳送到備庫,那么這時候就發(fā)生了歸檔裂縫(ArchiveGap)。目前Oracle提供了兩種日志GAP的檢測和處理機(jī)制,分別是自動GAP處理(AutomaticGapResolution)和FAL進(jìn)程GAP處理(FALGapResolution)。自動GAP處理即主庫上的ARCn進(jìn)程會每分鐘檢查備庫上的日志GAP情況并做相應(yīng)處理。FAL(FetchArchiveLog)是通過配置FAL_SERVER和FAL_CLIENT實現(xiàn)GAP檢測的一種機(jī)制,它是備庫主動發(fā)起的“取”日志的過程。備庫就是FAL_CLIENT,它從FAL_SERVER中取這些GAP。Oracle會首先嘗試使用FAL進(jìn)程處理GAP,當(dāng)發(fā)現(xiàn)FAL機(jī)制并沒有配置生效的時候,進(jìn)而嘗試使用自動GAP處理。
FAL進(jìn)程只在物理備庫存在。FAL進(jìn)程提供了一個CLIENT/SERVER的機(jī)制,用來解決檢測在主庫產(chǎn)生的連續(xù)的歸檔日志,而在備庫接收的歸檔日志不連續(xù)的問題。該進(jìn)程只有在需要的時候才會啟動,而當(dāng)工作完成后就關(guān)閉了,因此在正常情況下,該進(jìn)程是無法看見的。
1.物理DG手動解決GAP
在一些特殊情況下,如果GAP不能自動解決,那么就需要手動執(zhí)行中斷恢復(fù)。通過查詢視圖V$ARCHIVE_GAP可以確定斷檔的是哪些日志。
可以看到,當(dāng)前物理備庫丟失目志文件為線程1的序號10~12。接下來確定歸檔日志文件的路徑(假設(shè)在主數(shù)據(jù)庫上的本地歸檔目的地是LOG_ARCHIVE_DEST_1):
SQL>SELECTNAMEFROMV$ARCHIVED_LOGWHERETHREAD#=1ANDDEST_ID=1ANDSEQUENCE#BETWEEN10AND12;
NAME
--------------------------------------------------------
/arch/thread1_dest/arch_1_10.arc
/arch/thread1_dest/arch_1_11.arc
/arch/thread1_dest/arch_1_12.arc
接下來,復(fù)制這些日志文件到物理備庫,然后在物理備庫上使用“ALTERDATABASEREGISTERLOGFILE”語句來注冊這些歸檔日志,如下:
SQL>ALTERDATABASEREGISTERLOGFILE'/arch/thread1_dest/arch_1_10.arc';
也可以使用如下的SQL語句:
ALTERDATABASEREGISTERORREPLACELOGFILE'/arch/thread1_dest/arch_1_10.arc';
ALTERDATABASEREGISTERORREPLACEPHYSICALLOGFILE'/arch/thread1_dest/arch_1_11.arc';
在物理備庫上注冊這些日志文件之后,重新打開重做應(yīng)用進(jìn)程。如果斷檔的歸檔日志較多,那么可以使用如下的SQL語句來生成要執(zhí)行的SQL語句(如下的SQL也適用于邏輯DG):
SELECT'ALTERDATABASEREGISTERORREPLACELOGICALLQGFILE"/arch/thread1—dest/arch_1_'||a||'.arc";'LOGICAL_DG,
'ALTERDATABASEREGISTERORREPLACELOGFILE"/arch/thread1_dest/arCh_1_'||a||'.arc";'PHYSICAL_DG
FROM(SELECTLEVELAFROMDUALCONNECTBYLEVEL<=12)
WHEREA>=10;
需要注意的是,視圖V$ARCHIVE_GAP只返回當(dāng)前妨礙重做應(yīng)用繼續(xù)的下一個中斷。在解決中斷并重啟重做應(yīng)用進(jìn)程后,再次在物理備庫上查詢V$ARCHIVE_GAP視圖來確定下一個中斷序號,如果有的話,重復(fù)這個過程直到?jīng)]有更多的中斷。
2.邏輯DG手動解決GAP
在邏輯備庫上查詢DBA_LOGSTDBY_LOG視圖可以確定是否有歸檔中斷。例如,下面的查詢指出斷檔號為16~18:
SYS@orclasm>COLUMNFILE_NAMEFORMATa60
SYS@orclasm>SELECTTHREAD#,SEQUENCE#,FILE_NAME
2
FROMDBA_LOGSTDBY_LOGL
3
WHERENEXT_CHANGE#NOTIN(SELECTFIRST_CHANGE#FROMDBA_LOGSTDBY_LOGWHEREL.THREAD#=THREAD#)
4
ORDERBYTHREAD#,SEQUENCE#;
THREAD#
SEQUENCE#FILE_NAME
---------
---------
---------------------------------
1
16/arch/oracle/arch_1_16.arc
1
18/arch/oracle/arch_1_18.arc
接下來復(fù)制丟失的日志文件到邏輯備庫,并在邏輯備庫上使用“ALTERDATABASEREGISTERLOGICALLOGFILE”來注冊這些日志文件。例如:
SQL>ALTERDATABASEREGISTERLOGICALLOGFILE
'/arch/orade/arch_1_16.arc';
在邏輯備庫上注冊這些日志文件之后,重啟SQL應(yīng)用。和物理DG一樣,在邏輯備庫上的DBA_LOGSTDBY_LOG視圖只返回當(dāng)前妨礙SQL應(yīng)用繼續(xù)的下一個中斷。在解決指定的中斷并重啟SQL應(yīng)用之后,再次在邏輯備庫上查詢DBA_LOGSTDBY_LOG視圖,以確定下一個中斷序號,如果有的話,重復(fù)這個過程直到?jīng)]有更多的中斷。
需要注意的是,如果需要的歸檔日志已經(jīng)不在主庫上,但是有歸檔日志的RMAN備份,那么可以通過RMAN恢復(fù)把缺少的歸檔日志進(jìn)行還原,如下:
SETARCHIVELOGDESTINATIONTO'/arch';
RESTOREARCHIVELOGFROMLOGSEQ7;
如果斷檔的歸檔日志已經(jīng)丟失,且RMAN又沒有備份,那么在Oracle10g之前沒有辦法修復(fù)了,只能重建DG,但是從Oracle10g開始可以采用主庫基于SCN的增量備份來恢復(fù)DG。[考點]DG
11.
物理DG如何啟用和停止日志應(yīng)用服務(wù)?正確答案:(1)啟用日志應(yīng)用:
ALTERDATABASERECOVERMANAGEDSTANDBYDATABASEDISCONNECTFROMSESSION;
(2)啟用實時的日志應(yīng)用:
ALTERDATABASERECOVERMANAGEDSTANDBYDATABASEUSINGCURRENTLOGFILEDISCONNECTFROMSESSION;
DISCONNECTFROMSESSION子句并非必需,該子句的作用是指定啟動完應(yīng)用后自動退出到命令操作符前。如果不指定該子句,那么當(dāng)前SESSION就會一直停留處理Redo應(yīng)用,如果想做其他操作,那么就只能新建一個連接。
(3)停止日志應(yīng)用服務(wù):
ALTERDATABASERECOVERMANAGEDSTANDBYDATABASECANCEL;
(4)查看DG備機(jī)是否啟用了日志應(yīng)用,有兩種辦法可以判斷:①可以查看是否有mrp進(jìn)程,如果看不到mrp進(jìn)程,那么說明沒有啟用日志應(yīng)用;②查看V$ARCHIVE_DEST_STATUS的RECOVERY_MODE列,若啟用了實時應(yīng)用,則在Oracle11g顯示MANAGEDREALTIMEAPPLY,在Oracle10g顯示MANAGED。
[oracle@dg~]$ps-ef|grepora_mrp
oracle
19592
1
010:15?
00:00:01ora_mrp0_phydb[考點]DG
12.
DG中如何查看日志的應(yīng)用情況?正確答案:檢查是否存在GAP的SQL語句:
SELECTTHREAD#,LOW_SEQUENCE#,HIGH_SEQUENCE#FROMV$ARCHWE_GAP;
物理DG日志應(yīng)用情況:
SELECTTHREAD#,NAME,SEQUENCE#,ARCHIVED,APPLIED,A.NEXT_CHANGE#FROM
V$ARCHIVED_LOGA
WHERE
A.SEQUENCE#>=(SELECTMAX(B.SEQUENCE#)-3FROMV$LOGBWHEREB.THREAD#=A.THREAD#)
AND
RESETLOGS_CHANGE#=(SELECTD.RESETLOGS_CHANGE#FROMV$DATABASED)
ORDER.BYA.THREAD#,A.SEQUENCE#;[考點]DG
13.
如何查看物理備庫的進(jìn)程信息?正確答案:SELECTA.INST_ID,A.PROCESS,A.CLIENT_PROCESS,A.CLIENT_PID,
A.STATUS,A.GROUP#
GROUP_#,A.THREAD#,A.SEQUENCE#,A.DELAYMINS,
A.RESETLOG_ID,C.SID,C.SERIAL#,A.PID
SPID,B.PNAME
FROMGV$MANAGED_STANDBYA,GV$PROCESSB.GV$SESSIONC
WHEREA.PID=B.SPIDANDB.ADDR=C.PADDRANDA.INST_ID=B.INST_IDANDB.INST_ID=C.INST_ID
ORDERBYA.INST_ID,B.PNAME;
1)PROCESS:進(jìn)程名稱,如ARCH、RFS、MRP0等。
2)CLIENT_PID:在備庫查詢時對應(yīng)的Primary數(shù)據(jù)庫中的進(jìn)程,如ARCH、LGWR等,在主庫查詢時就是后臺進(jìn)程。
3)SEQUENCE#:歸檔序號。
4)STATUS:進(jìn)程的當(dāng)前狀態(tài),值較多,常見的有:
①ALLOCATED:正準(zhǔn)備連接Primary數(shù)據(jù)庫。
②ATTACHED:正在連接Primary數(shù)據(jù)庫。
③CONNECTED:已連接至Primary數(shù)據(jù)庫。
④IDLE:空閑中。
⑤RECEIVING:歸檔文件接收中。
⑥OPENING:歸檔文件處理中。
⑦CLOSING:歸檔文件處理完,收尾中。
⑧WRITING:Redo數(shù)據(jù)庫寫向歸檔文件中。
⑨WAIT_FOR_LOG:等待新的Redo數(shù)據(jù)中。
⑩WAIT_FOR_GAP:歸檔有中斷,正等待中斷的那部分Redo數(shù)據(jù)。
APPLYING_LOG:應(yīng)用Redo數(shù)據(jù)中。[考點]DG
14.
如何手動注冊日志?正確答案:如果有日志文件未被傳輸或未被注冊到備庫,那么可以使用如下命令手動注冊到備庫。下面的SQL語句可以生成物理和邏輯DG注冊的日志,日志號為1980~2000:
SELECT'alterdatabaseregisterorreplacelogicallogfile"/arch/log_1_'||A||'_666200636.arc";'LOGICAL_DG,
'alterdatabaseregisterorreplace
logfile"/arch/log_1_'||A||'_666200636.arc";'PHYSICAL_DG
FROM(SELECTLEVELAFROMDUALCONNECTBYLEVEL<=2000)WHEREA>=1980;[考點]DG
15.
在邏輯DG中,如何啟動和關(guān)閉日志應(yīng)用?正確答案:ALTERDATABASESTOPLOGICALSTANDBYAPPLY;--停止應(yīng)用,等待事務(wù)完成
ALTERDATABASEABORTLOGICALSTANDBYAPPLY;--不等待事務(wù)完成就停止
ALTERDATABASESTARTLOGICALSTANDBYAPPLYIMMEDIATE;--實時
ALTERDATABASESTARTLOGICALSTANDBYAPPLY;--非實時
如何知道是否開啟了實時應(yīng)用呢?可以查詢V$LOGSTDBY_STATE視圖或查詢是否有l(wèi)sp進(jìn)程。
[考點]DG
16.
如何查看邏輯DG日志文件的應(yīng)用情況?正確答案:SELECT
FILE_NAME,SEQUENCE#ASSEQ#,FIRST_CHANGE#ASFCHANGE#,NEXT_CHANGE#ASNCHANGE#,TIMESTAMP,DICT_BEGINASBEG,
DICT_ENDASEND,THREAD#ASTHR#,APPLIED
FROMDBA_LOGSTDBY_LOGORDERBYTHREAD#,SEQUENCE#;[考點]DG
17.
如何查看邏輯DG備庫SQLApply的進(jìn)度?正確答案:[考點]DG
18.
如何查看邏輯DG備庫是否有任何DDL/DML語句未成功應(yīng)用?正確答案:SELECTA.EVENT_TIME,A.CURRENT_SCN,AiCOMMIT_SCN,XIDUSN,XIDSLT,
XIDSQN,TO_CHAR(EVENT)EVENT,A.STATUS_CODE,STATUSEVENT_STATUS
FROMDBA_LOGSTDBY_EVENTSAWHEREA.EVENT_TIME>=SYSDATE-10/1660ORDERBYA.EVENT_TIME;[考點]DG
19.
如何查看邏輯DG備庫SQLApply的狀態(tài)?正確答案:
注意STATE列,該列可能有下述的幾種狀態(tài)。
1)INITIALIZING:LogMinerSESSION已創(chuàng)建并初始化。
2)LOADINGDICTIONARY:SQL應(yīng)用調(diào)用LogMiner字典。
3)WAITINGONGAP:SQL應(yīng)用正在等待日志文件,可能有中斷。
4)APPLYING:SQL應(yīng)用正在工作。
5)WAITlNGFORDICTIONARYLOGS:SQL應(yīng)用正在等待LogMiner字典信息。
6)IDLE:SQL應(yīng)用工作非常出色,處于空閑狀態(tài)。
7)SQLAPPLYNOTON:沒有開啟應(yīng)用。[考點]DG
20.
如何取消邏輯DG中部分對象或事務(wù)的同步?正確答案:可以利用DBMS_LOGSTDBY.SKIP存儲過程跳過特定表或特定用戶的DML事務(wù)或部分DDL語句。這些跳過的對象或事務(wù)可以通過視圖DBA_LOGSTDBY_SKIP和DBA_LOGSTDBY_SKIP_TRANSACTION查看。
邏輯各庫還有很多其他非常實用的SQL語句,這里就不列舉了,讀者可以關(guān)注作者的微信公眾號,里面每天會推送一個非常實用的SQL語句。[考點]DG
21.
什么是OGG?它有哪些優(yōu)缺點?正確答案:OGG(OracleGoldenGate)屬于OracleFusionMiddleware產(chǎn)品線,2009年被Oracle收購,它是OracleStream的替代者。OGG軟件是一種基于日志的結(jié)構(gòu)化數(shù)據(jù)復(fù)制備份軟件,它通過解析源數(shù)據(jù)庫在線日志或歸檔日志獲得數(shù)據(jù)的增量變化,再將這些變化應(yīng)用到目標(biāo)數(shù)據(jù)庫,從而實現(xiàn)源數(shù)據(jù)庫與目標(biāo)數(shù)據(jù)庫的同步。OGG可以在異構(gòu)的IT(InformarionTechnology,信息技術(shù))基礎(chǔ)結(jié)構(gòu)(包括幾乎所有常用操作系統(tǒng)平臺和數(shù)據(jù)庫平臺)之間實現(xiàn)大量數(shù)據(jù)亞秒級的實時復(fù)制,從而可以在應(yīng)急系統(tǒng)、在線報表、實時數(shù)據(jù)倉庫供應(yīng)、交易跟蹤、數(shù)據(jù)同步、集中/分發(fā)、容災(zāi)、數(shù)據(jù)庫升級和移植、雙業(yè)務(wù)中心等多個場景下應(yīng)用。同時,OGG可以實現(xiàn)一對一、廣播(一對多)、聚合(多對一)、雙向復(fù)制、層疊、點對點、級聯(lián)等多種靈活的拓?fù)浣Y(jié)構(gòu)。
OGG能夠?qū)崿F(xiàn)大量交易數(shù)據(jù)的實時捕捉、變換和投遞,實現(xiàn)源數(shù)據(jù)庫與目標(biāo)數(shù)據(jù)庫的數(shù)據(jù)同步,保持亞秒級的數(shù)據(jù)延遲。和傳統(tǒng)的邏輯復(fù)制一樣,OGG的實現(xiàn)原理是首先通過抽取源端的Redo日志或者ArchiveLog,然后通過TCP/IP投遞到目標(biāo)端,最后解析還原應(yīng)用到目標(biāo)端,使目標(biāo)端實現(xiàn)同源端的數(shù)據(jù)同步。[考點]OGG
22.
RAC、DG和OGG的區(qū)別有哪些?正確答案:RAC和DG是高可用體系中的常用的兩種工具,每個工具既可以獨立應(yīng)用,也可以相互配合使用。但是它們各自的側(cè)重點不同,適用場景也不同。
RAC是本地的高可用集群,每個節(jié)點用來分擔(dān)不同或相同的應(yīng)用,以解決運算效率低下、單點故障這樣的問題,它是幾臺硬件相同或不相同的服務(wù)器加一個共享存儲構(gòu)成的。RAC的強(qiáng)項在于解決單點故障和負(fù)載均衡,所以,RAC方案常用于7*24的核心系統(tǒng),但RAC方案中的數(shù)據(jù)只有一份,盡管可以通過RAID等機(jī)制避免存儲故障,但是數(shù)據(jù)本身是沒有冗余的,因此需要加強(qiáng)備份。
DG是Oracle的遠(yuǎn)程復(fù)制技術(shù),它有物理和邏輯之分,但是總的來說,它需要在異地有一套獨立的系統(tǒng),是一種異地容災(zāi)的解決方案。DG通過冗余數(shù)據(jù)的方式來提供數(shù)據(jù)保護(hù),通過日志同步機(jī)制保證冗余數(shù)據(jù)和主庫之間的同步,這種同步可以是實時、延時、同步或異步等多種形式。DG常用于異地容災(zāi)和小企業(yè)的高可用性方案,可以在備庫上執(zhí)行只讀的查詢操作,從而分散主庫的性能壓力。
OGG軟件是一種基于日志的結(jié)構(gòu)化數(shù)據(jù)復(fù)制備份軟件,它通過解析源數(shù)據(jù)庫在線日志或歸檔日志獲得數(shù)據(jù)的增量變化,再將這些變化應(yīng)用到目標(biāo)數(shù)據(jù)庫,從而實現(xiàn)源數(shù)據(jù)庫與目標(biāo)數(shù)據(jù)庫的同步。OGG可以實現(xiàn)一對一、廣播(一對多)、聚合(多對一)、雙向復(fù)制、層疊、點對點、級聯(lián)等多種靈活的拓?fù)浣Y(jié)構(gòu),可以實現(xiàn)只復(fù)制某幾個表的功能。
Oracle高可用性產(chǎn)品比較見下表。
雙機(jī)熱備/FailsafeOPS(OracleParallelServer)RACDG(DataGuard)OGG共享存儲不是有有獨立存儲不是保護(hù)類型熱備只有1個實例,1個數(shù)據(jù)庫,做不了并發(fā)和負(fù)載均衡實例冗余,負(fù)載均衡實例級冗余數(shù)據(jù)庫層次冗余schema或表級別冗余需要的軟硬件資源只有兩臺機(jī)器和磁盤陣列,有一個漂移的IP,不能共享存儲有兩臺機(jī)器和磁盤陣列,有兩個虛擬IP可以有多臺機(jī)器和磁盤陣列,1個節(jié)點有1個虛擬IP有獨立的機(jī)器和獨立的存儲有獨立的機(jī)器和獨立的存儲優(yōu)缺點Failsafe是免費的,一臺服務(wù)器閑置,硬件浪費較大在并發(fā)讀寫性能上較差讀寫并發(fā)性能較好,但是對于DBA的技能和專業(yè)性要求較高,軟件上也需要單獨購買是一個輕量級的容災(zāi)系統(tǒng),從Oracle11g開始還能在備庫節(jié)點上進(jìn)行讀寫和自動故障轉(zhuǎn)移可以在表或schema級別實現(xiàn)實時復(fù)制[考點]OGG
23.
OGG的進(jìn)程有哪些?正確答案:下圖為OGG進(jìn)程結(jié)構(gòu)圖。
如上圖所示,OGG主要包含Manager進(jìn)程、Extract進(jìn)程、Pump進(jìn)程和Replicat進(jìn)程,下面對其進(jìn)行說明。
1)Manager進(jìn)程是OGG的控制進(jìn)程,運行在源端和目標(biāo)端上。它的主要作用包含啟動、監(jiān)控、重啟OGG的其他進(jìn)程;報告錯誤及事件;分配數(shù)據(jù)存儲空間;發(fā)布閾值報告等。在目標(biāo)端和源端有且只有一個Manager進(jìn)程,在Windows系統(tǒng)上,Manager進(jìn)程作為一個服務(wù)來啟動,而在Linux/Unix系統(tǒng)上則是一個系統(tǒng)進(jìn)程。
按照OGG的工作原理和體系結(jié)構(gòu),在每個復(fù)制數(shù)據(jù)源和目標(biāo)端都需要安裝一套OGG軟件,同時需要分別啟動一個OGG實例,一個OGG實例就是一個管理進(jìn)程(ManagerProcess),這個管理進(jìn)程也是整個OGG實例運行時最主要的控制進(jìn)程。
2)Extract進(jìn)程運行在數(shù)據(jù)庫源端,負(fù)責(zé)從源端數(shù)據(jù)表或者日志中捕獲數(shù)據(jù)。在初始數(shù)據(jù)裝載階段,Extract進(jìn)程直接從源端的數(shù)據(jù)表中抽取數(shù)據(jù);在初始數(shù)據(jù)同步完成以后,Extract進(jìn)程負(fù)責(zé)捕獲源端數(shù)據(jù)的變化(包括DML和DDL)。Extract進(jìn)程會捕獲所有已配置的需要同步的對象變化,但只會將已提交的事務(wù)抽取到本地的trail文件中用于同步。當(dāng)事務(wù)提交時,所有和該事務(wù)相關(guān)的日志記錄被以事務(wù)為單元順序地記錄到trail文件中。Extract進(jìn)程利用其內(nèi)在的Checkpoint機(jī)制,周期性地檢查并記錄其讀寫的位置,通常是寫入本地的trail文件中。這種機(jī)制是為了保證如果Extract進(jìn)程終止或者操作系統(tǒng)宕機(jī),Manager進(jìn)程在重啟Extract進(jìn)程后,OGG能夠恢復(fù)到以前的狀態(tài),從上一個斷點處繼續(xù)往下運行,而不會有任何數(shù)據(jù)丟失,這樣就可以保證數(shù)據(jù)的完整性。Extract進(jìn)程的狀態(tài)包括Stopped(正常停止)、Starting(正在啟動)、Running(正在運行)和Abended(AbnormalEnd,異常結(jié)束)。GGSCI命令接口工具對于每個OGG實例可以支持并發(fā)300個Extract和Replicat進(jìn)程。
trail文件:為了更有
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 安徽外國語學(xué)院《醫(yī)藥品制造管理韓》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025雇傭離職人員勞動合同
- 2025企業(yè)招聘合同范本
- 宜賓職業(yè)技術(shù)學(xué)院《測量學(xué)A》2023-2024學(xué)年第二學(xué)期期末試卷
- 中南財經(jīng)政法大學(xué)《電子商務(wù)技術(shù)基礎(chǔ)》2023-2024學(xué)年第二學(xué)期期末試卷
- 寶雞文理學(xué)院《先唐詩歌專題》2023-2024學(xué)年第二學(xué)期期末試卷
- 長春十一高中消防管道更換電力增容等維修項目一標(biāo)段招標(biāo)文件
- 互助縣第一中學(xué)2024-2025學(xué)年高三5月考化學(xué)試題含解析
- 無錫市重點中學(xué)2025屆中考物理試題全真模擬密押卷含解析
- 張家界航空工業(yè)職業(yè)技術(shù)學(xué)院《紀(jì)念品設(shè)計》2023-2024學(xué)年第二學(xué)期期末試卷
- GB 16246-1996車間空氣中硫酸二甲酯衛(wèi)生標(biāo)準(zhǔn)
- 驅(qū)動橋畢業(yè)設(shè)計
- 2023機(jī)關(guān)公文寫作與處理PPT模板
- 基坑支護(hù)、降水及土方開挖專項施工方案
- 幼兒數(shù)字1-100字帖練習(xí)
- 細(xì)胞生物學(xué)-7細(xì)胞信號轉(zhuǎn)導(dǎo)課件
- 攪拌站安全培訓(xùn)試卷
- 茶葉市場營銷講義
- 走進(jìn)中國傳統(tǒng)節(jié)日 詳細(xì)版課件
- 乙肝兩對半ppt課件
- 鍋爐空氣預(yù)熱器拆除安裝方案
評論
0/150
提交評論