




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、一、基礎(chǔ)概念1. 列舉幾種表連接方式Answer:等連接(內(nèi)連接)、非等連接、自連接、外連接(左、右、全)Orhashjoin/mergejoin/nestloop(clusterjoin)/indexjoinORACLE8,i9i表連接方法。一般的相等連接:select*froma,bwhere=;這個(gè)就屬于內(nèi)連接。對于外連接:Oracle中可以使用“(+)”來表示,9i可以使用LEFT/RIGHT/FULLOUTERJOINLEFTOUTERJOIN左外關(guān)聯(lián)SELECT,FROMemployeeseLEFTOUTERJOINdepartmentsdON=;等價(jià)于SELECT,FROMemp
2、loyeese,departmentsdWHERE=(+)結(jié)果為:所有員工及對應(yīng)部門的記錄,包括沒有對應(yīng)部門編號department_id的員工記錄。RIGHTOUTERJOIN右外關(guān)聯(lián)SELECT,FROMemployeeseRIGHTOUTERJOINdepartmentsdON=;等價(jià)于SELECT,FROMemployeese,departmentsdWHERE(+)=結(jié)果為:所有員工及對應(yīng)部門的記錄,包括沒有任何員工的部門記錄。FULLOUTERJOIN全外關(guān)聯(lián)SELECT,FROMemployeeseFULLOUTERJOINdepartmentsdON=;結(jié)果為:所有員工及對應(yīng)部
3、門的記錄,包括沒有對應(yīng)部門編號department_id的員工記錄和沒有任何員工的部門記錄。ORACLE8是不直接支持完全外連接的語法,也就是說不能在左右兩個(gè)表上同時(shí)加上(+),下面是在ORACLE8可以參考的完全外連接語法select,fromtable1t1,tablet2where=(+)unionselect,fromtable1t1,tablet2where(+)=連接類型定義圖示例子內(nèi)連接只連接匹配的行select,fromAjoinBon=;左外連接包含左邊表的全部行(不管右邊的表中是否存在與它們匹配的行)以及右邊表中全部匹配的行select,fromAleftjoinBon=;
4、右外連接包含右邊表的全部行(不管左邊的表中是否存在與它們匹配的行)以及左邊表中全部匹配的行select,fromArightjoinBon=;全外連接包含左、右兩個(gè)表的全部行,不管在另一邊的表中是否存在與它們匹配的行select,fromAfulljoinBon=;(theta)連接使用等值以外的條件來匹配左、右兩個(gè)表中的行select,fromAjoinBon!=;交叉連接生成笛卡爾積它不使用任何匹配或者選取條件,而是直接將一個(gè)數(shù)據(jù)源中的每個(gè)行與另一個(gè)數(shù)據(jù)源的每個(gè)行一一匹配select,fromA,B;2. 不借助第三方工具,怎樣查看sql的執(zhí)行計(jì)劃I) 使用ExplainPlan,查詢PL
5、AN_TABLE;EXPLAINPLANSETSTATEMENT_ID=QUERY1FORSELECT*FROMaWHEREaa=1;SELECToperation,options,object_name,object_type,ID,parent_idFROMplan_tableWHERESTATEMENT"=QUERY1ORDERBYID;II)SQLPLUS中的SETTRACE®可看到ExecutionPlanStatisticsSETAUTOTRACEON;3.如何使用CBO,CBOfRULE勺區(qū)另1JIF初始化參數(shù)OPTIMIZER_MODE=CHOOSETHEN
6、8IDEFAULT)IF做過表分析THEN優(yōu)化器Optimizer=CBO(COST);/*高效*/ELSE優(yōu)化器Optimizer=RBO(RULE);/*高效*/ENDIF;ENDIF;區(qū)別:RBO艮據(jù)規(guī)則選擇最佳執(zhí)行路徑來運(yùn)行查詢。CBO艮據(jù)表統(tǒng)計(jì)找到最低成本的訪問數(shù)據(jù)的方法確定執(zhí)行計(jì)劃。使用CBOB要注意:I)需要經(jīng)常對表進(jìn)行ANALYZ琦令進(jìn)行分析統(tǒng)計(jì);II) 需要穩(wěn)定執(zhí)行計(jì)劃;III) 需要使用提示(Hint);使用RULER要注意:I) 選擇最有效率的表名順序II) 優(yōu)化SQL的寫法;在optimizer_mode=choose時(shí),如果表有統(tǒng)計(jì)信息(分區(qū)表外),優(yōu)化器將選擇CBO
7、否M選RBORBOS循簡單的分級方法學(xué),使用15種級別要點(diǎn),當(dāng)接收到查詢,優(yōu)化器將評估使用到的要點(diǎn)數(shù)目,然后選擇最佳級別(最少的數(shù)量)的執(zhí)行路徑來運(yùn)行查詢。CBOg試找到最低成本白訪問數(shù)據(jù)的方法,為了最大的吞吐量或最快的初始響應(yīng)時(shí)間,計(jì)算使用不同的執(zhí)行計(jì)劃的成本,并選擇成本最低的一個(gè),關(guān)于表的數(shù)據(jù)內(nèi)容的統(tǒng)計(jì)被用于確定執(zhí)行計(jì)劃。4. 如何定位重要(消耗資源多)的SQL使用CPU的用戶sessionSELECT,spid,status,SUBSTR,1,40)prog,osuser,VALUE/60/100VALUEFROMv$sessiona,v$processb,v$sesstatcWHERE
8、#=12AND=AND=ORDERBYVALUEDESC;selectsql_textfromv$sqlwheredisk_reads>1000or(executions>0andbuffer_gets/executions>30000);5. 如何跟蹤某個(gè)session的SQL利用TRACES艮蹤ALTERSESSIONSETSQLTRACEON;COLUMNSQLformata200;SELECTmachine,sql_textSQLFROMv$sqltexta,v$sessionbWHEREaddress=sql_addressANDmachine=&AORDE
9、RBYhash_value,piece;exec(sid,serial#,&sql_trace);selectsid,serial#fromv$sessionwheresid=(selectsidfromv$mystatwhererownum=1);exec(&sid,&serial#,&event_10046,&level_12,”);6. SQL調(diào)整最關(guān)注的是什么檢查系統(tǒng)的I/O問題sard能檢查整個(gè)系統(tǒng)的iostat(IOstatistics)查看該SQL白responsetime(dbblockgets/consistentgets/physic
10、alreads/sorts(disk)7. 說說你對索引的認(rèn)識(索引的結(jié)構(gòu)、對dml影響、對查詢影響、為什么提高查詢性能)索引有B-TREEBIT、CLUSTERS1型。ORACL使用了一個(gè)復(fù)雜的自平衡B-tree結(jié)構(gòu);通常來說,在表上建立恰當(dāng)?shù)乃饕?,查詢時(shí)會(huì)改進(jìn)查詢性能。但在進(jìn)行插入、刪除、修改時(shí),同時(shí)會(huì)進(jìn)行索引的修改,在性能上有一定的影響。有索引且查詢條件能使用索引時(shí),數(shù)據(jù)庫會(huì)先度取索引,根據(jù)索引內(nèi)容和查詢條件,查詢出ROWID再根據(jù)ROWID(出需要的數(shù)據(jù)。由于索引內(nèi)容通常比全表內(nèi)容要少很多,因此通過先讀索引,能減少I/O,提高查詢性能。b-treeindex/bitmapindex/f
11、unctionindex/patitionalindex(local/global)索引通常能提高select/update/delete的性能,會(huì)降低insert的速度,8. 使用索引查詢一定能提高查詢的性能嗎為什么通常,通過索引查詢數(shù)據(jù)比全表掃描要快.但是我們也必須注意到它的代價(jià).索引需要空間來存儲(chǔ),也需要定期維護(hù),每當(dāng)有記錄在表中增減或索引列被修改時(shí),索引本身也會(huì)被修改.這意味著每條記錄的INSERT,DELETE,UPDATE為此多付出4,5次的磁盤I/O.因?yàn)樗饕枰~外的存儲(chǔ)空間和處理,那些不必要的索引反而會(huì)使查詢反應(yīng)時(shí)間變慢.使用索引查詢不一定能提高查詢性能,索引范圍查詢(IND
12、EXRANGESCANJ用于兩種情況:基于一個(gè)范圍的檢索,一般查詢返回結(jié)果集小于表中記錄數(shù)的30%宜采用;基于非唯一性索引的檢索索引就是為了提高查詢性能而存在的,如果在查詢中索引沒有提高性能,只能說是用錯(cuò)了索引,或者講是場合不同9. 綁定變量是什么綁定變量有什么優(yōu)缺點(diǎn)綁定變量是指在SQ印句中使用變量,改變變量的值來改變SQL®句的執(zhí)行結(jié)果。優(yōu)點(diǎn):使用綁定變量,可以減少SQL語句的解析,能減少數(shù)據(jù)庫引擎消耗在SQL語句解析上的資源。提高了編程效率和可靠性。減少訪問數(shù)據(jù)庫的次數(shù),就能實(shí)際上減少ORACL的工作量。缺點(diǎn):經(jīng)常需要使用動(dòng)態(tài)SQLB寫法,由于參數(shù)的不同,可能SQL的執(zhí)行效率不同
13、;綁定變量是相對文本變量來講的,所謂文本變量是指在SQL直接書寫查詢條件,這樣的SQL在不同條件下需要反復(fù)解析,綁定變量是指使用變量來代替直接書寫條件,查詢bindvalue在運(yùn)行時(shí)傳遞,然后綁定執(zhí)行。優(yōu)點(diǎn)是減少硬解析,降低CPU的爭用,節(jié)省shared_pool缺點(diǎn)是不能使用histogram,sql優(yōu)化比較困難10. 如何穩(wěn)定(固定)執(zhí)行計(jì)劃可以在SQL語句中指定執(zhí)彳T計(jì)劃。使用HINTS;query_rewrite_enabled=truestar_transformation_enabled=trueoptimizer_features_enable=創(chuàng)建并使用storedoutlin
14、e11. 和排序相關(guān)的內(nèi)存在8i和9i分別怎樣調(diào)整,臨時(shí)表空間的作用是什么SORT_AREA_SIZE進(jìn)行排序操作時(shí),如果排序的內(nèi)容太多,內(nèi)存里不能全部放下,則需要進(jìn)行外部排序,此時(shí)需要利用臨時(shí)表空間來存放排序的中間結(jié)果。8i中sort_area_size/sort_area_retained_size決定了排序所需要的內(nèi)存,如果排序操作不能在sort_area_size中完成,就會(huì)用到temp表空間9i中如果workarea_size_policy=auto時(shí),排序在pga內(nèi)進(jìn)行,通常pga_aggregate_target的1/20可以用來進(jìn)行disksort;如果workarea_siz
15、e_policy=manual時(shí),排序需要的內(nèi)存由sort_area_size決定,在執(zhí)行orderby/groupby/distinct/union/createindex/indexrebuild/minus等操作時(shí),如果在pga或sort_area_size中不能完成,排序?qū)⒃谂R時(shí)表空間進(jìn)行(disksort),臨時(shí)表空間主要作用就是完成系統(tǒng)中的disksort.12.存在表T(a,b,c,d),要根據(jù)字段c排序后取第2130條記錄顯示,請給出sqlSELECT*FROM(SELECTROWNUMASrow_num,tmp_tab.*FROM(SELECTa,b,c,dFROMTORDE
16、RBYc)tmp_tabWHEREROWNUM<=30)WHERErow_num>=20ORDERBYrow_num;createtablet(anumber(,bnumber(,cnumber(,dnumber();/beginforiin1.300loopinsertintotvalues(mod(i,2),i/2,(1,300),i/4);endloop;end;/select*from(selectc.*,rownumasrnfrom(select*fromtorderbycdesc)c)wherernbetween21and30;/select*from(select*f
17、romtestorderbycdesc)xwhererownum<30minusselect*from(select*fromtestorderbycdesc)ywhererownum<20orderby3desc相比之minus性能較差二:數(shù)據(jù)庫基本概念類1 Pctusedandpctfree表示什么含義有什么作用pctused與pctfree控制數(shù)據(jù)塊是否出現(xiàn)在freelist中,pctfree控制數(shù)據(jù)塊中保留用于update的空間,當(dāng)數(shù)據(jù)塊中的freespace小于pctfree設(shè)置的空間時(shí),該數(shù)據(jù)塊從freelist中去掉,當(dāng)塊由于dml操作freespace大于pct_u
18、sed設(shè)置的空間時(shí),該數(shù)據(jù)庫塊將被添加在freelist鏈表中。2 簡單描述tablespace/segment/extent/block之間的關(guān)系tablespace:一個(gè)數(shù)據(jù)庫劃分為一個(gè)或多個(gè)邏輯單位,該邏輯單位成為表空間;每一個(gè)表空間可能包含一個(gè)或多個(gè)Segment;Segments:Segment指在tablespace中為特定邏輯存儲(chǔ)結(jié)構(gòu)分配的空間。每一個(gè)段是由一個(gè)或多個(gè)extent組成。包括數(shù)據(jù)段、索引段、回滾段和臨時(shí)段。Extents:一個(gè)extent由一系列連續(xù)的Oracleblocks組成QRACL助通過extent來給segment分配空間。DataBlocks:Oracl
19、e數(shù)據(jù)庫最小的I/O存儲(chǔ)單位,一個(gè)datablock對應(yīng)一個(gè)或多個(gè)分配給datafile的操作系統(tǒng)塊。table創(chuàng)建時(shí),默認(rèn)創(chuàng)建了一個(gè)datasegment,每個(gè)datasegment含有minextents指定的extents數(shù),每個(gè)extent據(jù)據(jù)表空間的存儲(chǔ)參數(shù)分配一定數(shù)量的blocks3 描述tablespace和datafile之間的關(guān)系一個(gè)表空間可包含一個(gè)或多個(gè)數(shù)據(jù)文件。表空間利用增加或擴(kuò)展數(shù)據(jù)文件擴(kuò)大表空間,表空間的大小為組成該表空間的數(shù)據(jù)文件大小的和。一個(gè)datafile只能屬于一個(gè)表空間;一個(gè)tablespace可以有一個(gè)或多個(gè)datafile,每個(gè)datafile只能在一個(gè)
20、tablespace內(nèi),table中的數(shù)據(jù),通過hash算法分布在tablespace中的各個(gè)datafile中,tablespace是邏輯上的概念,datafile則在物理上儲(chǔ)存了數(shù)據(jù)庫的種種對象。4本地管理表空間和字典管理表空間的特點(diǎn),ASSMt什么特點(diǎn)本地管理表空間:(9i默認(rèn))空閑塊列表存儲(chǔ)在表空間的數(shù)據(jù)文件頭。特點(diǎn):減少數(shù)據(jù)字典表的競爭,當(dāng)分配和收縮空間時(shí)會(huì)產(chǎn)生回滾,不需要合并。字典管理表空間:(8i默認(rèn))空閑塊列表存儲(chǔ)在數(shù)據(jù)庫中的字典表里.特點(diǎn):片由數(shù)據(jù)字典管理,可能造成字典表的爭用。存儲(chǔ)在表空間的每一個(gè)段都會(huì)有不同的存儲(chǔ)字句,需要合并相鄰的塊;本地管理表空間(LocallyMan
21、agedTablespace簡稱LMT)8i以后出現(xiàn)的一種新的表空間的管理模式,通過位圖來管理表空間的空間使用。字典管理表空間(Dictionary-ManagedTablespace簡稱DMT)8i以前包括以后都還可以使用的一種表空間管理模式,通過數(shù)據(jù)字典管理表空間的空間使用。動(dòng)段空間管理(ASSM,它首次出現(xiàn)在Oracle920里有了ASSIM鏈接列表freelist被位圖所取代,它是一個(gè)二進(jìn)制的數(shù)組,能夠迅速有效地管理存儲(chǔ)擴(kuò)展和剩余區(qū)塊(freeblock),因此能夠改善分段存儲(chǔ)本質(zhì),ASSME空間上創(chuàng)建的段還有另外一個(gè)稱呼叫BitmapManagedSegments(BMB段)。5 回
22、滾段的作用是什么回滾段用于保存數(shù)據(jù)修改前的映象,這些信息用于生成讀一致性數(shù)據(jù)庫信息、在數(shù)據(jù)庫恢復(fù)和Rollback時(shí)使用。一個(gè)事務(wù)只能使用一個(gè)回滾段。事務(wù)回滾:當(dāng)事務(wù)修改表中數(shù)據(jù)的時(shí)候,該數(shù)據(jù)修改前的值(即前影像)會(huì)存放在回滾段中,當(dāng)用戶回滾事務(wù)(ROLLBACK時(shí),ORACLE會(huì)利用回滾段中的數(shù)據(jù)前影像來將修改的數(shù)據(jù)恢復(fù)到原來的值。事務(wù)恢復(fù):當(dāng)事務(wù)正在處理的時(shí)候,例程失敗,回滾段的信息保存在undo表空問中,ORACLE在下次打開數(shù)據(jù)庫時(shí)利用回滾來恢復(fù)未提交的數(shù)據(jù)。讀一致性:當(dāng)一個(gè)會(huì)話正在修改數(shù)據(jù)時(shí),其他的會(huì)話將看不到該會(huì)話未提交的修改。當(dāng)一個(gè)語句正在執(zhí)行時(shí),該語句將看不到從該語句開始執(zhí)行后
23、的未提交的修改(語句級讀一致性)當(dāng)ORACLE彳rSELEC詔句時(shí),ORACLE照當(dāng)前的系統(tǒng)改變號(SYSTEMCHANGENUMBER-SCN來保證任何前于當(dāng)前SCN勺未提交的改變不被該語句處理??梢韵胂螅寒?dāng)一個(gè)長時(shí)間的查詢正在執(zhí)行時(shí),若其他會(huì)話改變了該查詢要查詢的某個(gè)數(shù)據(jù)塊,ORACLE利用回滾段的數(shù)據(jù)前影像來構(gòu)造一個(gè)讀一致性視圖6 日志的作用是什么日志文件(LogFile)記錄所有對數(shù)據(jù)庫數(shù)據(jù)的修改,主要是保護(hù)數(shù)據(jù)庫以防止故障,以及恢復(fù)數(shù)據(jù)時(shí)使用。其特點(diǎn)如下:a) 每一個(gè)數(shù)據(jù)庫至少包含兩個(gè)日志文件組。每個(gè)日志文件組至少包含兩個(gè)日志文件成員。b) 日志文件組以循環(huán)方式進(jìn)行寫操作。c) 每一
24、個(gè)日志文件成員對應(yīng)一個(gè)物理文件。記錄數(shù)據(jù)庫事務(wù),最大限度地保證數(shù)據(jù)的一致性與安全性重做日志文件:含對數(shù)據(jù)庫所做的更改記錄,這樣萬一出現(xiàn)故障可以啟用數(shù)據(jù)恢復(fù),一個(gè)數(shù)據(jù)庫至少需要兩個(gè)重做日志文件歸檔日志文件:是重做日志文件的脫機(jī)副本,這些副本可能對于從介質(zhì)失敗中進(jìn)行恢復(fù)很必要。7SGA主要有那些部分,主要作用是什么系統(tǒng)全局區(qū)(SGA:是ORACL囪實(shí)例分配的一組共享緩沖存儲(chǔ)區(qū),用于存放數(shù)據(jù)庫數(shù)據(jù)和控制信息,以實(shí)現(xiàn)對數(shù)據(jù)庫數(shù)據(jù)的管理和操作。SGAi要包括:a)共享池(sharedpool):用來存儲(chǔ)最近執(zhí)行的SQL語句和最近使用的數(shù)據(jù)字典的數(shù)據(jù)。b) 數(shù)據(jù)緩沖區(qū)(databasebuffercach
25、e):用來存儲(chǔ)最近從數(shù)據(jù)文件中讀寫過的數(shù)據(jù)。c) 重作日志緩沖區(qū)(redologbuffer):用來記錄服務(wù)或后臺(tái)進(jìn)程對數(shù)據(jù)庫的操作。另外在SGA中還有兩個(gè)可選的內(nèi)存結(jié)構(gòu):d)Javapool:用來存儲(chǔ)Java代碼。e)Largepool:用來存儲(chǔ)不與SQL直接相關(guān)的大型內(nèi)存結(jié)構(gòu)。備份、恢復(fù)使用。GA:db_cache/shared_pool/large_pool/java_pooldb_cache:數(shù)據(jù)庫緩存(BlockBuffer)對于Oracle數(shù)據(jù)庫的運(yùn)轉(zhuǎn)和性能起著非常關(guān)鍵的作用,它占據(jù)Oracle數(shù)據(jù)庫SGA(系統(tǒng)共享內(nèi)存區(qū))的主要部分。Oracle數(shù)據(jù)庫通過使用LRUB法,將最近訪
26、問的數(shù)據(jù)塊存放到緩存中,從而優(yōu)化對磁盤數(shù)據(jù)的訪問.shared_pool:共享池的大小對于Oracle性能來說都是很重要的。共享池中保存數(shù)據(jù)字典高速緩沖和完全解析或編譯的的PL/SQL塊和SQL語句及控制結(jié)構(gòu)large_pool:使用MTSI已置時(shí),因?yàn)橐赟GA中分配UGAH呆持用戶的會(huì)話,就是用Large_pool來保持這個(gè)會(huì)話內(nèi)存使用RMA瞰備份的時(shí)候,要使用Large_pool這個(gè)內(nèi)存結(jié)構(gòu)來做磁盤I/O緩存器java_pool:為javaprocedure預(yù)備的內(nèi)存區(qū)域,如果沒有使用javaproc,java_pool不是必須的8Oracle系統(tǒng)進(jìn)程主要有哪些,作用是什么數(shù)據(jù)寫進(jìn)程(D
27、BWR)負(fù)責(zé)將更改的數(shù)據(jù)從數(shù)據(jù)庫緩沖區(qū)高速緩存寫入數(shù)據(jù)文件日志寫進(jìn)程(LGWR)將重做日志緩沖區(qū)中的更改寫入在線重做日志文件系統(tǒng)監(jiān)控(SMON):檢查數(shù)據(jù)庫的一致性如有必要還會(huì)在數(shù)據(jù)庫打開時(shí)啟動(dòng)數(shù)據(jù)庫的恢復(fù)進(jìn)程監(jiān)控(PMON):負(fù)責(zé)在一個(gè)Oracle進(jìn)程失敗時(shí)清理資源檢查點(diǎn)進(jìn)程(CKPT):負(fù)責(zé)在每當(dāng)緩沖區(qū)高速緩存中的更改永久地記錄在數(shù)據(jù)庫中時(shí),更新控制文件和數(shù)據(jù)文件中的數(shù)據(jù)庫狀態(tài)信息。歸檔進(jìn)程(ARCH):在每次日志切換時(shí)把已滿的日志組進(jìn)行備份或歸檔恢復(fù)進(jìn)程(RECO):保證分布式事務(wù)的一致性,在分布式事務(wù)中,要么同時(shí)commit,要么同時(shí)rollback;作業(yè)調(diào)度器(CJQ):負(fù)責(zé)將調(diào)度與
28、執(zhí)行系統(tǒng)中已定義好的job,完成一些預(yù)定義的工作.三:備份恢復(fù)類1 備份如何分類邏輯備份:exp/imp指定表的邏輯備份物理備份:熱備份:altertablespacebegin/endbackup;冷備份:脫機(jī)備份(databaseshutdown)RMA解份fullbackup/incrementalbackup(累積/差異)物理備份物理備份是最主要的備份方式。用于保證數(shù)據(jù)庫在最小的數(shù)據(jù)庫丟失或沒有數(shù)據(jù)丟失的情況下得到恢復(fù)。冷物理冷物理備份提供了最簡單和最直接的方法保護(hù)數(shù)據(jù)庫因物理損壞丟失。建議在以下幾種情況中使用。對一個(gè)已經(jīng)存在大最數(shù)據(jù)量的數(shù)據(jù)庫,在晚間數(shù)據(jù)庫可以關(guān)閉,此時(shí)應(yīng)用冷物理備份
29、。對需對數(shù)據(jù)庫服務(wù)器進(jìn)行升級,(如更換硬盤),此時(shí)需要備份數(shù)據(jù)庫信息,并在新的硬盤中恢復(fù)這些數(shù)據(jù)信息,建議采用冷物理備份。熱物理主要是指備份過程在數(shù)據(jù)庫打開并且用戶可以使用的情況下進(jìn)行。需要執(zhí)行熱物理備份的情況有:由于數(shù)據(jù)庫性質(zhì)要求不間斷工作,因而此時(shí)只能采用熱物理備份。由于備份的要求的時(shí)間過長,而數(shù)據(jù)庫只能短時(shí)間關(guān)閉時(shí)。邏輯備份(EXP/IMP)邏輯備份用于實(shí)現(xiàn)數(shù)據(jù)庫對象的恢復(fù)。但不是基于時(shí)間點(diǎn)可完全恢復(fù)的備份策略。只能作為聯(lián)機(jī)備份和脫機(jī)備份的一種補(bǔ)充。完全邏輯備份完全邏輯備份是將整個(gè)數(shù)據(jù)庫導(dǎo)出到一個(gè)數(shù)據(jù)庫的格式文件中,該文件可以在不同的數(shù)據(jù)庫版本、操作系統(tǒng)和硬件平臺(tái)之間進(jìn)行移植。指定表的邏
30、輯備份通過備份工具,可以將指定的數(shù)據(jù)庫表備份出來,這可以避免完全邏輯備份所帶來的時(shí)間和財(cái)力上的浪費(fèi)。2 歸檔是什么含義關(guān)于歸檔日志:Oracle要將填滿的在線日志文件組歸檔時(shí),則要建立歸檔日志(archivedredolog)。其對數(shù)據(jù)庫備份和恢復(fù)有下列用處:數(shù)據(jù)庫后備以及在線和歸檔日志文件,在操作系統(tǒng)和磁盤故障中可保證全部提交的事物可被恢復(fù)。在數(shù)據(jù)庫打開和正常系統(tǒng)使用下,如果歸檔日志是永久保存,在線后備可以進(jìn)行和使用。數(shù)據(jù)庫可運(yùn)行在兩種不同方式下:NOARCHIVELOGS;或ARCHIVELO式數(shù)據(jù)庫在NOARCHIVELOGS;下使用時(shí),不能進(jìn)行在線日志的歸檔,數(shù)據(jù)庫在ARCHIVELO
31、G式下運(yùn)行,可實(shí)施在線日志的歸檔歸檔是歸檔當(dāng)前的聯(lián)機(jī)redo日志文件。SVRMGR>altersystemarchivelogcurrent;數(shù)據(jù)庫只有運(yùn)行在ARCHIVELOG式下,并且能夠進(jìn)行自動(dòng)歸檔,才可以進(jìn)行聯(lián)機(jī)備份。有了聯(lián)機(jī)備份才有可能進(jìn)行完全恢復(fù)。3 如果一個(gè)表在2004-08-0410:30:00被drop,在有完善的歸檔和備份的情況下,如何恢復(fù)9i新增的FLASHBACK該可以;Logminer應(yīng)該可以找出DML。有完善的歸檔和備份,先歸檔當(dāng)前數(shù)據(jù),然后可以先恢復(fù)到刪除的時(shí)間點(diǎn)之前,把DROP勺表導(dǎo)出來,然后再恢復(fù)到最后歸檔時(shí)間;手工拷貝回所有備份的數(shù)據(jù)文件Sqlstar
32、tupmount;sqlalterdatabaserecoverautomaticuntiltime'200408-04:10:30:00';sqlalterdatabaseopenresetlogs;4 rman是什么,有何特點(diǎn)RMAN(RecoveryManager)是DBA勺一個(gè)重要工具,用于備份、還原和恢復(fù)oracle數(shù)據(jù)庫,RMAN可以用來備份和恢復(fù)數(shù)據(jù)庫文件、歸檔日志、控制文件、系統(tǒng)參數(shù)文件,也可以用來執(zhí)行完全或不完全的數(shù)據(jù)庫恢復(fù)。RMAlNt三種不同的用戶接口:COMMANDNE方式、GUI方式(集成在OEM中的備份管理器)、API方式(用于集成到第三方的備份軟件
33、中)。具有如下特點(diǎn):1)功能類似物理備份,但比物理備份強(qiáng)大N倍;2)可以壓縮空塊;3)可以在塊水平上實(shí)現(xiàn)增量;4)可以把備份的輸出打包成備份集,也可以按固定大小分割備份集;5)備份與恢復(fù)的過程可以自動(dòng)管理;6)可以使用腳本(存在Recoverycatalog中)7)可以做壞塊監(jiān)測5 standby的特點(diǎn)備用數(shù)據(jù)庫(standbydatabase):ORACLE!出的一種高可用性(HIGHAVAILABLE)數(shù)據(jù)庫方案,在主節(jié)點(diǎn)與備用節(jié)點(diǎn)間通過日志同步來保證數(shù)據(jù)的同步,備用節(jié)點(diǎn)作為主節(jié)點(diǎn)的備份,可以實(shí)現(xiàn)快速切換與災(zāi)難性恢復(fù),從920開始,還開始支持物理與邏輯備用服務(wù)器。9i中的三種數(shù)據(jù)保護(hù)模式分
34、別是:1)、MAXIMIZEPROTECTION最大數(shù)據(jù)保護(hù)與無數(shù)據(jù)分歧,LGWR同時(shí)傳送到備用節(jié)點(diǎn),在主節(jié)點(diǎn)事務(wù)確認(rèn)之前,備用節(jié)點(diǎn)也必須完全收到日志數(shù)據(jù)。如果網(wǎng)絡(luò)不好,引起LGW即能傳送數(shù)據(jù),將引起嚴(yán)重的性能問題,導(dǎo)致主節(jié)點(diǎn)DOWN機(jī)。2)、MAXIMIZEWAILABILITY:無數(shù)據(jù)丟失模式,允許數(shù)據(jù)分歧,允許異步傳送。正常情況下運(yùn)行在最大保護(hù)模式,在主節(jié)點(diǎn)與備用節(jié)點(diǎn)的網(wǎng)絡(luò)斷開或連接不正常時(shí),自動(dòng)切換到最大性能模式,主節(jié)點(diǎn)的操作還是可以繼續(xù)的。在網(wǎng)絡(luò)不好的情況下有較大的性能影響。3)、MAXIMIZEPERFORMANCE種模式應(yīng)當(dāng)可以說是從8i繼承過來的備用服務(wù)器模式,異步傳送,無數(shù)據(jù)
35、同步檢查,可能丟失數(shù)據(jù),但是能獲得主節(jié)點(diǎn)的最大性能。9i在配置DATAGUARD時(shí)候默認(rèn)就是MAXIMIZEPERFORMANCE6對于一個(gè)要求恢復(fù)時(shí)間比較短的系統(tǒng)(數(shù)據(jù)庫50G,每天歸檔5G),你如何設(shè)計(jì)備份策略數(shù)據(jù)庫比較大邏輯備份沒什么必要,每天歸檔5G每周三/周六自動(dòng)歸檔10G每月RMAI®檔全庫。應(yīng)該有standby。rman/每月一號level0每周末/周三level1其它每天level2四:系統(tǒng)管理類1 .對于一個(gè)存在系統(tǒng)性能的系統(tǒng),說出你的診斷處理思路做statspack收集系統(tǒng)相關(guān)信息了解系統(tǒng)大致情況/確定是否存在參數(shù)設(shè)置不合適的地方/查看top5event/查看to
36、psql等查v$system_event/v$session_event/v$session_wait從v$system_event開始,確定需要什么資源(dbfilesequentialread)等,深入研究v$session_event,確定等待事件涉及的會(huì)話,從v$session_wait確定詳細(xì)的資源爭用情況(p1-p3的值file_id/block_id/blocks等)通過v$sql/v$sqltext/v$sqlarea表確定disk_reads、(buffer_gets/executions)值較大的SQL2 .列辛幾種診斷IO、CPU性能狀況的方法topuptimevmsta
37、tiostatstatspacksql_trace/tkprof查v$system_event/v$session_event/v$session_wait查v$sqlarea(disk_reads或buffer_gets/executions較大的SQL)或者第三方的監(jiān)視工具,TOADft不錯(cuò)。3 .對statspack有何認(rèn)識認(rèn)識不深。僅限了解。StapSpack是Oracle公司提供的一個(gè)收集數(shù)據(jù)庫運(yùn)行性能指標(biāo)的軟件包??梢宰鰯?shù)據(jù)庫健康檢查報(bào)告。StapSpack是Oracle公司提供的一個(gè)收集數(shù)據(jù)庫運(yùn)行性能指標(biāo)的軟件包,該軟件包從8i起,在9i、10g都有顯著的增強(qiáng)該軟件包的輔助表(存
38、儲(chǔ)相關(guān)參數(shù)與收集的性能指標(biāo)的表)由最初的25個(gè)增長到43個(gè)收集級別參數(shù)由原來的3個(gè)(0、5、10)增加到5個(gè)(0、5、6、7、10)通過分析收集的性能指標(biāo),數(shù)據(jù)庫管理員可以詳細(xì)地了解數(shù)據(jù)庫目前的運(yùn)行情況,對數(shù)據(jù)庫實(shí)例、等待事件、SQ導(dǎo)進(jìn)行優(yōu)化調(diào)整利用statspack收集的snapshot,可以統(tǒng)計(jì)制作數(shù)據(jù)庫的各種性能指標(biāo)的統(tǒng)計(jì)趨勢圖表。4 .如果系統(tǒng)現(xiàn)在需要在一個(gè)很大的表上創(chuàng)建一個(gè)索引,你會(huì)考慮那些因素,如何做以盡量減小對應(yīng)用的影響可以先表分析一下,然后測試創(chuàng)建索引前后對應(yīng)用的性能影響;需要考慮的是該索引列不經(jīng)常更新,不是有很多重復(fù)值的情況時(shí),在大表中使用索引特別有效.創(chuàng)建的索引可以跟數(shù)據(jù)表
39、分不同表空間存儲(chǔ)。在系統(tǒng)比較空閑時(shí)nologging選項(xiàng)(如果有dataguard則不可以使用nologging)大的sort_ared_size或pga_aggregate_target較大5 .對raid10和raid5有何認(rèn)識RAID10(或稱RAID10)與RAID01不同,它是用硬盤驅(qū)動(dòng)器先組成RAID1陣列,然后在RAID1陣列之間再組成RAID0陣列。RAID10模式同RAID0+1模式一樣具有良好的數(shù)據(jù)傳輸性能,但卻比RAID0+1具有更高的可靠性。RAID10陣列的實(shí)際容量為M<n/2,磁盤利用率為50%。RAID10也需要至少4個(gè)硬盤驅(qū)動(dòng)器構(gòu)成,因而價(jià)格昂貴。RAID
40、10的可靠性同RAID1一樣,但由于RAID10硬盤驅(qū)動(dòng)器之間有數(shù)據(jù)分割,因而數(shù)據(jù)傳輸性能優(yōu)良。RAID5與RAID3很相似,不同之處在于RAID5的奇偶校驗(yàn)信息也同數(shù)據(jù)一樣被分割保存到所有的硬盤驅(qū)動(dòng)器,而不是寫入一個(gè)指定的硬盤驅(qū)動(dòng)器,從而消除了單個(gè)奇偶校驗(yàn)硬盤驅(qū)動(dòng)器的瓶頸問題。RAID5磁盤陣列的性能比RAID3有所提高,但仍然需要至少3塊硬盤驅(qū)動(dòng)器。其實(shí)際容量為MX(n-1),磁盤利用率為(n-1)/n。五:綜合隨意類1. 你最擅長的是oracle哪部分pl/sql及sql優(yōu)化2. 喜歡oracle嗎喜歡上論壇嗎或者偏好oracle的哪一部分喜歡。PL/SQL比較得心應(yīng)手。3. 隨意說說你
41、覺得oracle最有意思的部分或者最困難的部分我對數(shù)據(jù)庫的備份/恢復(fù)和性能調(diào)優(yōu)經(jīng)驗(yàn)明顯不足,自然覺得有些困難?;贠RACL的研究應(yīng)該是個(gè)寬廣的領(lǐng)域,所以我覺得還是有意思的。4. 為何要選擇做DBA呢我對數(shù)據(jù)庫的備份/恢復(fù)和性能調(diào)優(yōu)經(jīng)驗(yàn)明顯不足,主要是缺乏環(huán)境和交流。因此,算不上什么DBA不過因此我更需要這樣的機(jī)會(huì)。不過就整個(gè)ORACL也說,一直從事與它相關(guān)的工作,感情還是頗深的。放棄可惜。而且就技術(shù)本身而言我覺得自己還是有學(xué)習(xí)和創(chuàng)新的能力,它的諸如數(shù)據(jù)倉庫,數(shù)據(jù)挖掘之類的領(lǐng)域也很廣。六:DatabasesQuestions&Answers1. Whataretwomethodsofr
42、etrievingSQL2. Whatcursortypedoyouusetoretrievemultiplerecordsets3. WhatactiondoyouhavetoperformbeforeretrievingdatafromthenextresultsetofastoredprocedureMovethecursordownonerowfromitscurrentposition.AResultSetcursorisinitiallypositionedbeforethefirstrow.Beforeyoucangettothefirstrow,youwouldneedtoMo
43、vethecursordownbyonerow(Forex:injavathefirstcalltonextmakesthefirstrowthecurrentrow;thesecondcallmakesthesecondrowthecurrentrow,andsoon).4. WhatisthebasicformofaSQLstatementtoreaddataoutofatableSELECT*FROMtable_name;5. WhatstructurecanyouhavethedatabasemaketospeeduptablereadsThequestionisnotcorrect.
44、“Whatstructurecanyouhavethedatabasemaketospeeduptablereads”Itisnotclearwhatexactlytheterm“structure”meansinthiscase.FollowtherulesofDBtuningwehaveto:1) properlyuseindexes(differenttypesofindexes)2) properlylocatedifferentDBobjectsacrossdifferenttablespaces,filesandsoon.3) Createaspecialspace(tablesp
45、ace)tolocatesomeofthedatawithspecialdatatypes(forexampleCLOB,LOBand)6. Whatisa“join”Joinsmergethedataoftworelatedtablesintoasingleresultset,presentingadenormalizedviewofthedata.7. Whatisa“constraint”Aconstraintallowsyoutoapplysimplereferentialintegritycheckstoatable.Thereare5primarytypesofconstraint
46、sthatarecurrentlysupportedbySQLServer:PRIMARY/UNIQUEenforcesuniquenessofaparticulartablecolumn.DEFAULFspecifiesadefaultvalueforacolumnincaseaninsertoperationdoesnotprovideone.FOREIGNKEY-validatesthateveryvalueinacolumnexistsinacolumnofanothertable.CHECK-checksthateveryvaluestoredinacolumnisinsomespe
47、cifiedlistNOTNULLisaconstraintwhichdoesnotallowvaluesinthespecificcolumntobenull.Andalsoitistheonlyconstraintwhichisnotatablelevelconstraint.8. Whatisa“primarykey”PrimaryKeyisatypeofaconstraintenforcinguniquenessanddataintegrityforeachrowofatable.Allcolumnsparticipatinginaprimarykeyconstraintmustpos
48、sesstheNOTNULLproperty.9. Whatisa“functionaldependency”HowdoesitrelatetodatabasetabledesignWhatfunctionaldependenceinthecontextofadatabasemeansisthat:AssumethatatableexistsinthedatabasecalledTABLEwithacompositeprimarykey(A,B)andothernon-keyattributes(C,D,E).Functionaldependencyingeneral,wouldmeantha
49、tanynon-keyattribute-CDorEbeingdependentontheprimarykey(AandB)inourtablehere.Partialfunctionaldependency,ontheotherhand,isanothercorollaryoftheabove,whichstatesthatallnon-keyattributes-CDorE-ifdependentonthesubsetoftheprimarykey(AandB)andnotonitasawhole.Example:FullyFunctionalDependent:CDE->ABPar
50、tialFunctionaldependency:C->A,DE->BHopethathelps!10. Whatisa“trigger”Atriggerisadatabaseobjectdirectlyassociatedwithaparticulartable.Itfireswheneveraspecificstatement/typeofstatementisissuedagainstthattable.Thetypesofstatementsareinsert,update,deleteandquerystatements.Basically,triggerisasetof
51、SQLstatementsthatexecuteinresponsetoadatamodification/retrievaleventonatable.Otherthantabletriggerstherearealsoschemaanddatabasetriggers.Thesecanbemadetofirewhennewobjectsarecreated,whenauserlogsin,whenthedatabaseshutdownetc.Tableleveltriggerscanbeclassifiedintorowandstatementleveltriggersandthoseca
52、nbefurtherbrokendownintobeforeandaftertriggers.Beforetriggerscanmodifydata.11. Whatis“indexcovering”ofaqueryAnonclusteredindexthatincludes(orcovers)allcolumnsusedinaqueryiscalledacoveringindex.WhenSQLservercanuseanonclusteredindextoresolvethequery,itwillprefertoscantheindexratherthanthetable,whichty
53、picallytakesfewerdatapages.Ifyourqueryusesonlycolumnsincludedintheindex,thenSQLservermayscanthisindextoproducethedesiredoutput.12. WhatisaSQLviewViewisaprecompliedSQLquerywhichisusedtoselectdatafromoneormoretables.Aviewislikeatablebutitdoesntphysicallytakeanyspace.Viewisagoodwaytopresentdatainaparti
54、cularformatifyouusethatqueryquiteoften.Viewcanalsobeusedtorestrictusersfromaccessingthetablesdirectly.Aviewotherwiseknownasavirtualtableisamerewindowoverthebasetablesinthedatabase.Thishelpsusgainacoupleofadvantages:1)Inherentsecurityexposingonlythedatathatisneededtobeshowntotheenduser2) Viewsareupda
55、teablebasedoncertainconditions.Forexample,updatescanonlybedirectedtooneunderlyingtableoftheview.Aftermodificationiftherowsorcolumnsdontcomplywiththeconditionsthattheviewwascreatedwith,thoserowsdisappearfromtheview.YoucouldusetheCHECKOPTIONwiththeviewdefinition,tomakesurethatanyupdatestomaketherowsin
56、validwillnotbepermittedtorun.3) Viewsarenotmaterialized(givenaphysicalstructure)inadatabase.Eachtimeaviewisqueriedthedefinitionstoredinthedatabaseisrunagainstthebasetablestoretrievethedata.Oneexceptiontothisistocreateaclusteredindexontheviewtomakeitpersistentinthedatabase.Onceyoucreateaclusteredinde
57、xontheview,youcancreateanynumberofnon-clusteredindexesontheview.13. 存儲(chǔ)過程和函數(shù)的區(qū)別存儲(chǔ)過程是用戶定義的一系列sql語句的集合,涉及特定表或其它對象的任務(wù),用戶可以調(diào)用存儲(chǔ)過程,而函數(shù)通常是數(shù)據(jù)庫已定義的方法,它接收參數(shù)并返回某種類型的值并且不涉及特定用戶表。14. 事務(wù)是什么事務(wù)是作為一個(gè)邏輯單元執(zhí)行的一系列操作,一個(gè)邏輯工作單元必須有四個(gè)屬性,稱為ACID(原子性、一致性、隔離性和持久性)屬性,只有這樣才能成為一個(gè)事務(wù):原子性:事務(wù)必須是原子工作單元;對于其數(shù)據(jù)修改,要么全都執(zhí)行,要么全都不執(zhí)行。一致性:事務(wù)在完成時(shí),必
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 第2.6講 指數(shù)與指數(shù)函數(shù)(解析版)-2024年高考數(shù)學(xué)一輪復(fù)習(xí)精講精練寶典(新高考專用)
- 浙教版2023小學(xué)信息技術(shù)六年級上冊《算法的多樣性》教學(xué)設(shè)計(jì)及反思
- (一模)萍鄉(xiāng)市2025年高三第一次模擬考試歷史試卷(含答案解析)
- 2025年B2B營銷業(yè)務(wù) AI提示詞手冊
- 陶瓷攔水帶施工方案
- 高樓地鐵隧道施工方案
- 砂漿基礎(chǔ)知識培訓(xùn)課件
- 2025年山東聊城高三一模高考數(shù)學(xué)試卷試題(含答案詳解)
- 2025年藥具科技工作培訓(xùn)標(biāo)準(zhǔn)教案
- 寫贈(zèng)予房產(chǎn)合同范例
- 2024-2025學(xué)年第二學(xué)期天域全國名校協(xié)作體高三3月聯(lián)考 地理試卷(含答案)
- 修理木橋施工合同范本
- 學(xué)校2025年每日兩小時(shí)體育活動(dòng)方案-陽光體育活力四溢
- 錘擊式PHC預(yù)應(yīng)力混凝土管樁貫入度的控制
- 新教科版一年級科學(xué)下冊第一單元第6課《哪個(gè)流動(dòng)得快》課件
- 屋面種植土垂直施工方案
- 2025年新人教PEP版英語三年級下冊全冊課時(shí)練習(xí)
- 《愛耳日課件》課件
- 2024年安徽中醫(yī)藥高等??茖W(xué)校高職單招職業(yè)適應(yīng)性測試歷年參考題庫含答案解析
- GB/T 45107-2024表土剝離及其再利用技術(shù)要求
- 2025年保密工作計(jì)劃(3篇)
評論
0/150
提交評論