Oracle數(shù)據(jù)庫DBA面試題及答案_第1頁
Oracle數(shù)據(jù)庫DBA面試題及答案_第2頁
Oracle數(shù)據(jù)庫DBA面試題及答案_第3頁
Oracle數(shù)據(jù)庫DBA面試題及答案_第4頁
Oracle數(shù)據(jù)庫DBA面試題及答案_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

l.OracleDBA面試題之一解釋冷備份和熱備份的不同點以及各自的優(yōu)點解答:熱備份針對歸檔模式的數(shù)據(jù)庫,在數(shù)據(jù)庫仍舊處于工作狀態(tài)時進行備份。而冷備份指在數(shù)據(jù)庫關閉后,進行備份,適用于所有模式的數(shù)據(jù)庫。熱備份的優(yōu)點在于當備份時,數(shù)據(jù)庫仍舊可以被使用并且可以將數(shù)據(jù)庫恢復到任意一個時間點。冷備份的優(yōu)點在于它的備份和恢復操作相當簡單,并且由于冷備份的數(shù)據(jù)庫可以工作在非歸檔模式下,數(shù)據(jù)庫性能會比歸檔模式稍好。(因為不必將archivelog寫入硬盤)你必須利用備份恢復數(shù)據(jù)庫,但是你沒有控制文件,該如何解決問題呢?解答:重建控制文件,用帶backupcontrolfile子句的recover命令恢復數(shù)據(jù)庫。如何轉換init.ora到spfile?解答:使用createspfilefrompfile命令OracleDBA面試題:解釋datablock,extent和segment的區(qū)別(這里建議用英文術語)解答:datablock是數(shù)據(jù)庫中最小的邏輯存儲單元。當數(shù)據(jù)庫的對象需要更多的物理存儲空間時,連續(xù)的datablock就組成了extent.一個數(shù)據(jù)庫對象擁有的所有extents被稱為該對象的segment.給出兩個檢查表結構的方法解答:1、DESCRIBE命令2、DBMS_METADATA.GET_DDL包怎樣查看數(shù)據(jù)庫引擎的報錯解答:alertlog.比較truncate和delete命令解答:兩者都可以用來刪除表中所有的記錄。區(qū)別在于:truncate是DDL操作,它移動HWK,不需要rollbacksegment.而Delete是DML操作需要rollbacksegment且花費較長時間.&使用索引的理由解答:快速訪問表中的datablock給出在STARSCHEMA中的兩種表及它們分別含有的數(shù)據(jù)解答:Facttables和dimensiontables.facttable包含大量的主要的信息而dimensiontables存放對facttable某些屬性描述的信息FACTTable上需要建立何種索引?解答:位圖索引(bitmapindex)ll.OracleDBA面試題:給出兩種相關約束?解答:主鍵和外鍵如何在不影響子表的前提下,重建一個母表解答:子表的外鍵強制實效,重建母表,激活外鍵解釋歸檔和非歸檔模式之間的不同和它們各自的優(yōu)缺點解答:歸檔模式是指你可以備份所有的數(shù)據(jù)庫transactions并恢復到任意一個時間點。非歸檔模式則相反,不能恢復到任意一個時間點。但是非歸檔模式可以帶來數(shù)據(jù)庫性能上的少許提咼如何建立一個備份控制文件?解答:Alterdatabasebackupcontrolfiletotrace.給出數(shù)據(jù)庫正常啟動所經(jīng)歷的幾種狀態(tài)?解答:STARTUPN0M0UNT-數(shù)據(jù)庫實例啟動STARTUPMOUNT-數(shù)據(jù)庫裝載STARTUPOPEN-數(shù)據(jù)庫打開哪個column可以用來區(qū)別V$視圖和GV$視圖?解答:INST_ID指明集群環(huán)境中具體的某個instance。如何生成explainplan?解答:運行utlxplan.sql.建立plan表針對特定SQL語句,使用explainplansetstatement_id二'tstl'intoplan_table運行utlxplp.sql或utlxpls.sql察看explainplan如何增加buffercache的命中率?解答:在數(shù)據(jù)庫較繁忙時,適用buffercacheadvisory工具,查詢v$db_cache_advice.如果有必要更改,可以使用altersystemsetdb_cache_size命令ORA-O1555的應對方法?解答:具體的出錯信息是snapshottoooldwithinrollbackseg,通??梢酝ㄟ^增大rollbackseg來解決問題。當然也需要察看一下具體造成錯誤的SQL文本解釋$0RACLE_H0ME和$ORACLE_BASE的區(qū)別?解答:ORACLE_BASE是oracle的根目錄,0RACLE_H0ME是oracle產(chǎn)品的目錄如何判斷數(shù)據(jù)庫的時區(qū)?解答:SELECTDBTIMEZONEFROMDUAL;解釋GLOBAL_NAMES設為TRUE的用途解答:GLOBAL_NAMES指明聯(lián)接數(shù)據(jù)庫的方式。如果這個參數(shù)設置為TRUE,在建立數(shù)據(jù)庫鏈接時就必須用相同的名字連結遠程數(shù)據(jù)庫OracleDBA面試題:如何加密PL/SQL程序?解答:WRAPOracle數(shù)據(jù)庫DBA面試題50道及答案—經(jīng)典解釋FUNCTION,PROCEDURE和PACKAGE區(qū)別解答:function和procedure是PL/SQL代碼的集合,通常為了完成一個任務。procedure不需要返回任何值而function將返回一個值在另一方面,Package是為了完成一個商業(yè)功能的一組function和proceudre的集合解釋TABLEFunction的用途解答:TABLEFunction是通過PL/SQL邏輯返回一組紀錄,用于普通的表/視圖。他們也用于pipeline和ETL過程。舉出3種可以收集threeadvisorystatistics解答:BufferCacheAdvice,SegmentLevelStatistics,TimedStatisticsAudittrace存放在哪個oracle目錄結構中?解答:unix$ORACLE_HOME/rdbms/audit Windowstheeventviewer解釋materializedviews的作用解答:Materializedviews用于減少那些匯總,集合和分組的信息的集合數(shù)量。它們通常適合于數(shù)據(jù)倉庫和DSS系統(tǒng)。當用戶進程出錯,哪個后臺進程負責清理它解答:PMON哪個后臺進程刷新materializedviews?解答:TheJobQueueProcesses.如何判斷哪個session正在連結以及它們等待的資源?解答:V$SESSI0N/V$SESSION_WAIT描述什么是redologs解答:RedoLogs是用于存放數(shù)據(jù)庫數(shù)據(jù)改動狀況的物理和邏輯結構??梢杂脕硇迯蛿?shù)據(jù)庫。如何進行強制LOGSWITCH?解答:ALTERSYSTEMSWITCHLOGFILE;舉出兩個判斷DDL改動的方法?解答:你可以使用Logminer或StreamsCoalescing做了什么?解答:Coalescing針對于字典管理的tablespace進行碎片整理,將臨近的小extents合并成單個的大extent.TEMPORARYtablespace和PERMANENTtablespace的區(qū)別是?解答:Atemporarytablespace用于臨時對象例如排序結構而permanenttablespaces用來存儲那些‘真實'的對象(例如表,回滾段等)創(chuàng)建數(shù)據(jù)庫時自動建立的tablespace名稱?解答:SYSTEMtablespace.創(chuàng)建用戶時,需要賦予新用戶什么權限才能使它聯(lián)上數(shù)據(jù)庫。解答:CONNECT如何在tablespace里增加數(shù)據(jù)文件?解答:ALTERTABLESPACE<tablespace_name>ADDDATAFILE<datafile_name>SIZE<size>如何變動數(shù)據(jù)文件的大???解答:ALTERDATABASEDATAFILE<datafile_name>RESIZE<new_size>;哪個VIEW用來檢查數(shù)據(jù)文件的大小?解答:DBA_DATA_FILES哪個VIEW用來判斷tablespace的剩余空間解答:DBA_FREE_SPACE如何判斷誰往表里增加了一條紀錄?解答:auditing如何重構索引?解答:ALTERINDEX<index_name>REBUILD;解釋什么是Partitioning(分區(qū))以及它的優(yōu)點。解答:Partition將大表和索引分割成更小,易于管理的分區(qū)。你剛剛編譯了一個PL/SQLPackage但是有錯誤報道,如何顯示出錯信息?解答:SHOWERRORS如何搜集表的各種狀態(tài)數(shù)據(jù)?解答:ANALYZETheANALYZEcommand.如何啟動SESSION級別的TRACE解答:DBMS_SESSION.SET_SQL_TRACEALTERSESSIONSETSQL_TRACE=TRUE;IMPORT和SQL*LOADER這2個工具的不同點解答:這兩個ORACLE工具都是用來將數(shù)據(jù)導入數(shù)據(jù)庫的。區(qū)別是:IMPORT工具只能處理由另一個ORACLE工具EXPORT生成的數(shù)據(jù)。而SQL*LOADER可以導入不同的ASCII格式的數(shù)據(jù)源用于網(wǎng)絡連接的2個文件?解答:TNSNAMES.ORAandSQLNET.ORAOracle數(shù)據(jù)庫筆試題(附答案)2008年04月25日星期五19:48數(shù)據(jù)庫切換日志的時候,為什么一定要發(fā)生檢查點?這個檢查點有什么意義?答:觸發(fā)dbwr的執(zhí)行,dbwr會把和這個日志相關的所有臟隊列寫到數(shù)據(jù)文件里,縮短實例恢復所需要的時間。表空間管理方式有哪幾種,各有什么優(yōu)劣。答:字典管理方式和本地管理方式,本地管理方式采用位圖管理extent,減少字典之間的競爭,同時避免了碎片。本地管理表空間與字典管理表空間相比,其優(yōu)點如下:.減少了遞歸空間管理;.系統(tǒng)自動管理extents大小或采用統(tǒng)一extents大小;.減少了數(shù)據(jù)字典之間的競爭;.不產(chǎn)生回退信息;.不需合并相鄰的剩余空間;.減少了空間碎片;.對臨時表空間提供了更好的管理。本地索引與全局索引的差別與適用情況。答:對于local索引,每一個表分區(qū)對應一個索引分區(qū),當表的分區(qū)發(fā)生變化時,索引的維護由Oracle自動進行。對于global索引,可以選擇是否分區(qū),而且索引的分區(qū)可以不與表分區(qū)相對應。當對分區(qū)進行維護操作時,通常會導致全局索引的INVALDED,必須在執(zhí)行完操作后REBUILDoOracle9i提供了UPDATEGLOBALINDEXES語句,可以使在進行分區(qū)維護的同時重建全局索引。4.一個表avarchar2(1),bnumber(1),cchar(2),有100000條記錄,創(chuàng)建B-Tree索引在字段a上,那么表與索引誰大?為什么?答:這個要考慮到rowid所占的字節(jié)數(shù),假設char總是占用2字節(jié)的情況,比較rowid,另外,table和index在segmentfreeblock的管理也有差別。Oracle9i的dataguard有幾種模式,各有什么差別。答:三種模式:最大性能(maximizeperformance):這是dataguard默認的保護模式。primay上的事務commit前不需要從standby上收到反饋信息。該模式在primary故障時可能丟失數(shù)據(jù),但standby對primary的性能影響最小。最大可用(maximizeavailability):在正常情況下,最大可用模式和最大保護模式一樣;在standby不可用時,最大可用模式自動最大性能模式,所以standby故障不會導致primay不可用。只要至少有一個standby可用的情況下,即使primarydown機,也能保證不丟失數(shù)據(jù)。最大保護(maximizeprotection)最高級別的保護模式。primay上的事務在commit前必須確認redo已經(jīng)傳遞到至少一個standby上,如果所有standby不可用,則primary會掛起。該模式能保證零數(shù)據(jù)丟失。執(zhí)行計劃是什么,查看執(zhí)行計劃一般有哪幾種方式。答:執(zhí)行計劃是數(shù)據(jù)庫內部的執(zhí)行步驟:setautotraceonselect*fromtablealtersessionsetevent'10046tracenamecontextforever,level12';SYS.DBMS_SYSTEM.SET_SQL_TRACE_IN_SESSION=(SID,SERIAL#,TRUE);一般采用pl/sqldeveloper,再加個explainplan,v$sql_plan.簡單描述一下nestloop與hashjoin的差別。答:nestloop適用于返回結果比較小的情況。forin1...nloop對小表進行遍歷根據(jù)小表的結果遍歷大表(大表需要索引)endloophashjoin適用在返回大結果集的情況。dbfilesequentialread與dbfilescatteredread等待的差別,如果以上等待比較多,證明了什么問題?答:dbfilesequentialread-DB文件順序讀取,這一事件通常顯示與單個數(shù)據(jù)塊相關的讀取操作(如索引讀取)。如果這個等待事件比較顯著,可能表示在多表連接中,表的連接順序存在問題,可能沒有正確的使用驅動表;或者可能說明不加選擇地進行索引。在大多數(shù)情況下我們說,通過索引可以更為快速的獲取記錄,所以對于一個編碼規(guī)范、調整良好的數(shù)據(jù)庫,這個等待很大是很正常的。但是在很多情況下,使用索引并不是最佳的選擇,比如讀取較大表中大量的數(shù)據(jù),全表掃描可能會明顯快于索引掃描,所以在開發(fā)中我們就應該注意,對于這樣的查詢應該進行避免使用索引掃描。dbfilesequentialread-DB檔分散讀取,這種情況通常顯示與全表掃描相關的等待。當數(shù)據(jù)庫進行全表掃時,基于性能的考慮,數(shù)據(jù)會分散scattered)讀入BufferCache。如果這個等待事件比較顯著,可能說明對于某些全表掃描的表,沒有創(chuàng)建索引或者沒有創(chuàng)建合適的索引,我們可能需要檢查這些數(shù)據(jù)表已確定是否進行了正確的設置。然而這個等待事件不一定意味著性能低下,在某些條件下Oracle會主動使用全表掃描來替換索引掃描以提高性能,這和訪問的數(shù)據(jù)量有關,在CBO下Oracle會進行更為智能的選擇,在RBO下Oracle更傾向于使用索引。當這個等待事件比較顯著時,可以結合v$session」ongops動態(tài)性能視圖來進行診斷,該視圖中記錄了長時間(運行時間超過6秒的)運行的事物,可能很多是全表掃描操作(不管怎樣,這部分信息都是值得我們注意的)。librarycachepin與librarycachelock是什么地方的等待事件,一般說明什么問題?答:"LIBRARYCACHEPIN通常是發(fā)生在編譯或重新編譯PL/SQL,VIEW,TYPES等object時.在一個24*7的應用上,需要把一個訪問量很大的1000萬以上數(shù)據(jù)級別的表的普通索引(a,b)修改成唯一約束(a,b,c),你一般會選擇怎么做,請說出具體的操作步驟與語句。答:不能確定,是否可以采用先建索引后建約束:createindexidx_wlon

溫馨提示

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

評論

0/150

提交評論