




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
數(shù)據(jù)庫基礎(chǔ)(面試常見題)一、數(shù)據(jù)庫基礎(chǔ)1.數(shù)據(jù)抽象:物理抽象、概念抽象、視圖級抽象,內(nèi)模式、模式、外模式2.SQQL語言言包括數(shù)數(shù)據(jù)定義義、數(shù)據(jù)據(jù)操縱((DattaMManiipullatiion)),數(shù)據(jù)據(jù)控制((DattaCConttroll)數(shù)據(jù)定義::CreeateeTaablee,AllterrTaablee,DrropTabble,,Crraette/DDroppInndexx等數(shù)據(jù)操縱::Sellectt,iinseert,,upddatee,deelette,數(shù)據(jù)控制::graant,,revvokee3.SQQL常用用命令::CREATTETTABLLESStuddentt(IDNUUMBEERPPRIMMARYYKEEY,NAMEVARRCHAAR2((50))NOOTNNULLL);///建表表CREATTEVVIEWWviiew__nammeAASSelecct**FRROMTabble__namme;///建視視圖CreatteUUNIQQUEINDDEXinddex__nammeOONTTablleNaame((coll_naame));///建索引引INSERRTIINTOOtaableenamme{{collumnn1,ccoluumn22,…}}vaaluees(eexp11,exxp2,,…);;//插插入INSERRTIINTOOViiewnnamee{ccoluumn11,coolummn2,,…}valluess(exxp1,,expp2,……);///插入入視圖實實際影響響表UPDATTEttabllenaameSETTnaame==’zaang3’conndittionn;///更新數(shù)數(shù)據(jù)DELETTEFFROMMTaableenammeWWHERREccondditiion;;//刪刪除GRANTT(SSeleect,,delletee,…))ONN(對對象)TOUSEER_NNAMEE[WWITHHGRRANTTOPPTIOON];;//授授權(quán)REVOKKE((權(quán)限表表)OON(對對象)FROOMUUSERR_NAAME[WIITHREVVOKEEOPPTIOON]//撤撤權(quán)列出工作人人員及其其領(lǐng)導的的名字::SelecctEE.NAAME,,S..NAMMEFFROMMEMMPLOOYEEEESWHEREEE..SUPPERNNamee=S..Namme4.視圖圖:5.完整整性約束束:實體體完整性性、參照照完整性性、用戶戶定義完完整性6.第三三范式::1NF:每每個屬性性是不可可分的。2NFF:若關(guān)關(guān)系R是是1NFF,且每每個非主主屬性都都完全函函數(shù)依賴賴于R的的鍵。例例SLCC(SIID#,,CoourcceIDD#,SNAAME,,Graade)),則不不是2NNF;3NFF:若RR是2NNF,且且它的任任何非鍵鍵屬性都都不傳遞遞依賴于于任何候候選鍵。7.ERR(實體體/聯(lián)系系)模型型8.索引引作用9.事務務:是一一系列的的數(shù)據(jù)庫庫操作,是是數(shù)據(jù)庫庫應用的的基本邏邏輯單位位。事務務性質(zhì)::原子性性、?原子性性。即不不可分割割性,事事務要么么全部被被執(zhí)行,要要么就全全部不被被執(zhí)行。?一致性性或可串串性。事事務的執(zhí)執(zhí)行使得得數(shù)據(jù)庫庫從一種種正確狀狀態(tài)轉(zhuǎn)換換成另一一種正確確狀態(tài)?隔離性性。在事事務正確確提交之之前,不不允許把把該事務務對數(shù)據(jù)據(jù)的任何何改變提提供給任任何其他他事務,?持久性性。事務務正確提提交后,其其結(jié)果將將永久保保存在數(shù)數(shù)據(jù)庫中中,即使使在事務務提交后后有了其其他故障障,事務務的處理理結(jié)果也也會得到到保存。10.鎖鎖:共享享鎖、互互斥鎖兩段鎖協(xié)議議:階段段1:加加鎖階段段階段段2:解解鎖階段段11.死死鎖及處處理:事事務循環(huán)環(huán)等待數(shù)數(shù)據(jù)鎖,則則會死鎖鎖。死鎖處理::預防死死鎖協(xié)議議,死鎖鎖恢復機機制12.存存儲過程程:存儲儲過程就就是編譯譯好了的的一些ssql語語句。1.存儲過過程因為為SQLL語句已已經(jīng)預編編繹過了了,因此此運行的的速度比比較快。2.可保保證數(shù)據(jù)據(jù)的安全全性和完完整性。通通過存儲儲過程可可以使沒沒有權(quán)限限的用戶戶在控制制之下間間接地存存取數(shù)據(jù)據(jù)庫,從從而保證證數(shù)據(jù)的的安全。通通過存儲儲過程可可以使相相關(guān)的動動作在一一起發(fā)生生,從而而可以維維護數(shù)據(jù)據(jù)庫的完完整性。3.可以降降低網(wǎng)絡(luò)絡(luò)的通信信量。存存儲過程程主要是是在服務務器上運運行,減減少對客客戶機的的壓力。4:存儲過過程可以以接受參參數(shù)、輸輸出參數(shù)數(shù)、返回回單個或或多個結(jié)結(jié)果集以以及返回回值??煽梢韵虺坛绦蚍祷鼗劐e誤原原因5:存儲過過程可以以包含程程序流、邏邏輯以及及對數(shù)據(jù)據(jù)庫的查查詢。同同時可以以實體封封裝和隱隱藏了數(shù)數(shù)據(jù)邏輯輯。
13.觸觸發(fā)器::當滿滿足觸發(fā)發(fā)器條件件,則系系統(tǒng)自動動執(zhí)行觸觸發(fā)器的的觸發(fā)體體。觸發(fā)時間::有beeforre,aafteer.觸觸發(fā)事件件:有iinseert,,upddatee,deelette三種種。觸發(fā)發(fā)類型::有行觸觸發(fā)、語語句觸發(fā)發(fā)14.內(nèi)聯(lián)聯(lián)接,外外聯(lián)接區(qū)區(qū)別?內(nèi)連接是保保證兩個個表中所所有的行行都要滿滿足連接接條件,而而外連接接則不然然。在外連接中中,某些些不滿條條件的列列也會顯顯示出來來,也就就是說,只只限制其其中一個個表的行行,而不不限制另另一個表表的行。分分左連接接、右連連接、全全連接三三種
SQL試題題2
一、教師號星期號號是否否有課12有有13有有21有有32有有`12有有寫一條sqql語句句讓你變變?yōu)檫@樣樣的表教師號星星期一星期二二星期期三12112131各星期下的的數(shù)字表表示:對對應的教教師在星星期幾已已經(jīng)排的的課數(shù)
二、書表(boookss)book__id,,boook_nnamee,crreattdatte,LLasttmoddifyydatte,ddecrripttionn001,三三個人的的世界,,20005-002-002,220055-077-077,NUULL作者表(aauthhorss)A_id,,A_nnamee01,王紛紛02,李尚尚03,泰和和部門表(ddeptts)d_id,,d_nnamee001,編編輯一部部002,編編輯二部部003,編編輯三部部書和作者關(guān)關(guān)聯(lián)表((boookmaap)book__id,,A_iid001,001001,002001,003部門和作者者關(guān)聯(lián)表表(deepmaap)d_id,,a_iid001,001002,002003,003找出每個部部門的所所寫的總總書兩,,比如,,一本書書有3個個人寫,,如果三三個人在在不同的的部門,,則每個個部門的的總數(shù)量量就是11.最后后結(jié)果如如下:部門,書量量編輯一部,,1編輯二部,,1編輯三部,,1三、兩個表情況況表名:wuu_pllanID
plaan
moodell
coorp__codde
plaannuum
priixiss1
000001
exxx222
nokkia
20000
002
000002
lcc0011
sonny
30000
00表名:wuu_boomID
pplann
paact
amoountt
1
0000001
aaa1
30002
0000001
aaa2
20003
0000002
bbb1
50004
0000002
bbb2
80005
0000002
bbb3
4000查詢這兩個個表中pplann唯一,每每一個pplann中,aamouunt最最少的,pplannnumm大于pprixxis的的記錄結(jié)果是:ID
plaan
moodell
coorp__codde
plaannuum
priixiss
ppactt
amoountt1
000001
exxx222
nokkia
20000
00
a22
20002
000002
lcc0011
sonny
30000
00
bbb3
4000四、表1結(jié)構(gòu)如如下:部門條碼碼品名名銷售售額銷銷售數(shù)量量銷售售日期表2結(jié)構(gòu)如如下課別部門門要求:先按按部門排排序,再再按銷售售額、銷銷售數(shù)量量排序檢檢索出某某個課別別每個部部門一個個時期內(nèi)內(nèi)的商品品銷售額額的前三三名,如如查詢001課別別20007年44月155日到220077年4月月22日日每個部部門一個個周內(nèi)的的商品銷銷售額合合計的前前三名
SQL面面試題目目匯總1.觸發(fā)器器的作用用?
答:觸觸發(fā)器是是一中特特殊的存存儲過程程,主要要是通過過事件來來觸發(fā)而而被執(zhí)行行的。它它可以強強化約束束,來維維護數(shù)據(jù)據(jù)的完整整性和一一致性,可可以跟蹤蹤數(shù)據(jù)庫庫內(nèi)的操操作從而而不允許許未經(jīng)許許可的更更新和變變化。可可以聯(lián)級級運算。如如,某表表上的觸觸發(fā)器上上包含對對另一個個表的數(shù)數(shù)據(jù)操作作,而該該操作又又會導致致該表觸觸發(fā)器被被觸發(fā)。2。什么是是存儲過過程?用用什么來來調(diào)用??答:存儲過過程是一一個預編編譯的SSQL語語句,優(yōu)優(yōu)點是允允許模塊塊化的設(shè)設(shè)計,就就是說只只需創(chuàng)建建一次,以以后在該該程序中中就可以以調(diào)用多多次。如如果某次次操作需需要執(zhí)行行多次SSQL,使使用存儲儲過程比比單純SSQL語語句執(zhí)行行要快??煽梢杂靡灰粋€命令令對象來來調(diào)用存存儲過程程。3。索引的的作用??和它的的優(yōu)點缺缺點是什什么?答:索引就就一種特特殊的查查詢表,數(shù)數(shù)據(jù)庫的的搜索引引擎可以以利用它它加速對對數(shù)據(jù)的的檢索。它它很類似似與現(xiàn)實實生活中中書的目目錄,不不需要查查詢整本本書內(nèi)容容就可以以找到想想要的數(shù)數(shù)據(jù)。索索引可以以是唯一一的,創(chuàng)創(chuàng)建索引引允許指指定單個個列或者者是多個個列。缺缺點是它它減慢了了數(shù)據(jù)錄錄入的速速度,同同時也增增加了數(shù)數(shù)據(jù)庫的的尺寸大大小。3。什么是是內(nèi)存泄泄漏?答:一般我我們所說說的內(nèi)存存泄漏指指的是堆堆內(nèi)存的的泄漏。堆堆內(nèi)存是是程序從從堆中為為其分配配的,大大小任意意的,使使用完后后要顯示示釋放內(nèi)內(nèi)存。當當應用程程序用關(guān)關(guān)鍵字nnew等等創(chuàng)建對對象時,就就從堆中中為它分分配一塊塊內(nèi)存,使使用完后后程序調(diào)調(diào)用frree或或者deelette釋放放該內(nèi)存存,否則則就說該該內(nèi)存就就不能被被使用,我我們就說說該內(nèi)存存被泄漏漏了。4。維護數(shù)數(shù)據(jù)庫的的完整性性和一致致性,你你喜歡用用觸發(fā)器器還是自自寫業(yè)務務邏輯??為什么么?答:我是這這樣做的的,盡可可能使用用約束,如如cheeck,,主鍵,外外鍵,非非空字段段等來約約束,這這樣做效效率最高高,也最最方便。其其次是使使用觸發(fā)發(fā)器,這這種方法法可以保保證,無無論什么么業(yè)務系系統(tǒng)訪問問數(shù)據(jù)庫庫都可以以保證數(shù)數(shù)據(jù)的完完整新和和一致性性。最后后考慮的的是自寫寫業(yè)務邏邏輯,但但這樣做做麻煩,編編程復雜雜,效率率低下。5。什么是是事務??什么是是鎖?答:事務就就是被綁綁定在一一起作為為一個邏邏輯工作作單元的的SQLL語句分分組,如如果任何何一個語語句操作作失敗那那么整個個操作就就被失敗敗,以后后操作就就會回滾滾到操作作前狀態(tài)態(tài),或者者是上有有個節(jié)點點。為了了確保要要么執(zhí)行行,要么么不執(zhí)行行,就可可以使用用事務。要要將有組組語句作作為事務務考慮,就就需要通通過ACCID測測試,即即原子性性,一致致性,隔隔離性和和持久性性。
鎖:在在所以的的DBMMS中,鎖鎖是實現(xiàn)現(xiàn)事務的的關(guān)鍵,鎖鎖可以保保證事務務的完整整性和并并發(fā)性。與與現(xiàn)實生生活中鎖鎖一樣,它它可以使使某些數(shù)數(shù)據(jù)的擁擁有者,在在某段時時間內(nèi)不不能使用用某些數(shù)數(shù)據(jù)或數(shù)數(shù)據(jù)結(jié)構(gòu)構(gòu)。當然然鎖還分分級別的的。6。什么叫叫視圖??游標是是什么??答:視圖是是一種虛虛擬的表表,具有有和物理理表相同同的功能能??梢砸詫σ晥D圖進行增增,改,查查,操作作,試圖圖通常是是有一個個表或者者多個表表的行或或列的子子集。對對視圖的的修改不不影響基基本表。它它使得我我們獲取取數(shù)據(jù)更更容易,相相比多表表查詢。
游標::是對查查詢出來來的結(jié)果果集作為為一個單單元來有有效的處處理。游游標可以以定在該該單元中中的特定定行,從從結(jié)果集集的當前前行檢索索一行或或多行??煽梢詫Y(jié)結(jié)果集當當前行做做修改。一一般不使使用游標標,但是是需要逐逐條處理理數(shù)據(jù)的的時候,游游標顯得得十分重重要。7。為管理理業(yè)務培培訓信息息,建立立3個表表:
S(SS#,SSN,SSD,SSA)SS#,SSN,SSD,SSA分別別代表學學號,學學員姓名名,所屬屬單位,學學員年齡齡
C(CC#,CCN)CC#,CCN分別別代表課課程編號號,課程程名稱
SCC(S##,C##,G))S##,C##,G分分別代表表學號,所所選的課課程編號號,學習習成績
(11)使用用標準SSQL嵌嵌套語句句查詢選選修課程程名稱為為’稅收收基礎(chǔ)’’的學員員學號和和姓名??
答答案:sseleects#,snnfrromswwherreSS#iin(sseleectS#froomcc,sccwhhereec..c#==sc..c#anddcnn=’稅稅收基礎(chǔ)礎(chǔ)’)
(22)使使用標準準SQLL嵌套語語句查詢詢選修課課程編號號為’CC2’的的學員姓姓名和所所屬單位位?答:sellecttsnn,sddfrroms,sscwwherress.s##=scc.s##anndssc.cc#=’’c2’’
(33)使使用標準準SQLL嵌套語語句查詢詢不選修修課程編編號為’’C5’’的學員員姓名和和所屬單單位?答:sellecttsnn,sddfrromswwherress#nnotin((sellectts##frromscwheerec#==’c55’)
((4)查查詢選修修了課程程的學員員人數(shù)答:sellectt學員員人數(shù)==couunt((disstinncts#))frromsc
((5)查詢選選修課程程超過55門的學學員學號號和所屬屬單位??答:sellecttsnn,sddfrromswwherress#iin(sseleects#froomsscggrouupbbyss#hhaviingcouunt((disstinnctc#))>5))目前在職場場中很難難找到非非常合格格的數(shù)據(jù)據(jù)庫開發(fā)發(fā)人員。有有人說::“SQQL開發(fā)發(fā)是一門門語言,它它很容易易學,但但是很難難掌握?!比A為htttp:///t/sqql-119811.httml在面試過程程中多次次碰到兩兩道SQQL查詢詢的題目目,一是是查詢AA(IDD,Naame))表中第第31至至40條條記錄,IID作為為主鍵可可能是不不是連續(xù)續(xù)增長的的列,完完整的查查詢語句句如下::
selecctttop10*ffrommAwheereID>(sseleectmaxx(IDD)ffromm(sseleecttopp300IDDfrromAoordeerbbyAA)T)ordderbyA
另外一道題題目的要要求是查查詢表AA中存在在ID重重復三次次以上的的記錄,,完整的的查詢語語句如下下:selecct**frrom((sellecttcoountt(IDD)aasccounntffrommtaableegrrouppbyyIDD)TwheereT.ccounnt>33
以上兩道題題目非常常有代表表意義,望望各位把把自己碰碰到的有有代表的的查詢都都貼上來來。creattettabllettestttabble11(idinntIIDENNTITTY,deparrtmeentvarrchaar(112))selecct**frromtessttaablee1inserrtiintooteestttablle1valluess('設(shè)設(shè)計'))inserrtiintooteestttablle1valluess('市市場'))inserrtiintooteestttablle1valluess('售售后'))/*結(jié)果iddeeparrtmeent1
設(shè)設(shè)計2
市市場3
售售后*/creattettabllettestttabble22(idinntIIDENNTITTY,dptIDDinnt,namevarrchaar(112))inserrtiintooteestttablle2valluess(1,,'張三三')inserrtiintooteestttablle2valluess(1,,'李四四')inserrtiintooteestttablle2valluess(2,,'王五五')inserrtiintooteestttablle2valluess(3,,'彭六六')inserrtiintooteestttablle2valluess(4,,'陳七七')/*用一條SQQL語句句,怎么么顯示如如下結(jié)果果iddpptIDDdeeparrtmeentnamme1
11
設(shè)計
張三三2
11
設(shè)計
李四四3
22
市場
王五五4
33
售后
彭六六5
44
黑人
陳七七*/答案是:SELECCTttestttabble22.*,IISNUULL((depparttmennt,''黑人'')FROMtessttaablee1rrighhtjjoinnteestttablle2ontessttaablee2.ddptIID==teestttablle1..ID在面試應聘聘的SQQLSServver數(shù)數(shù)據(jù)庫開開發(fā)人員員時,我我運用了了一套標標準的基基準技術(shù)術(shù)問題。下下面這些些問題是是我覺得得能夠真真正有助助于淘汰汰不合格格應聘者者的問題題。它們們按照從從易到難難的順序序排列。當當你問到到關(guān)于主主鍵和外外鍵的問問題時,后后面的問問題都十十分有難難度,因因為答案案可能會會更難解解釋和說說明,尤尤其是在在面試的的情形下下。你能向我簡簡要敘述述一下SSQLSerrverr20000中中使用的的一些數(shù)數(shù)據(jù)庫對對象嗎??你希望聽到到的答案案包括這這樣一些些對象::表格、視視圖、用用戶定義義的函數(shù)數(shù),以及及存儲過過程;如如果他們們還能夠夠提到像像觸發(fā)器器這樣的的對象就就更好了了。如果果應聘者者不能回回答這個個基本的的問題,那那么這不不是一個個好兆頭頭。NULL是是什么意意思?NULL((空)這這個值是是數(shù)據(jù)庫庫世界里里一個非非常難纏纏的東西西,所以以有不少少應聘者者會在這這個問題題上跌跟跟頭您也也不要覺覺得意外外。NULL這這個值表表示UNNKNOOWN((未知)):它不不表示“”((空字符符串)。假假設(shè)您的的SQLLSeerveer數(shù)據(jù)據(jù)庫里有有ANSSI_NNULLLS,當當然在默默認情況況下會有有,對NNULLL這個值值的任何何比較都都會生產(chǎn)產(chǎn)一個NNULLL值。您您不能把把任何值值與一個個UNNKNOOWN值值進行比比較,并并在邏輯輯上希望望獲得一一個答案案。您必必須使用用ISNULLL操作作符。什么是索引引?SQQLSServver20000里有有什么類類型的索索引?任何有經(jīng)驗驗的數(shù)據(jù)據(jù)庫開發(fā)發(fā)人員都都應該能能夠很輕輕易地回回答這個個問題。一一些經(jīng)驗驗不太多多的開發(fā)發(fā)人員能能夠回答答這個問問題,但但是有些些地方會會說不清清楚。簡單地說,索索引是一一個數(shù)據(jù)據(jù)結(jié)構(gòu),用用來快速速訪問數(shù)數(shù)據(jù)庫表表格或者者視圖里里的數(shù)據(jù)據(jù)。在SSQLSerrverr里,它它們有兩兩種形式式:聚集集索引和和非聚集集索引。聚聚集索引引在索引引的葉級級保存數(shù)數(shù)據(jù)。這這意味著著不論聚聚集索引引里有表表格的哪哪個(或或哪些))字段,這這些字段段都會按按順序被被保存在在表格。由由于存在在這種排排序,所所以每個個表格只只會有一一個聚集集索引。非非聚集索索引在索索引的葉葉級有一一個行標標識符。這這個行標標識符是是一個指指向磁盤盤上數(shù)據(jù)據(jù)的指針針。它允允許每個個表格有有多個非非聚集索索引。什么是主鍵鍵?什么么是外鍵鍵?主鍵是表格格里的((一個或或多個))字段,只只用來定定義表格格里的行行;主鍵鍵里的值值總是唯唯一的。外外鍵是一一個用來來建立兩兩個表格格之間關(guān)關(guān)系的約約束。這這種關(guān)系系一般都都涉及一一個表格格里的主主鍵字段段與另外外一個表表格(盡盡管可能能是同一一個表格格)里的的一系列列相連的的字段。那那么這些些相連的的字段就就是外鍵鍵。什么是觸發(fā)發(fā)器?SSQLSerrverr20000有有什么不不同類型型的觸發(fā)發(fā)器?讓未來的數(shù)數(shù)據(jù)庫開開發(fā)人員員知道可可用的觸觸發(fā)器類類型以及及如何實實現(xiàn)它們們是非常常有益的的。觸發(fā)器是一一種專用用類型的的存儲過過程,它它被捆綁綁到SQQLSServver20000的表表格或者者視圖上上。在SSQLSerrverr20000里里,有IINSTTEADD-OFF和AFFTERR兩種觸觸發(fā)器。IINSTTEADD-OFF觸發(fā)器器是替代代數(shù)據(jù)操操控語言言(DaataMannipuulattionnLaanguuagee,DMML)語語句對表表格執(zhí)行行語句的的存儲過過程。例例如,如如果我有有一個用用于TaableeA的IINSTTEADD-OFF-UPPDATTE觸發(fā)發(fā)器,同同時對這這個表格格執(zhí)行一一個更新新語句,那那么INNSTEEAD--OF--UPDDATEE觸發(fā)器器里的代代碼會執(zhí)執(zhí)行,而而不是我我執(zhí)行的的更新語語句則不不會執(zhí)行行操作。AFTERR觸發(fā)器器要在DDML語語句在數(shù)數(shù)據(jù)庫里里使用之之后才執(zhí)執(zhí)行。這這些類型型的觸發(fā)發(fā)器對于于監(jiān)視發(fā)發(fā)生在數(shù)數(shù)據(jù)庫表表格里的的數(shù)據(jù)變變化十分分好用。您如何確一一個帶有有名為FFld11字段的的TabbleBB表格里里只具有有Fldd1字段段里的那那些值,而而這些值值同時在在名為TTablleA的的表格的的Fldd1字段段里?這個與關(guān)系系相關(guān)的的問題有有兩個可可能的答答案。第第一個答答案(而而且是您您希望聽聽到的答答案)是是使用外外鍵限制制。外鍵鍵限制用用來維護護引用的的完整性性。它被被用來確確保表格格里的字字段只保保存有已已經(jīng)在不不同的((或者相相同的))表格里里的另一一個字段段里定義義了的值值。這個個字段就就是候選選鍵(通通常是另另外一個個表格的的主鍵))。另外一種答答案是觸觸發(fā)器。觸觸發(fā)器可可以被用用來保證證以另外外一種方方式實現(xiàn)現(xiàn)與限制制相同的的作用,但但是它非非常難設(shè)設(shè)置與維維護,而而且性能能一般都都很糟糕糕。由于于這個原原因,微微軟建議議開發(fā)人人員使用用外鍵限限制而不不是觸發(fā)發(fā)器來維維護引用用的完整整性。對一個投入入使用的的在線事事務處理理表格有有過多索索引需要要有什么么樣的性性能考慮慮?你正在尋找找進行與與數(shù)據(jù)操操控有關(guān)關(guān)的應聘聘人員。對對一個表表格的索索引越多多,數(shù)據(jù)據(jù)庫引擎擎用來更更新、插插入或者者刪除數(shù)數(shù)據(jù)所需需要的時時間就越越多,因因為在數(shù)數(shù)據(jù)操控控發(fā)生的的時候索索引也必必須要維維護。你可以用什什么來確確保表格格里的字字段只接接受特定定范圍里里的值??這個問題可可以用多多種方式式來回答答,但是是只有一一個答案案是“好好”答案案。您希希望聽到到的回答答是Chheckk限制,它它在數(shù)據(jù)據(jù)庫表格格里被定定義,用用來限制制輸入該該列的值值。觸發(fā)器也可可以被用用來限制制數(shù)據(jù)庫庫表格里里的字段段能夠接接受的值值,但是是這種辦辦法要求求觸發(fā)器器在表格格里被定定義,這這可能會會在某些些情況下下影響到到性能。因因此,微微軟建議議使用CChecck限制制而不是是其他的的方式來來限制域域的完整整性。如果應聘者者能夠正正確地回回答這個個問題,那那么他的的機會就就非常大大了,因因為這表表明他們們具有使使用存儲儲過程的的經(jīng)驗。返回參數(shù)總總是由存存儲過程程返回,它它用來表表示存儲儲過程是是成功還還是失敗敗。返回回參數(shù)總總是INNT數(shù)據(jù)據(jù)類型。OUTPUUT參數(shù)數(shù)明確要要求由開開發(fā)人員員來指定定,它可可以返回回其他類類型的數(shù)數(shù)據(jù),例例如字符符型和數(shù)數(shù)值型的的值。((可以用用作輸出出參數(shù)的的數(shù)據(jù)類類型是有有一些限限制的。))您可以以在一個個存儲過過程里使使用多個個OUTTPUTT參數(shù),而而您只能能夠使用用一個返返回參數(shù)數(shù)。什么是相關(guān)關(guān)子查詢詢?如何何使用這這些查詢詢?經(jīng)驗更加豐豐富的開開發(fā)人員員將能夠夠準確地地描述這這種類型型的查詢詢。相關(guān)子查詢詢是一種種包含子子查詢的的特殊類類型的查查詢。查查詢里包包含的子子查詢會會真正請請求外部部查詢的的值,從從而形成成一個類類似于循循環(huán)的狀狀況。
數(shù)據(jù)庫面試試一:SQLLtuuninng類類1.
列舉舉幾種表表連接方方式Answeer:等等連接(內(nèi)內(nèi)連接)、非非等連接接、自連連接、外外連接(左左、右、全全)Orhaashjoiin/mmerggejjoinn/neestlooop(cclussterrjooin))/inndexxjooin??ORACLLE88i,99i表表連接方方法。一般的相等等連接::seelecct**frroma,bwwherreaa.idd=b.iid;這個就就屬于內(nèi)內(nèi)連接。對于外連接接:Oraclle中可可以使用用“(++)”來來表示,99i可以以使用LLEFTT/RIIGHTT/FUULLOUTTERJOIINLEFTOUTTERJOIIN:左左外關(guān)聯(lián)聯(lián)SELECCTee.laast__namme,e.ddepaartmmentt_idd,dd.deeparrtmeent__nammeFROMempployyeesseLEFTOUTTERJOIINddepaartmmenttsddON(ee.deeparrtmeent__id=dd.deeparrtmeent__id));等價于SELECCTee.laast__namme,e.ddepaartmmentt_idd,dd.deeparrtmeent__nammeFROMempployyeesse,,deeparrtmeentssdWHEREEe..depparttmennt_iid=dd.deeparrtmeent__id((+)結(jié)果為:所所有員工工及對應應部門的的記錄,包包括沒有有對應部部門編號號depparttmennt_iid的員員工記錄錄。RIGHTTOUUTERRJOOIN::右外關(guān)關(guān)聯(lián)SELECCTee.laast__namme,e.ddepaartmmentt_idd,dd.deeparrtmeent__nammeFROMempployyeesseRIGHTTOUUTERRJOOINdepparttmenntsdON(ee.deeparrtmeent__id=dd.deeparrtmeent__id));等價于SELECCTee.laast__namme,e.ddepaartmmentt_idd,dd.deeparrtmeent__nammeFROMempployyeesse,,deeparrtmeentssdWHEREEe..depparttmennt_iid(++)=dd.deeparrtmeent__id結(jié)果為:所所有員工工及對應應部門的的記錄,包包括沒有有任何員員工的部部門記錄錄。FULLOUTTERJOIIN:全全外關(guān)聯(lián)聯(lián)SELECCTee.laast__namme,e.ddepaartmmentt_idd,dd.deeparrtmeent__nammeFROMempployyeesseFULLOUTTERJOIINddepaartmmenttsddON(ee.deeparrtmeent__id=dd.deeparrtmeent__id));結(jié)果為:所所有員工工及對應應部門的的記錄,包包括沒有有對應部部門編號號depparttmennt_iid的員員工記錄錄和沒有有任何員員工的部部門記錄錄。ORACLLE8ii是不直直接支持持完全外外連接的的語法,也也就是說說不能在在左右兩兩個表上上同時加加上(++),下下面是在在ORAACLEE8i可可以參考考的完全全外連接接語法seleccttt1.iid,tt2.iidffrommtaablee1tt1,ttabllett2wwherrett1.iid=tt2.iid(++)unionnseleccttt1.iid,tt2.iidffrommtaablee1tt1,ttabllett2wwherrett1.iid(++)=tt2.iid連接類型定義圖示例子
內(nèi)連接只連接匹配配的行
selecctAA.c11,B..c2froomAAjooinBoonAA.c33=B.cc3;
左外連接包含左邊表表的全部部行(不不管右邊邊的表中中是否存存在與它它們匹配配的行)以以及右邊邊表中全全部匹配配的行
selecctAA.c11,B..c2froomAAleeftjoiinBBonnA..c3=BB.c33;
右外連接包含右邊表表的全部部行(不不管左邊邊的表中中是否存存在與它它們匹配配的行)以以及左邊邊表中全全部匹配配的行
selecctAA.c11,B..c2froomAAriighttjooinBoonAA.c33=B.cc3;
全外連接包含左、右右兩個表表的全部部行,不不管在另另一邊的的表中是是否存在在與它們們匹配的的行
selecctAA.c11,B..c2froomAAfuulljoiinBBonnA..c3=BB.c33;
(thetta)連連接使用等值以以外的條條件來匹匹配左、右右兩個表表中的行行
selecctAA.c11,B..c2froomAAjooinBoonAA.c33!==B..c3;;
交叉連接生成笛卡爾爾積———它不使使用任何何匹配或或者選取取條件,而而是直接接將一個個數(shù)據(jù)源源中的每每個行與與另一個個數(shù)據(jù)源源的每個個行一一一匹配selecctAA.c11,B..c2froomAA,B;;2.
不借借助第三三方工具具,怎樣樣查看ssql的的執(zhí)行計計劃I)使用用ExpplaiinPPlann,查詢詢PLAAN_TTABLLE;
EXXPLAAIN
PPLANN
SEETSSTATTEMEENT__ID=='QUUERYY1'
FOOR
SEELECCT**
FRROMa
WHHEREEaaa=1;;
SEELECCT
ooperratiion,,opptioons,,obbjecct_nnamee,oobjeect__typpe,ID,,paarennt_iid
FFROMMpllan__tabble
WHHEREESTTATEEMENNT_IID=='QQUERRY1''
ORRDERRBYYIDD;II)SQQLPLLUS中中的SEETTTRACCE即即可看到到ExeecuttionnPllanStaatissticcs
SEETAAUTOOTRAACEON;;3.
如何何使用CCBO,,CBOO與RUULE的的區(qū)別
IFF初始始化參數(shù)數(shù)OPPTIMMIZEER_MMODEE=CHOOOSEETHHEN
(88IDDEFAAULTT)
IFF做過過表分析析
THHEN優(yōu)化器器Opptimmizeer=CCBO((COSST);;
//*高效效*/
ELLSE
優(yōu)化化器OOptiimizzer==RBOO(RUULE));
//*高效效*/
ENNDIIF;
ENNDIIF;
區(qū)別別:
RBBO根據(jù)據(jù)規(guī)則選選擇最佳佳執(zhí)行路路徑來運運行查詢詢。
CBBO根據(jù)據(jù)表統(tǒng)計計找到最最低成本本的訪問問數(shù)據(jù)的的方法確確定執(zhí)行行計劃。
使用用CBOO需要注注意:
I))
需要經(jīng)經(jīng)常對表表進行AANALLYZEE命令進進行分析析統(tǒng)計;;
III)需需要穩(wěn)定定執(zhí)行計計劃;
IIII)需需要使用用提示((Hinnt);;
使用用RULLE需要要注意::I)
選擇最最有效率率的表名名順序II)優(yōu)優(yōu)化SQQL的寫寫法;在optiimizzer__modde=cchooose時時,如果果表有統(tǒng)統(tǒng)計信息息(分區(qū)區(qū)表外),,優(yōu)化器器將選擇擇CBOO,否則則選RBBO。RBO遵循循簡單的的分級方方法學,,使用115種級級別要點點,當接接收到查查詢,優(yōu)優(yōu)化器將將評估使使用到的的要點數(shù)數(shù)目,然然后選擇擇最佳級級別(最最少的數(shù)數(shù)量)的的執(zhí)行路路徑來運運行查詢詢。CBO嘗試試找到最最低成本本的訪問問數(shù)據(jù)的的方法,,為了最最大的吞吞吐量或或最快的的初始響響應時間間,計算算使用不不同的執(zhí)執(zhí)行計劃劃的成本本,并選選擇成本本最低的的一個,,關(guān)于表表的數(shù)據(jù)據(jù)內(nèi)容的的統(tǒng)計被被用于確確定執(zhí)行行計劃。4.
如何何定位重重要(消消耗資源源多)的的SQLL使用CPUU多的用用戶seessiionSELECCTaa.SIID,spiid,staatuss,SSUBSSTR(ograam,1,40))prrog,,a..terrminnal,,a.SSQL__TEXXT,osuuserr,VVALUUE//600/1000VAALUEEFROMv$ssesssionna,,v$$proocesssbb,vv$seessttatcWHEREEc..staatissticc#==122ANNDcc.SIID==a..SIDDANNDaa.paaddrr=b.aaddrrORDERRBYYVAALUEEDEESC;;selecctssql__texxtffrommv$$sqllwhereediisk__reaads>t;110000orr(eexeccutiionss&ggt;0aandbuffferr_geets//exeecuttionns&>;3000000);5.
如何何跟蹤某某個seessiion的的SQLL利用TRAACE跟蹤
ALLTERRSEESSIIONSETTSQQLTRRACEEONN;
COOLUMMNSSQLforrmatta2200;;
SEELECCT
mmachhinee,ssql__texxtSSQL
FFROMMv$$sqlltexxtaa,vv$seessiionb
WHHEREEadddreess=ssql__adddresss
ANDDmaachiine=''&A''
ORRDERRBYYhaash__vallue,,piiecee;execdbmms_ssysttem..sett_sqql_ttracce_iin_ssesssionn(siid,sseriial##,&aamp;;sqll_trracee);selecctssid,,serriall#ffrommv$$sesssioonwwherressid=((sellecttsiidffrommv$$mysstattwhhereeroownuum==1));execdbmms_ssysttem..sett_evv(&aamp;;sidd,&aamp;;serriall#,&&p;evventt_1000466,&aamp;;levvel__12,,''));6.
SQQL調(diào)整整最關(guān)注注的是什什么檢查系統(tǒng)的的I/OO問題sar-dd能檢查查整個系系統(tǒng)的iiosttat(IIOsstattistticss)查看該SQQL的rrespponssettimee(dbbbllockkgeets//connsisstenntggetss/phhysiicallreeadss/soortss(ddiskk))7.
說說說你對索索引的認認識(索索引的結(jié)結(jié)構(gòu)、對對dmll影響、對對查詢影影響、為為什么提提高查詢詢性能)索引有B--TREEE、BBIT、CCLUSSTERR等類型型。ORRACLLE使用用了一個個復雜的的自平衡衡B-ttreee結(jié)構(gòu);;通常來來說,在在表上建建立恰當當?shù)乃饕?,查詢詢時會改改進查詢詢性能。但但在進行行插入、刪刪除、修修改時,同同時會進進行索引引的修改改,在性性能上有有一定的的影響。有有索引且且查詢條條件能使使用索引引時,數(shù)數(shù)據(jù)庫會會先度取取索引,根根據(jù)索引引內(nèi)容和和查詢條條件,查查詢出RROWIID,再再根據(jù)RROWIID取出出需要的的數(shù)據(jù)。由由于索引引內(nèi)容通通常比全全表內(nèi)容容要少很很多,因因此通過過先讀索索引,能能減少II/O,提提高查詢詢性能。b-treeeiindeex/bbitmmapinddex//funnctiioninddex//pattitiionaaliindeex(llocaal/gglobbal))索引通通常能提提高seelecct/uupdaate//delletee的性能能,會降降低innserrt的速速度,8.
使用用索引查查詢一定定能提高高查詢的的性能嗎嗎?為什什么通常,通過過索引查查詢數(shù)據(jù)據(jù)比全表表掃描要要快.但但是我們們也必須須注意到到它的代代價.索引需要空空間來存存儲,也也需要定定期維護護,每每當有記記錄在表表中增減減或索引引列被修修改時,,索引本本身也會會被修改改.這這意味著著每條記記錄的IINSEERT,,DELLETEE,UPPDATTE將為為此多付付出4,,5次次的磁盤盤I/OO.因因為索引引需要額額外的存存儲空間間和處理理,那些些不必要要的索引引反而會會使查詢詢反應時時間變慢慢.使用用索引查查詢不一一定能提提高查詢詢性能,,索引范范圍查詢詢(INNDEXXRAANGEESCCAN))適用于于兩種情情況:基于一個范范圍的檢檢索,一一般查詢詢返回結(jié)結(jié)果集小小于表中中記錄數(shù)數(shù)的300%宜采采用;基于非唯一一性索引引的檢索索索引就是為為了提高高查詢性性能而存存在的,,如果在在查詢中中索引沒沒有提高高性能,,只能說說是用錯錯了索引引,或者者講是場場合不同同9.
綁定定變量是是什么??綁定變變量有什什么優(yōu)缺缺點?綁定變量是是指在SSQL語語句中使使用變量量,改變變變量的的值來改改變SQQL語句句的執(zhí)行行結(jié)果。優(yōu)點:使用用綁定變變量,可可以減少少SQLL語句的的解析,能能減少數(shù)數(shù)據(jù)庫引引擎消耗耗在SQQL語句句解析上上的資源源。提高高了編程程效率和和可靠性性。減少少訪問數(shù)數(shù)據(jù)庫的的次數(shù),,就能能實際上上減少OORACCLE的的工作量量。缺點:經(jīng)常常需要使使用動態(tài)態(tài)SQLL的寫法法,由于于參數(shù)的的不同,可可能SQQL的執(zhí)執(zhí)行效率率不同;;綁定變量是是相對文文本變量量來講的的,所謂謂文本變變量是指指在SQQL直接接書寫查查詢條件件,這樣的SQQL在不不同條件件下需要要反復解解析,綁綁定變量量是指使使用變量量來代替替直接書書寫條件件,查詢詢binndvvaluue在運運行時傳傳遞,然然后綁定定執(zhí)行。優(yōu)點是減少少硬解析析,降低低CPUU的爭用用,節(jié)省省shaaredd_poool缺點是不能能使用hhisttogrram,,sqll優(yōu)化比比較困難難10.
如何何穩(wěn)定((固定))執(zhí)行計計劃可以在SQQL語句句中指定定執(zhí)行計計劃。使使用HIINTSS;queryy_reewriite__enaableed==trruestar__traansfformmatiion__enaableed==trrueoptimmizeer_ffeatturees_eenabble=99.2..0創(chuàng)建并使用用stooreddouutliine11.
和排排序相關(guān)關(guān)的內(nèi)存存在8ii和9ii分別怎怎樣調(diào)整整,臨時時表空間間的作用用是什么么SORT__AREEA_SSIZEE在進進行排序序操作時時,如果果排序的的內(nèi)容太太多,內(nèi)內(nèi)存里不不能全部部放下,則則需要進進行外部部排序,此時需要利利用臨時時表空間間來存放放排序的的中間結(jié)結(jié)果。8i中soort__areea_ssizee/soort__areea_rretaaineed_ssizee決定了了排序所所需要的的內(nèi)存,如果排排序操作作不能在在sorrt_aareaa_siize中中完成,,就會用用到teemp表表空間9i中如果果worrkarrea__sizze_ppoliicy==autto時,,排序在pgga內(nèi)進進行,通通常pgga_aaggrregaate__tarrgett的1//20可可以用來來進行ddiskksoort;;如果worrkarrea__sizze_ppoliicy==mannuall時,排排序需要要的內(nèi)存存由soort__areea_ssizee決定,在執(zhí)行行ordderby//grooupby//disstinnct//uniion//creeateeinndexx/inndexxreebuiild//minnus等等操作時時,如果果在pgga或ssortt_arrea__sizze中不不能完成成,排序序?qū)⒃谂R臨時表空空間進行行(diisksorrt),,臨時表表空間主主要作用用就是完完成系統(tǒng)統(tǒng)中的ddiskksoort..12.
存在在表T((a,bb,c,,d),,要根據(jù)據(jù)字段cc排序后后取第221—330條記記錄顯示示,請給給出sqql
SELLECTT
*
FRROM(SEELECCTRROWNNUMASroww_nuum,tmpp_taab.**
FROOM((SELLECTT
a,,b,,c,,d
FRROMT
ORDDERBYc)tmpp_taab
WWHERRERROWNNUM<=30))
WHEEREroww_nuum>>=220ORDERRBYYroow_nnum;;creattettabllett(anummberr(,bbnuumbeer(,,cnnumbber((,dnummberr();;/beginnforiiinn1..3000looopinserrtiintootvalluess(mood(ii,2)),i//2,ddbmss_raandoom.vvaluue(11,3000),,i/44);endlloopp;end;/selecct**frrom(seelecctcc.*,,rowwnummassrnnfrrom(seelecct**frromtoordeerbbyccdeesc))c))whhereernnbeetweeen21andd300;/selecct**frrom(seelecct**frromtesstoordeerbbyccdeesc))xwheererowwnumm&llt;30minussselecct**frrom(seelecct**frromtesstoordeerbbyccdeesc))ywheererowwnumm&llt;20ordderby3ddescc相比之mminuus性能能較差二:數(shù)據(jù)庫庫基本概概念類1Pcttuseedaandpcttfreee表表示什么么含義有有什么作作用pctussed與與pcttfreee控制制數(shù)據(jù)塊塊是否出出現(xiàn)在ffreeelisst中,,
pcttfreee控制制數(shù)據(jù)塊塊中保留留用于uupdaate的的空間,,當數(shù)據(jù)據(jù)塊中的的freeesspacce小于于pcttfreee設(shè)置置的空間間時,該該數(shù)據(jù)塊塊從frreellistt中去掉掉,當塊塊由于ddml操操作frreespaace大大于pcct_uusedd設(shè)置的的空間時時,該數(shù)數(shù)據(jù)庫塊塊將被添添加在ffreeelisst鏈表表中。2簡單描描述taableespaace/ssegmmentt/exttentt/bloock之之間的關(guān)關(guān)系tableespaace::一個個數(shù)據(jù)庫庫劃分為為一個或或多個邏邏輯單位位,該邏邏輯單位位成為表表空間;;每一個個表空間間可能包包含一個個或多個個Seegmeent;;Segmeentss:SSegmmentt指在ttabllesppacee中為特特定邏輯輯存儲結(jié)結(jié)構(gòu)分配配的空間間。每一一個段是是由一個個或多個個exttentt組成。包包括數(shù)據(jù)據(jù)段、索索引段、回回滾段和和臨時段段。Extennts::一個個exxtennt由由一系列列連續(xù)的的Orracllebbloccks組組成.OORACCLE為為通過eexteent來給ssegmmentt分配空空間。DataBloockss:Orraclle數(shù)數(shù)據(jù)庫最最小的II/O存存儲單位位,一個個dattabblocck對應應一個或或多個分分配給ddataafiile的的操作系系統(tǒng)塊。tablee創(chuàng)建時時,默認認創(chuàng)建了了一個ddataaseegmeent,,每個ddataaseegmeent含含有miineexteentss指定的的exttentts數(shù),,每個eexteent據(jù)據(jù)據(jù)表空空間的存存儲參數(shù)數(shù)分配一一定數(shù)量量的bllockks3描述ttabllesppacee和daataffilee之間的的關(guān)系一個表空間間可包含含一個或或多個數(shù)數(shù)據(jù)文件件。表空空間利用用增加或或擴展數(shù)數(shù)據(jù)文件件擴大表表空間,表表空間的的大小為為組成該該表空間間的數(shù)據(jù)據(jù)文件大大小的和和。一個個dattafiile只只能屬于于一個表表空間;;一個tabblesspacce可以以有一個個或多個個dattafiile,,每個ddataafille只能能在一個個tabblesspacce內(nèi),,taablee中的數(shù)數(shù)據(jù),通通過haash算算法分布布在taableespaace中中的各個個dattafiile中中,taableespaace是是邏輯上上的概念念,daataffilee則在物物理上儲儲存了數(shù)數(shù)據(jù)庫的的種種對對象。4本地管管理表空空間和字字典管理理表空間間的特點點,ASSSM有有什么特特點本地管理表表空間::(9ii默認)空空閑塊列列表存儲儲在表空空間的數(shù)數(shù)據(jù)文件件頭。特點:減少少數(shù)據(jù)字字典表的的競爭,當當分配和和收縮空空間時會會產(chǎn)生回回滾,不不需要合合并。字典管理表表空間::(8ii默認)空空閑塊列列表存儲儲在數(shù)據(jù)據(jù)庫中的的字典表表里.特點:片由由數(shù)據(jù)字字典管理理,可能能造成字字典表的的爭用。存存儲在表表空間的的每一個個段都會會有不同同的存儲儲字句,需需要合并并相鄰的的塊;本地管理表表空間(LLocaallyyMaanaggedTabblesspacce簡稱稱LMTT)8i以后出出現(xiàn)的一一種新的的表空間間的管理理模式,通通過位圖圖來管理理表空間間的空間間使用。字字典管理理表空間間(Diictiionaary--MannageedTTabllesppacee簡稱DDMT)8i以前包包括以后后都還可可以使用用的一種種表空間間管理模模式,通通過數(shù)據(jù)據(jù)字典管管理表空空間的空空間使用用。動段段空間管管理(AASSMM),它它首次出出現(xiàn)在OOraccle9920里里有了AASSMM,鏈接接列表ffreeelisst被位位圖所取取代,它它是一個個二進制制的數(shù)組組,能夠迅速有有效地管管理存儲儲擴展和和剩余區(qū)區(qū)塊(ffreeebllockk),因因此能夠夠改善分分段存儲儲本質(zhì),AASSMM表空間間上創(chuàng)建建的段還還有另外外一個稱稱呼叫BBitmmapMannageedSSegmmentts(BBMB段)。5回滾段段的作用用是什么么回滾段用于于保存數(shù)數(shù)據(jù)修改改前的映映象,這這些信息息用于生生成讀一一致性數(shù)數(shù)據(jù)庫信信息、在在數(shù)據(jù)庫庫恢復和和Rolllbaack時時使用。一一個事務務只能使使用一個個回滾段段。事務回滾::當事務務修改表表中數(shù)據(jù)據(jù)的時候候,該數(shù)數(shù)據(jù)修改改前的值值(即前前影像)會會存放在在回滾段段中,當當用戶回回滾事務務(ROOLLBBACKK)時,OORACCLE將將會利用用回滾段段中的數(shù)數(shù)據(jù)前影影像來將將修改的的數(shù)據(jù)恢恢復到原原來的值值。事務恢復::當事務務正在處處理的時時候,例例程失敗敗,回滾滾段的信信息保存存在unndo表表空間中中,ORRACLLE將在在下次打打開數(shù)據(jù)據(jù)庫時利利用回滾滾來恢復復未提交交的數(shù)據(jù)據(jù)。讀一致性::當一個個會話正正在修改改數(shù)據(jù)時時,其他他的會話話將看不不到該會會話未提提交的修修改。當一個個語句正正在執(zhí)行行時,該該語句將將看不到到從該語語句開始始執(zhí)行后后的未提提交的修修改(語語句級讀讀一致性性)當ORACCLE執(zhí)執(zhí)行SEELECCT語句句時,OORACCLE依依照當前前的系統(tǒng)統(tǒng)改變號號(SYYSTEEMCCHANNGENUMMBERR-SCCN)來保證證任何前前于當前前SCNN的未提提交的改改變不被被該語句句處理??煽梢韵胂笙螅寒斠灰粋€長時時間的查查詢正在在執(zhí)行時時,若若其他會會話改變變了該查查詢要查查詢的某某個數(shù)據(jù)據(jù)塊,OORACCLE將將利用回回滾段的的數(shù)據(jù)前前影像來來構(gòu)造一一個讀一一致性視視圖6日志的的作用是是什么日志文件(LLogFille)記記錄所有有對數(shù)據(jù)據(jù)庫數(shù)據(jù)據(jù)的修改改,主要要是保護護數(shù)據(jù)庫庫以防止止故障,,以及恢恢復數(shù)據(jù)據(jù)時使用用。其特特點如下下:
a))每一個個數(shù)據(jù)庫庫至少包包含兩個個日志文文件組。每每個日志志文件組組至少包包含兩個個日志文文件成員員。
b))日志文文件組以以循環(huán)方方式進行行寫操作作。
c))每一個個日志文文件成員員對應一一個物理理文件。記錄數(shù)據(jù)庫庫事務,,最大限限度地保保證數(shù)據(jù)據(jù)的一致致性與安安全性
重做日志文文件:含含對數(shù)據(jù)據(jù)庫所做做的更改改記錄,這這樣萬一一出現(xiàn)故故障可以以啟用數(shù)數(shù)據(jù)恢復復,一個個數(shù)據(jù)庫庫至少需需要兩個個重做日日志文件件歸檔日志文文件:是是重做日日志文件件的脫機機副本,這這些副本本可能對對于從介介質(zhì)失敗敗中進行行恢復很很必要。7SGAA主要有有那些部部分,主主要作用用是什么么系統(tǒng)全局區(qū)區(qū)(SGGA)::是ORRACLLE為實實例分配配的一組組共享緩緩沖存儲儲區(qū),用用于存放放數(shù)據(jù)庫庫數(shù)據(jù)和和控制信信息,以以實現(xiàn)對對數(shù)據(jù)庫庫數(shù)據(jù)的的管理和和操作。SGA主要要包括::a)共享池池(shhareedppooll)::用來存存儲最近近執(zhí)行的的SQLL語句和和最近使使用的數(shù)數(shù)據(jù)字典典的數(shù)據(jù)據(jù)。b)數(shù)據(jù)緩緩沖區(qū)(daatabbaseebuuffeerccachhe)::用來存存儲最近近從數(shù)據(jù)據(jù)文件中中讀寫過過的數(shù)據(jù)據(jù)。c)重作日日志緩沖沖區(qū)(rredooloogbbufffer)::用來記記錄服務務或后臺臺進程對對數(shù)據(jù)庫庫的操作作。另外在SGGA中還還有兩個個可選的的內(nèi)存結(jié)結(jié)構(gòu):d)javvappooll:
用來來存儲JJavaa代碼。e)Larrgepoool:用來存存儲不與與SQLL直接相相關(guān)的大大型內(nèi)存存結(jié)構(gòu)。備備份、恢恢復使用用。GA:dbb_caachee/shhareed_ppooll/laargee_poool//javva_ppoolldb_caachee:數(shù)數(shù)據(jù)庫緩緩存(BBlocckBBufffer)對對于Orraclle數(shù)據(jù)據(jù)庫的運運轉(zhuǎn)和性性能起著著非常關(guān)關(guān)鍵的作作用,它它占據(jù)OOraccle數(shù)數(shù)據(jù)庫SSGA(系系統(tǒng)共享享內(nèi)存區(qū)區(qū))的主主要部分分。Orraclle數(shù)據(jù)據(jù)庫通過過使用LLRU算算法,將將最近訪訪問的數(shù)數(shù)據(jù)塊存存放到緩緩存中,從從而優(yōu)化化對磁盤盤數(shù)據(jù)的的訪問..shareed_ppooll:共共享池的的大小對對于Orraclle性性能來說說都是很很重要的的。共享享池中保保存數(shù)據(jù)據(jù)字典高高速緩沖沖和完全全解析或或編譯的的的PLL/SQQL塊塊和SQQL語語句及控控制結(jié)構(gòu)構(gòu)largee_poool::使用用MTSS配置時時,因為為要在SSGA中中分配UUGA來來保持用用戶的會會話,就就是用LLargge_ppooll來保持持這個會會話內(nèi)存存使用RRMANN做備份份的時候候,要使使用Laargee_poool這這個內(nèi)存存結(jié)構(gòu)來來做磁盤盤I/OO緩存器器java__poool:為jaavaproocedduree預備的的內(nèi)存區(qū)區(qū)域,如如果沒有有使用jjavaaprroc,,javva_ppooll不是必必須的8Oraaclee系統(tǒng)進進程主要要有哪些些,作用用是什么么數(shù)據(jù)寫進程程(DBBWR)):負責責將更改改的數(shù)據(jù)據(jù)從數(shù)據(jù)據(jù)庫緩沖沖區(qū)高速速緩存寫寫入數(shù)據(jù)據(jù)文件日志寫進程程(LGGWR)):將重重做日志志緩沖區(qū)區(qū)中的更更改寫入入在線重重做日志志文件系統(tǒng)監(jiān)控
((SMOON)::檢查查數(shù)據(jù)庫庫的一致致性如有有必要還還會在數(shù)數(shù)據(jù)庫打打開時啟啟動數(shù)據(jù)據(jù)庫的恢恢復進程監(jiān)控
((PMOON)::負責責在一個個Oraaclee進程程失敗時時清理資資源檢查點進程程(CKKPT)):負責責在每當當緩沖區(qū)區(qū)高速緩緩存中的的更改永永久地記記錄在數(shù)數(shù)據(jù)庫中中時,更更新控制制文件和和數(shù)據(jù)文文件中的的數(shù)據(jù)庫庫狀態(tài)信信息。歸檔進程
((ARCCH)::在每次次日志切切換時把把已滿的的日志組組進行備備份或歸歸檔恢復進程
((RECCO)::保證證分布式式事務的的一致性性,在分分布式事事務中,,要么同同時coommiit,要要么同時時rolllbaack;;作業(yè)調(diào)度器器(CJJQ)):
負責責將調(diào)度度與執(zhí)行行系統(tǒng)中中已定義義好的jjob,,完成一一些預定定義的工工作.三:備份恢恢復類1備份如如何分類類邏輯備份::expp/immp指指定表的的邏輯備備份物理備份::熱備份:aalteerttabllesppaceebeeginn/enndbbackkup;;冷備份:脫脫機備份份(daatabbaseeshhutddownn)RMAN備備份fullbacckupp/inncreemenntallbaackuup(累累積/差差異)物理備份物理備份是是最主要要的備份份方式。用用于保證證數(shù)據(jù)庫庫在最小小的數(shù)據(jù)據(jù)庫丟失失或沒有有數(shù)據(jù)丟丟失的情情況下得得到恢復復。冷物理冷物理備份份提供了了最簡單單和最直直接的方方法保護護數(shù)據(jù)庫庫因物理理損壞丟丟失。建建議在以以下幾種種情況中中使用。對一個已經(jīng)經(jīng)存在大大最數(shù)據(jù)據(jù)量的數(shù)數(shù)據(jù)庫,在在晚間數(shù)數(shù)據(jù)庫可可以關(guān)閉閉,此時時應用冷冷物理備備份。對需對數(shù)據(jù)據(jù)庫服務務器進行行升級,(如如更換硬硬盤),此此時需要要備份數(shù)數(shù)據(jù)庫信信息,并并在新的的硬盤中中恢復這這些數(shù)據(jù)據(jù)信息,建建議采用用冷物理理備份。熱物理主要是指備備份過程程在數(shù)據(jù)據(jù)庫打開開并且用用戶可以以使用的的情況下下進行。需需要執(zhí)行行熱物理理備份的的情況有有:由于數(shù)據(jù)庫庫性質(zhì)要要求不間間斷工作作,因而而此時只只能采用用熱物理理備份。由于備份的的要求的的時間過過長,而而數(shù)據(jù)庫庫只能短短時間關(guān)關(guān)閉時。邏輯備份(EXXP/IIMP))邏輯備份用用于實現(xiàn)現(xiàn)數(shù)據(jù)庫庫對象的的恢復。但但不是基基于時間間點可完完全恢復復的備份份策略。只只能作為為聯(lián)機備備份和脫脫機備份份的一種種補充。完全邏輯備備份完全邏輯備備份是將將整個數(shù)數(shù)據(jù)庫導導出到一一個數(shù)據(jù)據(jù)庫的格格式文件件中,該該文件可可以在不不同的數(shù)數(shù)據(jù)庫版版本、操操作系統(tǒng)統(tǒng)和硬件件平臺之之間進行行移植。指定表的邏邏輯備份份通過備份工工具,可可以將指指定的數(shù)數(shù)據(jù)庫表表備份出出來,這這可以避避免完全全邏輯備備份所帶帶來的時時間和財財力上的的浪費。2歸檔是是什么含含義關(guān)于歸檔日日志:OOraccle要要將填滿滿的在線線日志文文件組歸歸檔時,,則要建建立歸檔檔日志(aarchhiveedrredooloog)。其其對數(shù)據(jù)據(jù)庫備份份和恢復復有下列列用處::數(shù)據(jù)庫后備備以及在在線和歸歸檔日志志文件,在在操作系系統(tǒng)和磁磁盤故障障中可保保證全部部提交的的事物可可被恢復復。在數(shù)據(jù)庫打打開和正正常系統(tǒng)統(tǒng)使用下下,如果果歸檔日日志是永永久保存存,在線線后備可可以進行行和使用用。數(shù)據(jù)庫可運運行在兩兩種不同同方式下下:NOOARCCHIVVELOOG方式式或ARRCHIIVELLOG方式數(shù)據(jù)庫在NNOARRCHIIVELLOG方方式下使使用時,不不能進行行在線日日志的歸歸檔,數(shù)據(jù)庫在AARCHHIVEELOGG方式下下運行,可可實施在在線日志志的歸檔檔歸檔是歸檔檔當前的的聯(lián)機rredoo日志文文件。SVRMGGR>alttersysstemmarrchiiveloggcuurreent;;數(shù)據(jù)庫只有有運行在在ARCCHIVVELOOG模式式下,并并且能夠夠進行自自動歸檔檔,才可可以進行行聯(lián)機備備份。有有了聯(lián)機機備份才才有可能能進行完完全恢復復。3如果一一個表在在20004-008-004110:330:000被被droop,在在有完善善的歸檔檔和備份份的情況況下,如如何恢復復9i新增增的FLLASHHBAACK應該可可以;Logmiinerr應該可可以找出出DMLL。有完善的歸歸檔和備備份,先先歸檔當當前數(shù)據(jù)據(jù),然后后可以先先恢復到到刪除的的時間點點之前,把把DROOP的的表導出出來,然然后再恢恢復到最最后歸檔檔時間;;手工拷貝回回所有備備份的數(shù)數(shù)據(jù)文件件Sql〉sstarrtuppmoountt;sql〉aalteerddataabasserrecooverrauutommatiicuuntiilttimee'220044-088-044:100:300:000';sql〉aalteerddataabasseoopennreesettloggs;4rmaan是什什么,有有何特點點RMAN((ReccoveeryMannageer)是是DBAA的一個個重要工工具,用用于備份份、還原原和恢復復oraaclee數(shù)據(jù)庫庫,RRMANN可以以用來備備份和恢恢復數(shù)據(jù)據(jù)庫文件件、歸檔檔日志、控控制文件件、系統(tǒng)統(tǒng)參數(shù)文文件,也也可以用用來執(zhí)行行完全或或不完全全的數(shù)據(jù)據(jù)庫恢復復。RMAN有有三種不不同的用用戶接口口:COOMMAANDLINNE方式式、GUUI方方式(集集成在OOEM中的備備份管理理器)、AAPI方式(用用于集成成到第三三方的備備份軟件件中)。具有如下特特點:1)功能類類似物理理備份,但但比物理理備份強強大N倍倍;2)可以壓壓縮空塊塊;3)可以在在塊水平平上實現(xiàn)現(xiàn)增量;;4)可以把把備份的的輸出打打包成備備份集,也也可以按按固定大大小分割割備份集集;5)備份與與恢復的的過程可可以自動動管理;;6)可以使使用腳本本(存在在Reccoveerycattaloog中中)7)可以做做壞塊監(jiān)監(jiān)測5staandbby的特特點備用數(shù)據(jù)庫庫(sttanddbydattabaase)::ORAACLEE推出的的一種高高可用性性(HIIGHAVAAILAABLEE)數(shù)據(jù)據(jù)庫方案案,在主主節(jié)點與與備用節(jié)節(jié)點間通通過日志志同步來來保證數(shù)數(shù)據(jù)的同同步,備備用節(jié)點點作為主主節(jié)點的的備份,可可以實現(xiàn)現(xiàn)快速切切換與災災難性恢恢復,從從9200開始,還還開始支支持物理理與邏輯輯備用服服務器。9i中的三三種數(shù)據(jù)據(jù)保護模模式分別別是:1)、MAAXIMMIZEEPRROTEECTIION:最大大數(shù)據(jù)保保護與無無數(shù)據(jù)分分歧,LLGWRR將同時時傳送到到備用節(jié)節(jié)點,在在主節(jié)點點事務確確認之前前,備用用節(jié)點也也必須完完全收到到日志數(shù)數(shù)據(jù)。如如果網(wǎng)絡(luò)絡(luò)不好,引引起LGGWR不不能傳送送數(shù)據(jù),將將引起嚴嚴重的性性能問題題,導致致主節(jié)點點DOWWN機。2)、MAAXIMMIZEEAVVAILLABIILITTY::無數(shù)據(jù)據(jù)丟失模模式,允允許數(shù)據(jù)據(jù)分歧,允允許異步步傳送。正常情況下下運行在在最大保保護模式式,在主主節(jié)點與與備用節(jié)節(jié)點的網(wǎng)網(wǎng)絡(luò)斷開開或連接接不正常常時,自自動切換換到最大大性能模模式,主主節(jié)點的的操作還還是可以以繼續(xù)的的。在網(wǎng)網(wǎng)絡(luò)不好好的情況況下有較較大的性性能影響響。3)、MAAXIMMIZEEPEERFOORMAANCEE:這種種模式應應當可以以說是從從8i繼繼承過來來的備用用服務器器模式,異異步傳送送,無數(shù)數(shù)據(jù)同步步檢查,可可能丟失失數(shù)據(jù),但但是能獲獲得主節(jié)節(jié)點的最最大性能能。9ii在配置置DATTAGGUARRD的時時候默認認就是MMAXIIMIZZEPPERFFORMMANCCE6對于一一個要求求恢復時時間比較較短的系系統(tǒng)(數(shù)數(shù)據(jù)庫550G,,每天歸歸檔5GG),你你如何設(shè)設(shè)計備份份策略數(shù)據(jù)庫比較較大邏輯輯備份沒沒什么必必要,每每天歸檔檔5G,每每周三//周六自自動歸檔檔10GG,每月月RMAAN歸檔檔全庫。應應該有sstanndbyy。rman//每月一一號lleveel00每周周末/周周三lleveel11其它它每天lleveel22四:系統(tǒng)管管理類1.
對于于一個存存在系統(tǒng)統(tǒng)性能的的系統(tǒng),說說出你的的診斷處處理思路路ü
做sttatsspacck收集集系統(tǒng)相相關(guān)信息息
了解系系統(tǒng)大致致情況//確定是是否存在在參數(shù)設(shè)設(shè)置不合合適的地地方/查查看toop55evventt/查看看toppsqql等ü
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年贛南衛(wèi)生健康職業(yè)學院單招職業(yè)傾向性考試題庫完整版
- 2025年甘肅省金昌市單招職業(yè)傾向性測試題庫及參考答案一套
- 2025年滄州航空職業(yè)學院單招職業(yè)技能考試題庫學生專用
- 2025年甘肅財貿(mào)職業(yè)學院單招職業(yè)傾向性考試題庫新版
- 2025年大連航運職業(yè)技術(shù)學院單招綜合素質(zhì)考試題庫含答案
- 公司保密協(xié)議合同范本
- 生態(tài)修復工程苗木供應合同范本
- 農(nóng)業(yè)有機廢棄物處理合同
- 項目合作框架合同范本
- 酒店室內(nèi)裝飾工程合同
- 電梯井腳手架搭設(shè)施工施工方法及工藝要求
- DL-T-710-2018水輪機運行規(guī)程
- 【正版授權(quán)】 IEC 62317-9:2006+AMD1:2007 CSV EN Ferrite cores - Dimensions - Part 9: Planar cores
- 《阿Q正傳》(課件)2023-2024高二語文選擇性必修下冊
- 東營銀行2023年度招聘160名高校畢業(yè)生筆試上岸歷年典型考題與考點剖析附帶答案詳解
- 租賃寵物的協(xié)議
- 2024屆遼寧省沈陽市名校中考化學模擬試題含解析
- 2024年湖南民族職業(yè)學院單招職業(yè)適應性測試題庫及答案解析
- 預應力混凝土工程-先張法(建筑施工課件)
- (2024年)電工安全培訓(新編)課件
- 國際貿(mào)易理論與實務(陳巖 第四版) 課件全套 第0-16章 緒論、國際貿(mào)易理論、國際貿(mào)易政策-國際貿(mào)易方式
評論
0/150
提交評論