數(shù)據(jù)庫(kù)程序員面試分模擬題6_第1頁(yè)
數(shù)據(jù)庫(kù)程序員面試分模擬題6_第2頁(yè)
數(shù)據(jù)庫(kù)程序員面試分模擬題6_第3頁(yè)
數(shù)據(jù)庫(kù)程序員面試分模擬題6_第4頁(yè)
數(shù)據(jù)庫(kù)程序員面試分模擬題6_第5頁(yè)
已閱讀5頁(yè),還剩10頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

數(shù)據(jù)庫(kù)程序員面試分模擬題6簡(jiǎn)答題1.

OLR如何進(jìn)行備份恢復(fù)?正確答案:OLR的備份策略和OCR的有所不同,默認(rèn)情況下GI在初始安裝時(shí)會(huì)在路徑SGRID_HOME/cdata/<節(jié)點(diǎn)名>下產(chǎn)生一個(gè)(江南博哥)備份。

[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不會(huì)被自動(dòng)備份,如果在集群的一些配置信息發(fā)生改變后,需要使用下面的命令手動(dòng)進(jìn)行備份:

[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手動(dòng)備份OLR。當(dāng)OLR丟失之后,可以使用命令“ocrconfig-local-restore<OLR備份文件>”來(lái)恢復(fù),不能從集群的其他節(jié)點(diǎn)復(fù)制OLR到本地節(jié)點(diǎn),這是因?yàn)镺LR中保存的一些信息是針對(duì)本地節(jié)點(diǎn)的。如果需要驗(yàn)證OLR的一致性,那么可以使用ocrcheck-local命令。簡(jiǎn)單地說(shuō),所有適用于OCR的命令同樣適用于OLR,但是需要增加-local選項(xiàng)。

對(duì)于OLR的備份恢復(fù)簡(jiǎn)單過(guò)程如下(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.[考點(diǎn)]RAC

2.

怎么捕獲用戶(hù)登錄信息,如SID、IP地址等?正確答案:可以利用登錄觸發(fā)器。

3.

在Oracle中,常用的與鎖有關(guān)的數(shù)據(jù)字典視圖有哪些?正確答案:常用的與鎖有關(guān)的數(shù)據(jù)字典視圖有DBA_DML_LOCKS、DBA_DDL_LOCKS、V$LOCK、DBA_LOCK和V$LOCKED_OBJECT。V$LOCKED_OBJECT記錄的是DML鎖信息,而沒(méi)有記錄DDL鎖。V$LOCK和DBA_LOCKS、DBA_LOCK內(nèi)容一樣,DBA_LOCKS是DBA_LOCK的同義詞??梢杂脛?dòng)態(tài)性能視圖V$FIXED_VIEW_DEFINITION來(lái)查看它們的關(guān)系。

V$SESSION視圖的TADDR列表示事務(wù)處理狀態(tài)對(duì)象的地址,對(duì)應(yīng)于V$TRANSACTION.ADDR列;V$SESSION視圖的LOCKWAIT列表示等待鎖的地址,對(duì)應(yīng)于V$LOCK的KADDR列;若當(dāng)前會(huì)話(huà)沒(méi)有被阻塞則為空。V$SESSION視圖的SADDR列對(duì)應(yīng)于V$TRANSACTION的SES_ADDR列??梢酝ㄟ^(guò)ROW_WAIT_OBJ#、ROW_WAIT_FILE#、ROW_WAIT_BLOCK#和ROW_WAIT_ROW#這4個(gè)字段查詢(xún)現(xiàn)在正在被鎖的表的相關(guān)信息(ROWID),例如,表名、文件名及行號(hào)。V$SESSION視圖中的P1和P2參數(shù)根據(jù)等待事件的不同所代表的含義也不同,可以從V$EVENT_NAME視圖獲知每個(gè)參數(shù)的含義。

在V$LOCK中,當(dāng)TYPE列的值為T(mén)M鎖時(shí),則ID1列的值為DBA_OBJECTS.OBJECT_ID,ID2列的值為0;當(dāng)TYPE列的值為T(mén)X鎖時(shí),則ID1列的值為視圖V$TRANSACTION中的XIDUSN字段(undoSegmentNumber,事務(wù)對(duì)應(yīng)的撤銷(xiāo)段序列號(hào))和XIDSLOT字段(SlotNumber,事務(wù)對(duì)應(yīng)的槽位號(hào)),其中,ID1的高16位為XIDUSN,低16位為XIDSLOT。ID2列的值為視圖V$TRANSACTION中的XIDSQN字段(SequenceNumber,事務(wù)對(duì)應(yīng)的序列號(hào))。

當(dāng)TYPE列的值為T(mén)X鎖時(shí),計(jì)算ID1列的值的公式為

SELECTTRUNC(ID1/POWER(2,16))ASXIDUSN,BITAND(ID1,TO_NUMBER('FFFF','XXXX'))+0ASXIDSLOT,ID2XIDSONFROMDUAL;

所有與鎖有關(guān)的數(shù)據(jù)字典視圖之間的關(guān)聯(lián)關(guān)系如下圖所示。

[考點(diǎn)]鎖

4.

InnoDB存儲(chǔ)引擎支持哪些事務(wù)類(lèi)型?正確答案:對(duì)于InnoDB存儲(chǔ)引擎來(lái)說(shuō),其支持扁平事務(wù)、帶有保存點(diǎn)的扁平事務(wù)、鏈?zhǔn)聞?wù)和分布式事務(wù)。對(duì)于嵌套事務(wù),其原生不支持。因此對(duì)有并發(fā)事務(wù)需求的用戶(hù)來(lái)說(shuō),MySQL數(shù)據(jù)庫(kù)或InnoDB存儲(chǔ)引擎就顯得無(wú)能為力,然而用戶(hù)仍可以通過(guò)帶保存點(diǎn)的事務(wù)來(lái)模擬串行的嵌套事務(wù)。[考點(diǎn)]存儲(chǔ)引擎

5.

數(shù)據(jù)庫(kù)設(shè)計(jì)的需求分析階段是如何實(shí)現(xiàn)的?目標(biāo)是什么?正確答案:數(shù)據(jù)庫(kù)設(shè)計(jì)的需求分析通過(guò)三步來(lái)完成:需求信息的收集、分析整理和評(píng)審。其目的在于對(duì)系統(tǒng)的應(yīng)用情況做全面詳細(xì)的調(diào)查,確定企業(yè)組織的目標(biāo),收集支持系統(tǒng)總的設(shè)計(jì)目標(biāo)的基礎(chǔ)數(shù)據(jù)和對(duì)這些數(shù)據(jù)的要求,確定用戶(hù)的需求,并把這些需求寫(xiě)成用戶(hù)和數(shù)據(jù)設(shè)計(jì)者都能夠接受的文檔。[考點(diǎn)]數(shù)據(jù)庫(kù)系統(tǒng)的組成與結(jié)構(gòu)

6.

有如下兩張表:

1)用戶(hù)資料表:SERV(SERV_lDNUMBER(10),PROD_IDNUMBER(L0),USER_TYPEVARCHAR2(30),TERMINAL_NAMEvARCHAR2(30)),其中,SERV_ID為用戶(hù)標(biāo)識(shí),是SERV表的主鍵;PROD_ID為產(chǎn)品標(biāo)識(shí);USER_TYPE為用戶(hù)類(lèi)型;TERMINAL_NAME為終端類(lèi)型。

2)終端類(lèi)型臨時(shí)表:TERMINAL(SERV_IDNUMBER(10),TERMINAL_NAMEVARCHAR2(30))。

在初始化情況下,SERV表的SERV_ID、PROD_ID、USER_TYPE字段值是己知的,TERMINAL_NAME字段是空的,現(xiàn)在要根據(jù):PROD_ID、USER_TYPE字段的值來(lái)更新NAME字段。

更新條件為:

1)當(dāng)條件滿(mǎn)足“PROD_ID=1ANDUSER_TYPE='A'”時(shí),TERMINAL_NAME更新為“固話(huà)”。

2)當(dāng)條件滿(mǎn)足“PROD_ID=1ANDUSER_TYPD='B'”時(shí),TERMINAL_NAME更新為“小靈通”。

3)當(dāng)條件滿(mǎn)足“PROD_ID=2”時(shí),TERMINAL_NAME更新為“寬帶”。

4)當(dāng)條件滿(mǎn)足“USER_TYPE='C'”時(shí),TERMINAL_NAME更新為“CDMA”。

5)以上條件均不滿(mǎn)足時(shí),TERMINAL_NAME更新為“-1”。

根據(jù)以上條件,完成存儲(chǔ)過(guò)程,存儲(chǔ)過(guò)程的名稱(chēng)為SPTERMINAL。正確答案:存儲(chǔ)過(guò)程如下:

CREATEORREPLACEPROCEDURESPTERMINALIS

BEGIN

UPDATESERVS

SETS.TERMINAL_NAME=

(SELECTCASE

WHENS.PROD_ID=1ANDS.USER_TYPE='A'THEN'固話(huà)'

WHENS.PROD_ID=1ANDS.USER_TYPE='B'THEN'小靈通'

WHENS.PROD_ID=2THEN'寬帶'

WHENS.USER_TYPE='C'THEN'CDMA'

ELSE'-1'

ENDASTERMINAL_NAME

FROMTERMINALT

WHERES.SERV_ID=T.SERV_ID)

WHEREEXISTS(SELECT1FROMTERMINALT1WHERES.SERV_ID=T1.SERV_ID);

COMMIT;

ENDSP_UPDATE_TERMUNAL_NAME;[考點(diǎn)]存儲(chǔ)過(guò)程

7.

如何預(yù)估即將創(chuàng)建索引的大小?正確答案:如果當(dāng)前表大小是1TB,那么在某一列上創(chuàng)建索引的話(huà)索引大概占用多大的空間?對(duì)于這個(gè)問(wèn)題,Oracle提供了2種可以預(yù)估將要?jiǎng)?chuàng)建的索引大小的辦法:

1)利用系統(tǒng)包DBMS_SPACE.CREATE_INDEX_COST直接得到。利用DBMS_SPACE.CREATE_TABLE_COST可以獲得將要?jiǎng)?chuàng)建的表的大小。

2)利用Oracle11g新特性NOTERAISEDWHENEXPLAINPLANFORCREATEINDEX。[考點(diǎn)]索引

8.

Oracle健康檢查有哪些方面?正確答案:要想對(duì)數(shù)據(jù)庫(kù)進(jìn)行全面檢查,內(nèi)容比較多,下面列舉部分檢查項(xiàng)目:

1)數(shù)據(jù)庫(kù)的實(shí)例是否運(yùn)行,最近是否有自動(dòng)重啟現(xiàn)象。

2)ASM實(shí)例是否正常運(yùn)行,剩余ASM磁盤(pán)空間有多大。

3)數(shù)據(jù)庫(kù)的參數(shù)是否正常,數(shù)據(jù)庫(kù)的參數(shù)近期是否被修改過(guò)。

4)數(shù)據(jù)庫(kù)的表空間大小,是否有表空間快滿(mǎn)了,表空間增長(zhǎng)是否過(guò)快(系統(tǒng)表空間是否增長(zhǎng)過(guò)快)。

5)是否有業(yè)務(wù)表創(chuàng)建在了SYSTEM表空間上,審計(jì)表是否在SYSTEM表空間上。

6)RMAN備份是否過(guò)期,備份是否可用,是否有控制文件的備份。

7)數(shù)據(jù)庫(kù)JOB是否有運(yùn)行錯(cuò)誤。

8)數(shù)據(jù)庫(kù)的告警日志是否有異常告警,例如ORA-4030、ORA-4031、ORA-60、ORA-600、ORA-01555等。

9)數(shù)據(jù)庫(kù)歸檔空間、閃回恢復(fù)區(qū)是否足夠。

10)是否有非常耗費(fèi)資源的SQL曾經(jīng)運(yùn)行過(guò),系統(tǒng)是否有VERSIONCOUNT過(guò)高的SQL。

11)DG、OGG是否運(yùn)行正常,歸檔日志是否正常傳遞到TARGET端。

12)數(shù)據(jù)庫(kù)是否開(kāi)啟了審計(jì)?

13)數(shù)據(jù)庫(kù)有哪些普通索引、分區(qū)索引是失效的,系統(tǒng)是否有很大的索引從未使用過(guò)。

14)系統(tǒng)有哪些大表沒(méi)有進(jìn)行分區(qū),哪些分區(qū)表的分區(qū)數(shù)過(guò)多,哪些分區(qū)表的各分區(qū)大小嚴(yán)重不均勻。

15)系統(tǒng)有哪些外鍵沒(méi)有創(chuàng)建索引,系統(tǒng)組合索引列個(gè)數(shù)過(guò)多。

16)系統(tǒng)有哪些表使用了過(guò)時(shí)字段,例如LONG、CHAR。

17)系統(tǒng)有哪些表上創(chuàng)建的索引數(shù)過(guò)多。

18)系統(tǒng)擁有DBA角色的用戶(hù)是否有變動(dòng)。

19)近期是否有用戶(hù)頻繁使用錯(cuò)誤密碼進(jìn)行登錄系統(tǒng)。

20)表或索引是否含有很高的并行度。

21)系統(tǒng)是否含有無(wú)效的觸發(fā)器。

22)系統(tǒng)是否含有CACHE值小于20并且已經(jīng)產(chǎn)生等待的序列。

23)系統(tǒng)近期是否含有異常的等待事件。

24)系統(tǒng)是否含有登錄時(shí)間很長(zhǎng)卻沒(méi)有響應(yīng)的會(huì)話(huà)。

25)系統(tǒng)是否含有統(tǒng)計(jì)信息過(guò)舊或從未收集過(guò)統(tǒng)計(jì)信息的表和索引。

26)系統(tǒng)有哪些全局臨時(shí)表被收集了統(tǒng)計(jì)信息。

27)系統(tǒng)自動(dòng)收集統(tǒng)計(jì)信息的JOB是否被禁用。

28)系統(tǒng)AWR、ASH功能是否被禁用。[考點(diǎn)]性能診斷

9.

錯(cuò)誤“OGG-00446Couldnotfindarchivedlogforsequence”如何處理?正確答案:如果面試官問(wèn)到維護(hù)OGG曾經(jīng)碰到的一次故障處理過(guò)程,那么就可以拿這個(gè)錯(cuò)誤作為案例來(lái)說(shuō)明。OGG-00446主要是歸檔文件丟失引起,處理辦法就是將缺失的歸檔日志找回來(lái)。如果找不到所需歸檔日志,那么可以按照如下2種辦法來(lái)處理。

第一種辦法是改變抽取進(jìn)程的時(shí)間,但這可能會(huì)導(dǎo)致數(shù)據(jù)不一致,執(zhí)行方法如下:

GGSCI(HP-HP)1>alterextractextl,beginnow

第二種辦法是重新初始化,重新初始化過(guò)程如下。

源庫(kù)查詢(xún)到當(dāng)前的SCN:

SQL>SELECTCURRENT_SCNFROMV$DATABASE;

CURRENT_SCN

------------

12242466771468

基于SCN導(dǎo)出所需要的數(shù)據(jù):

expdpXXX/XXXdirectory=DMPdumpfile=xpadb_20160125_01.dmpLOGFILE=xpadb_20160125.log

TABLES=BASE_ACTIONPOWER,BASE_BANKFLASHBACK_SCN=12242466771468

目標(biāo)庫(kù)導(dǎo)入所需要的數(shù)據(jù):

impdpXXX/XXXDIRECTORY=OGGDDUMPFILE=xpadb20160125_01.dmpLOGFILE=impdp.xpadb_20160125_01.logREMAP_SCHEMA=xpadb:xpadrptREMAP_TABLESPACE=xpaddat:xpaddata

目標(biāo)庫(kù)重新開(kāi)啟應(yīng)用進(jìn)程:

[考點(diǎn)]OGG

10.

SCN可以分為哪幾類(lèi)?正確答案:SCN可以分為4類(lèi),系統(tǒng)檢查點(diǎn)SCN(SystemCheckpointSCN)、文件檢查點(diǎn)SCN(DatafileCheckpointSCN)、開(kāi)始SCN(StartSCN)和結(jié)束SCN(StopSCN),參考下表。

[考點(diǎn)]RMAN

11.

如果$GRID_HOME下的權(quán)限被人為修改過(guò),那么如何來(lái)修復(fù)該權(quán)限問(wèn)題?正確答案:使用chown-R誤操作將整個(gè)$GRID_BASE的權(quán)限修改了,或者刪除了$GRID_HOME/log文件夾下的所有內(nèi)容,導(dǎo)致集群不能啟動(dòng)。在這種情況下可以根據(jù)MOS文檔:TipsforcheckingfilepermissionsonGRIDenvironment(ID1931142.1)來(lái)修復(fù)該問(wèn)題。

該文檔中描述到,在$GRID_HOME/crs/utl(Oracle11.2及)或<GRID_HOME>/crs/utl/<hosmame>(Oracle)下面的crsconfig_dirs和crsconfig_fileperms文件中記錄了整個(gè)$GRID_HOME下面的文件和目錄的相關(guān)權(quán)限。

可以通過(guò)命令“cluvfycompsoftware-nall-verbose”來(lái)校驗(yàn)集群的權(quán)限是否正確。

所以要解決這個(gè)問(wèn)題其實(shí)并不難,大致可以通過(guò)如下幾種方法來(lái)解決:

1)根據(jù)MOS文檔提供的建議,通過(guò)$GRID_HOME/crs/install/rootcrs.pl-init或rootbas.pl-init進(jìn)行解決。rootcrs.pl-init是在PSU>.6下執(zhí)行的,如果PSU<.6,則可以執(zhí)行如下兩條命令來(lái)實(shí)現(xiàn)同樣的效果。

<GRID_HOME>/crs/install/rootcrs.pl-unlock

<GRID_HOME>/crs/install/rootcrs.pl-patch

2)采用MOS文檔1515018.1上提供的腳本在正常庫(kù)上生成腳本,然后將生成的腳本在異常庫(kù)上執(zhí)行,從而來(lái)修復(fù)權(quán)限問(wèn)題。

3)Oracle11gR2可以刪除CRS的配置,然后重新運(yùn)行root.sh即可。如果OCR和數(shù)據(jù)庫(kù)不在同一個(gè)磁盤(pán)組里,那么重新運(yùn)行root.sh腳本并不影響數(shù)據(jù)庫(kù),所以無(wú)須擔(dān)心。

$GRID_HOME/crs/install/rootcrs.pl-deconfig-force-verbose

$GRID_HOME/root.sh

4)MOS文檔1515018.1上提供了一個(gè)修復(fù)腳本:permission.pl??梢愿鶕?jù)該腳本來(lái)修復(fù)。

在安裝有GI的環(huán)境下,權(quán)限、屬主是嚴(yán)格被設(shè)定的,任何對(duì)它們的錯(cuò)誤修改容易引發(fā)一系列的問(wèn)題,而且這些問(wèn)題往往都很詭異,很難按照常規(guī)的思路去診斷。一旦出現(xiàn)權(quán)限的問(wèn)題,作者建議按第1)和第3)種方式來(lái)修改。

如果可執(zhí)行文件$ORACLE_HOME/bin/oracle的屬主或權(quán)限設(shè)定出了問(wèn)題,那么可能會(huì)造成很多問(wèn)題。例如,無(wú)法登錄到數(shù)據(jù)庫(kù)、ora-600錯(cuò)誤、“TNS-12518:TNS:listenercouldnothandoffclientconnection”“LinuxError:32:Brokenpipe”“ORA-12537:TNS:connectionclosed”、訪(fǎng)問(wèn)ASM磁盤(pán)出錯(cuò)等。解決辦法很簡(jiǎn)單,可以在grid用戶(hù)下運(yùn)行setasmgidwrap命令重新配置$ORACLE_HOME/bin/oracle可執(zhí)行文件的權(quán)限和屬主,或者直接將oracle文件的權(quán)限修改為6751。$ORACLE_HOME/bin/oracle可執(zhí)行文件正確屬主應(yīng)該是oracle:asmadmin,并且權(quán)限必須有s共享才可以,如下:

[考點(diǎn)]RAC

12.

常用的crontab命令有哪些?正確答案:常用的crontab命令如下:

crontab-1

#列出某個(gè)用戶(hù)crond服務(wù)的詳細(xì)內(nèi)容

crontab-r

#刪除沒(méi)個(gè)用戶(hù)的crond服務(wù)

crontab-e

#編輯某個(gè)用戶(hù)的crond服務(wù)[考點(diǎn)]定時(shí)任務(wù)

13.

什么是RAC?RAC有哪些優(yōu)缺點(diǎn)?正確答案:RAC(RealApplicationClusters,實(shí)時(shí)應(yīng)用集群)是Oracle數(shù)據(jù)庫(kù)中采用的一項(xiàng)新技術(shù),是高可用性的一種,也是Oracle數(shù)據(jù)庫(kù)支持網(wǎng)格計(jì)算環(huán)境的核心技術(shù)。如何在一個(gè)7*24的系統(tǒng)上實(shí)現(xiàn)數(shù)據(jù)庫(kù)的高可用性呢?RAC就是最好的解決方案,RAC也成為高級(jí)DBA的必備技能之一。

從Oracle9i版本開(kāi)始就支持RAC了,可以支持7*24有效的數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng),在低成本服務(wù)器上構(gòu)建高可用性數(shù)據(jù)庫(kù)系統(tǒng),并且自由部署應(yīng)用,無(wú)須修改代碼。在Oracle9i之前,RAC稱(chēng)為OPS(OracleParallelServer)。RAC與OPS之間的一個(gè)較大區(qū)別是,RAC采用了CacheFusion(緩存融合)技術(shù),節(jié)點(diǎn)已經(jīng)取出的數(shù)據(jù)塊更新后沒(méi)有寫(xiě)入磁盤(pán)前,可以被另外一個(gè)節(jié)點(diǎn)更新,然后以最后的版本寫(xiě)入磁盤(pán);在OPS中,節(jié)點(diǎn)間的數(shù)據(jù)請(qǐng)求需要先將數(shù)據(jù)寫(xiě)入磁盤(pán),然后發(fā)出請(qǐng)求的節(jié)點(diǎn)才可以讀取該數(shù)據(jù)。使用CacheFusion時(shí),RAC的各個(gè)節(jié)點(diǎn)間數(shù)據(jù)緩沖區(qū)通過(guò)高速、低延遲的內(nèi)部網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)塊的傳輸。在OracleRAC環(huán)境下,Oracle提供了集群軟件和存儲(chǔ)管理軟件,為用戶(hù)降低了應(yīng)用成本。當(dāng)應(yīng)用規(guī)模需要擴(kuò)充時(shí),用戶(hù)可以按需擴(kuò)展系統(tǒng),以保證系統(tǒng)的性能。

(1)優(yōu)點(diǎn)

1)RAC是一種雙機(jī)并行模式,并非主備模式。也就是說(shuō),RAC集群的所有成員都可以同時(shí)接收客戶(hù)端的請(qǐng)求。所以,RAC實(shí)現(xiàn)了容錯(cuò)、單點(diǎn)故障解決(如果有節(jié)點(diǎn)掛掉,那么其他節(jié)點(diǎn)可以繼續(xù)提供服務(wù))和多節(jié)點(diǎn)負(fù)載均衡(不同節(jié)點(diǎn)可以相互配合,分擔(dān)負(fù)載)。

2)提供高可用性、故障容錯(cuò)和無(wú)縫切換功能,將硬件和軟件錯(cuò)誤造成的影響最小化,能夠保證在集群中只要有一個(gè)節(jié)點(diǎn)存活,就能正常對(duì)外提供服務(wù)。

3)通過(guò)并行執(zhí)行技術(shù)提高事務(wù)響應(yīng)時(shí)間,通常被用于OLAP系統(tǒng)。

4)通過(guò)橫向擴(kuò)展提高每秒交易數(shù)和連接數(shù),通常被用于OLTP系統(tǒng)。

5)擴(kuò)展了機(jī)器的負(fù)載能力,節(jié)約了硬件成本,可以用多個(gè)廉價(jià)PC(PersonalComputer)服務(wù)器代替昂貴的小型機(jī)或大型機(jī),同時(shí)節(jié)約相應(yīng)維護(hù)成本。

6)易伸縮、可擴(kuò)展性好,可以方便添加、刪除節(jié)點(diǎn),擴(kuò)展硬件資源。

7)實(shí)現(xiàn)了業(yè)務(wù)分割處理。

8)低成本。能使用較低廉的服務(wù)器來(lái)實(shí)現(xiàn)高可用性、高吞吐量的集群環(huán)境,這要比通過(guò)對(duì)某臺(tái)高端服務(wù)器增加硬件實(shí)現(xiàn)高可用性、高吞吐量花費(fèi)的成本低很多。

9)高吞吐量。隨著節(jié)點(diǎn)數(shù)的增加,整個(gè)RAC的吞吐量也在不斷增長(zhǎng)。

(2)缺點(diǎn)

1)相對(duì)單機(jī),由于底層技術(shù)復(fù)雜,所以,管理更復(fù)雜,對(duì)DBA的技術(shù)要求更高。

2)可能會(huì)增加軟件成本(如果使用高配置的PC服務(wù)器,那么Oracle一般按照CPU個(gè)數(shù)收費(fèi))。

3)在RAC系統(tǒng)規(guī)劃設(shè)計(jì)較差時(shí)性能可能會(huì)不如單節(jié)點(diǎn),存在資源爭(zhēng)用(CacheFusion)。

(3)RAC的特點(diǎn)如下:

1)每一個(gè)節(jié)點(diǎn)的實(shí)例都有自己的SGA。

2)每一個(gè)節(jié)點(diǎn)的實(shí)例都有自己的后臺(tái)進(jìn)程。

3)每一個(gè)節(jié)點(diǎn)的實(shí)例都有自己的聯(lián)機(jī)Redo日志文件。

4)每一個(gè)節(jié)點(diǎn)的實(shí)例都有自己的Undo表空間。

5)所有節(jié)點(diǎn)都共享一份DataFiles和ControlFiles。[考點(diǎn)]RAC

14.

RAC環(huán)境下的OGG需要注意什么問(wèn)題?正確答案:對(duì)于RAC環(huán)境,OGG的相關(guān)軟件和工作目錄需要配置在共享磁盤(pán)(SharedDisk)環(huán)境中,從而保證對(duì)RAC的所有節(jié)點(diǎn)都是可用的,從任何一個(gè)節(jié)點(diǎn)都可以啟動(dòng)OGG的進(jìn)程。當(dāng)其中一個(gè)節(jié)點(diǎn)出現(xiàn)異常時(shí),可以在剩余的節(jié)點(diǎn)啟動(dòng)而無(wú)須修改任何配置參數(shù);否則如果運(yùn)行在單個(gè)節(jié)點(diǎn)上,則需要將剩余節(jié)點(diǎn)中的歸檔日志通過(guò)一定的技術(shù)共享出來(lái)并加載到OGG的運(yùn)行節(jié)點(diǎn)。另外,OGG也要求RAC的所有節(jié)點(diǎn)必須保持時(shí)鐘同步。[考點(diǎn)]OGG

15.

物理DG如何啟用和停止日志應(yīng)用服務(wù)?正確答案:(1)啟用日志應(yīng)用:

ALTERDATABASERECOVERMANAGEDSTANDBYDATABASEDISCONNECTFROMSESSION;

(2)啟用實(shí)時(shí)的日志應(yīng)用:

ALTERDATABASERECOVERMANAGEDSTANDBYDATABASEUSINGCURRENTLOGFILEDISCONNECTFROMSESSION;

DISCONNECTFROMSESSION子句并非必需,該子句的作用是指定啟動(dòng)完應(yīng)用后自動(dòng)退出到命令操作符前。如果不指定該子句,那么當(dāng)前SESSION就會(huì)一直停留處理Redo應(yīng)用,如果想做其他操作,那么就只能新建一個(gè)連接。

(3)停止日志應(yīng)用服務(wù):

ALTERDATABASERECOVERMANAGEDSTANDBYDATABASECANCEL;

(4)查看DG備機(jī)是否啟用了日志應(yīng)用,有兩種辦法可以判斷:①可以查看是否有mrp進(jìn)程,如果看不到mrp進(jìn)程,那么說(shuō)明沒(méi)有啟用日志應(yīng)用;②查看V$ARCHIVE_DEST_STATUS的RECOVERY_MODE列,若啟用了實(shí)時(shí)應(yīng)用,則在Oracle11g顯示MANAGEDREALTIMEAPPLY,在Oracle10g顯示MANAGED。

[oracle@dg~]$ps-ef|grepora_mrp

oracle

19592

1

010:15?

00:00:01ora_mrp0_phydb[考點(diǎn)]DG

16.

試述數(shù)據(jù)、數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)系統(tǒng)、數(shù)據(jù)庫(kù)管理系統(tǒng)的概念。正確答案:1)數(shù)據(jù)(Data):描述事物的符號(hào)記錄稱(chēng)為數(shù)據(jù)。數(shù)據(jù)的種類(lèi)有數(shù)字、文字、圖形、圖像、聲音等?,F(xiàn)代計(jì)算機(jī)能存儲(chǔ)和處理的對(duì)象十分廣泛,表示這些對(duì)象的數(shù)據(jù)也越來(lái)越復(fù)雜。數(shù)據(jù)與其語(yǔ)義是不可分的,例如,100這個(gè)數(shù)字可以表示一件物品的價(jià)格是100元,也可以表示一段路程是100公里,還可以表示一個(gè)人的體重為100斤。

2)數(shù)據(jù)庫(kù)(DataBase,DB):數(shù)據(jù)庫(kù)是長(zhǎng)期存儲(chǔ)在計(jì)算機(jī)內(nèi)的、有組織的、可共享的數(shù)據(jù)集合。數(shù)據(jù)庫(kù)中的數(shù)據(jù)按一定的數(shù)據(jù)模型組織、描述和存儲(chǔ),具有較小的冗余度、較高的數(shù)據(jù)獨(dú)立性和易擴(kuò)展性,并可為各種用戶(hù)共享。

3)數(shù)據(jù)庫(kù)系統(tǒng)(DataBaseSystem,DBS):數(shù)據(jù)庫(kù)系統(tǒng)是指在計(jì)算機(jī)系統(tǒng)中引入數(shù)據(jù)庫(kù)后的系統(tǒng)構(gòu)成。數(shù)據(jù)庫(kù)系統(tǒng)和數(shù)據(jù)庫(kù)是兩個(gè)概念。數(shù)據(jù)庫(kù)系統(tǒng)是一個(gè)系統(tǒng),數(shù)據(jù)庫(kù)是數(shù)據(jù)庫(kù)系統(tǒng)的一個(gè)組成部分。但是,在日常工作中人們常常把數(shù)據(jù)庫(kù)系統(tǒng)簡(jiǎn)稱(chēng)為數(shù)據(jù)庫(kù)。

4)數(shù)據(jù)庫(kù)管理系統(tǒng)(DataBaseManagementSystem,DBMS):數(shù)據(jù)庫(kù)管理系統(tǒng)是位于用戶(hù)與操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件,用于科學(xué)地組織和存儲(chǔ)數(shù)據(jù)、高效地獲取和維護(hù)數(shù)據(jù)。DBMS是一個(gè)大型的復(fù)雜的軟件系統(tǒng),是計(jì)算機(jī)中的基礎(chǔ)軟件。DBMS的主要功能包括數(shù)據(jù)定義功能、數(shù)據(jù)操縱功能、數(shù)據(jù)庫(kù)的運(yùn)行管理功能、數(shù)據(jù)庫(kù)的建立和維護(hù)功能。目前,專(zhuān)門(mén)研制DBMS的廠(chǎng)商及其研制的DBMS產(chǎn)品很多。著名的有美國(guó)IBM公司的DB2關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)和IMS層次數(shù)據(jù)庫(kù)管理系統(tǒng)、美國(guó)Oracle公司的Oracle關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)、美國(guó)微軟公司的SQLServer等。[考點(diǎn)]數(shù)據(jù)庫(kù)系統(tǒng)的組成與結(jié)構(gòu)

17.

在MySQL中如何有效地刪除一個(gè)大表?正確答案:在Oracle中對(duì)于大表的刪除可以通過(guò)先TRUNCATE+REUSESTORAGE參數(shù),再使用DEALLOCATE逐步縮小,最后DROP掉表。在MySQL中,對(duì)于大表的刪除,可以通過(guò)建立硬鏈接(HardLink)的方式來(lái)刪除。建立硬鏈接的方式如下:

Inbig_table.ibdbig_table.ibd.hdlk

建立硬鏈接之后就可以使用DROPTABLE刪除表了,最后在OS級(jí)別刪除硬鏈接的文件即可。為什么通過(guò)這種方式可以快速刪除呢?當(dāng)多個(gè)文件名同時(shí)指向同一個(gè)INODE時(shí),此時(shí)這個(gè)INODE的引用數(shù)N>1,刪除其中任何一個(gè)文件都會(huì)很快。因?yàn)槠渲苯拥奈锢砦募K沒(méi)有被刪除,只是刪除了一個(gè)指針而已。當(dāng)INODE的引用數(shù)N=1時(shí),刪除文件時(shí)需要把與這個(gè)文件相關(guān)的所有數(shù)據(jù)塊清除,所以會(huì)比較耗時(shí)。

18.

MySQL支持事務(wù)嗎?正確答案:在缺省模式下,MySQL是AUTOCOMMIT模式的,所有的數(shù)據(jù)庫(kù)更新操作都會(huì)即時(shí)提交。這就表示除非顯式地開(kāi)始一個(gè)事務(wù),否則每個(gè)查詢(xún)都被當(dāng)作一個(gè)單獨(dú)的事務(wù)自動(dòng)執(zhí)行。但是,如果MySQL表類(lèi)型是使用InnoDBTables(或其他支持事務(wù)的存儲(chǔ)引擎),那么MySQL就可以使用事務(wù)處理,使用SETAUTOCOMMIT=0就可以使MySQL運(yùn)行在非AUTOCOMMIT模式下。在非AUTOCOMMIT模式下,必須使用COMMIT來(lái)提交更改,或者使用ROLLBACK來(lái)回滾更改。需要注意的是,在MySQL5.5以前,默認(rèn)的存儲(chǔ)引擎是MyISA2M(從MySQL5.5開(kāi)始,默認(rèn)存儲(chǔ)引擎是InnoDB),而MyISAM存儲(chǔ)引擎不支持

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論