Oracle大型數據庫課后簡答題_第1頁
Oracle大型數據庫課后簡答題_第2頁
Oracle大型數據庫課后簡答題_第3頁
Oracle大型數據庫課后簡答題_第4頁
全文預覽已結束

下載本文檔

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

文檔簡介

簡述表空間和數據文件之間的關系答:每一個數據文件都必須隸屬于某個表空間,但一個表空間可以由多個數據文件組合而成。tablespace是邏輯上的概念,datafile則在物理上儲存了數據庫的種種對象。概述Oracle數據庫體系的物理結構答:Oracle數據庫體系的物理結構是指數據庫上實際的、可以從操作系統看到的文件,可以利用操作系統指令進行管理作業,物理存儲結構組成文件如下所列:數據文件(DataFile):實際存儲數據的地方;在線重做日志文件(0nlineRedoLogFile):記錄曾經發生過的動作,當數據庫受損時,可利用在線重做日志文件進行必要的恢復動作;控制文件(ControlFile):記錄數據庫必要的信息,以驗證及維護數據庫的完整性的信息;初始化參數文件(ParameterFile):當數據庫開啟時,用來架構出Oracle內存結構的文件;密碼文件(PasswordFile):驗證哪些帳號能開啟、關閉Oracle數據庫。簡要介紹表空間、段、區和數據塊之間的關系。答:Oracle的邏輯存儲單元從小到大依次為:數據塊、區、段和表空間。表空間又由許多段組成,段由多個區組成,區又由多個數據塊組成。簡述Oracle實例系統中各后臺進程的作用。答:(1)DBWRn(DatabaseWriter)的主要工作是將數據緩沖區中被改過的數據寫回到數據文件里。(2)LGWR(LogWriter)主要的工作是將RedoLogBuffer里的記錄寫到在線重做日志文件中。(3)SMON(SystemMonitor)有兩個主要的功能。<1>執行InstanceRecovery:當數據庫不正常中斷后再度開啟時,SMON會自動執行InstanceRecovery也就是會將在線重做日志里面的數據回寫到數據文件里面。<2>收集空間:將表空間內相鄰的空間進行合并的動作。(4)PMON(ProcessMonitor):監視數據庫的用戶進程。若用戶的進程不當而被中斷,PMON會負責清理任何遺留下來的資源,并釋放失效的進程所保留的鎖,然后從ProcessList中移除,以終止ProcessID°(5)CKPT(Checkpoint)主要負責更新數據庫的最新狀態,CKPT當Checkpoint完成時,會更新控制文件和數據庫文件的文件頭。(6)ARCn(Archiver).當Oracle數據庫設定為ARCHIVELOGMode時,ARCn會在LogSwitch時自動將RedoLogFile復制一份到指定的目錄下稱為歸檔日志文件(Archivedredologs)。共享和專用操作模式的工作過程有什么區別?在專用服務器操作模式中,Oracle為每個連接到數據庫實例的用戶進程啟動一個專門的服務進程,其用戶進程數與服務器進程數的比例為1:1因為在用戶進程空閑期間,對應的服務器進程始終存在,數據庫的效率比較低。共享服務器操作模式可以實現只運行少量的服務器進程,由少量的服務器進程為大量用戶提供服務。在此模式下,數據庫實例啟動的同時也將啟動一定數量的服務進程,在調度進程Dnnn的調度下位任意數量的用戶進程提供服務。簡述oracle的初始化參數文件?答:在傳統上,Oracle在啟動實例時將讀取本地的一個文本文件,并利用從中獲取初始化參數對實例和數據庫進行設置,這個文本文件稱為初始化參數文件(簡稱為PFILE)。簡述如何修改初始化參數文件?答:如果要對初始化參數進行修改,必須先關閉數據庫,然后在初始化參數文件中進行編輯,再重新啟動數據庫使修改生效。簡述啟動數據庫時的狀態。答:開啟數據庫分成4種狀態。SHUTDOWN狀態:數據庫是關閉的。NOMOUNT狀態:Instance被開啟的狀態,會去讀取初始化參數文件。MOUNT狀態:會去讀取控制文件。數據庫被裝載。OPEN狀態:讀取數據文件、在線重做日志文件等,數據庫開啟。簡述數據庫的各種關閉方式。答:(1)正常關閉(SHUTDOWNNORMAL):不允許新的USER連進來。(2)事務關閉(SHUTDOWNTRANSACTIONAL):等待所有未提交的事務完成后再關閉數據庫(3)立即關閉(SHUTDOWNIMMEDIATE):任何未提交的事務均被回退。(4)終止關閉(SHUTDOWNABORT):立即終止當前正在執行的SQL語句,任何未提交的事務均不被回退。簡述Oracle數據庫的特殊狀態?答:靜默狀態:只有具有管理員權限的用戶(SYS、SYSTEM)才能在數據庫中執行查詢、更新操作和運行PL/SQL程序掛起狀態:數據庫所有的物理文件(控制文件、數據文件和重做日志文件)的I/O操作都被暫停,這樣能夠保證數據庫在沒有任何I/O操作的情況下進行物理備份。利用這兩種數據庫狀態,數據庫管理員可以完成一些特殊的管理和維護操作。如何設置SQL*Plus的運行環境?答:通過設置環境變量PAUSE為ON來控制SQL*Plus在顯示完一頁后暫停顯示,直到按回車鍵后才繼續顯示下一頁數據;使用命令SETPAGESIZE來改變默認一頁顯示的大小;通過設置LINESIZE可以修改系統默認的每行打印80個字符;用NUMFORMAT設置超過10字符的處理值;設置TIMING為ON來顯示命令所消耗的系統時間。如何使用SQL*Plus來設置緩存區?答:設置記事本作為用戶的編輯器,就可以使用EDIT命令來執行編輯操作了,還可使用SAVE命令把當前SQL緩存區中的內容保存到指定的文件中,用CLEARBUFFER命令清除SQL*Plus緩存區中的內容,若要獲取通過SAVE保存的內容就要使用GET命令。如何使用SQL*Plus幫助命令獲知某命令的解釋信息在不知道具體命令的時候,先用helpindex查找出所有的命令,然后使用help[topic]其中topic為該命令進行查詢。比較內連接和外連接?答:在內連接的檢索結果中,都是滿足連接條件的數據;外連接的特點是某些不滿足條件的數據也可以出現在檢索結果中。外連接的語法和內連接的語法規則相似,區別在于外連接中用LEFTOUTERJION、RIGHTOUTERJOIN或FULLOUTERJOIN關鍵字,而不使用INNERJOIN關鍵字。其中OUTER是可選的。比較子查詢和連接查詢連接查詢效率高,但是會導致重復數據。如果確定連接查詢不會重復,那么用連接查詢會比較好。子查詢效率低,但是可以避免重復數據。如果要到子查詢,盡量使用索引提高效率。有些情況必須避免重復數據,那就只能用子查詢。但是具體問題還是要具體分析。如果主表很小,子表很大,并且有索引,是可以使用子查詢的,如果主表很大,那就盡量避免子查詢了。顯示游標的使用過程CURSORcursor_name[returnruturn_type]ISselect_statement;打開游標:OPENcursor_name;提取游標:FETCHcursor_nameINTOvariables_list;關閉游標:CLOSECURSOR_NAME;使用帶參數顯式游標的4個步驟是1.聲明游標:CURSORcursor_name[(parameter[,parameter]...)][returnruturn_type]ISselect_statement;2.打開游標:OPENcursor_name[(parameter[,parameter]...)];3.提取游標:FETCHcursor_nameINTOvariables_list;4.關閉游標:CLOSECURSOR_NAME;描述游標的各個屬性?答:%FOUND布爾型屬性,如果sql語句至少影響到一行數據,則該屬性為true,否則為false;%NOTFOUND布爾型屬性,與%FOUND相反;%ISOPEN布爾型屬性,當游標已經打開時返回true,游標關閉時則為false;%ROWCOUNT數字型屬性,返回受sql語句影響的行數。如何處理用戶自定義異常?答:用戶自定義異常是通過顯示使用RAISE語句來引發的,當引發一個異常時,控制就轉到EXCEPTION異常處理部分執行異常處理語句。步驟如下:定義異常處理;觸發異常處理;處理異常。如何處理非預定義異常?答:在為非預定義異常命名時,使用語句PRAGMAEXCEPTION_INIT為錯誤號關聯一個名稱,隨后就可以像對待系統預定義異常一樣進行處理。說明使用游標FOR循環如何對游標進行處理?答:游標FOR循環是顯式游標的一種快捷使用方式,它使用FOR循環依次讀取結果集中的數據。當FOR循環開始時,游標會自動打開(不需要使用OPEN方法),每循環一次系統自動讀取游標當前行的數據(不需要使用FETCH),當退出FOR循環時,游標被自動關閉(不需要使用CLOSE)select語句的基本作用是什么SELECT語句可以從數據庫中按用戶要求檢索數據,并將查詢結果以表格的形式返回。1.檢索單表數據,2.過濾數據,3?排序數據,4?多表檢索,簡述正規表達式Oracle10g正則表達式提高了SQL靈活性。有效的解決了數據有效性,重復詞的辨認,無關的空白檢測,或者分解多個正則組成的字符串等問題。Oracle10g支持正則表達式的四個新函數分別是:REGEXP_LIKE、REGEXP_INSTR、REGEXP_SUBSTR、和REGEXP_REPLACE。它們使用POSIX正則表達式代替了老的百分號(%)和通配符(_)字符。簡述標量變量和復合變量之間的區別?答:如果變量只能存儲一個單獨的值,則該變量稱為標量變量。如果變量可以存儲多個值,則該變量稱為復合類型的變量。標量變量是本數據類型,而復合變量是自定義記錄類型,用戶可以根據需要定義其結構,也可以使用由系統自動決定的變量的結構。簡述過程和函數的區別。答:過程被存儲在數據庫中,并且存儲過程沒有返回值,存儲過程不能由SQL語句直接使用,只能通過EXECUT命令或PL/SQL程序塊內部調用。函數必須有返回值,并且可以作為一個表達式的一部分,函數不能作為一個完整的語句使用,函數返回值的數據類型在創建函數時定義。簡述調用過程時傳遞參數值的三種方式。答:IN參數,由調用者傳入,并且只能夠被存儲過程讀取,它可以接收一個值,但是不能在過程中修改這個值;OUT參數,由存儲過程傳入值,然后由用戶接收參數值,它在調用過程時為空,在過程的執行中將為這參數指定一個值,并在執行結束后返回;INOUT參數,同時具有IN和OUT參數的特性。舉例說明什么是重載答:PL/SQL允許重載,也就是在程序包中的過程和函數可以具有相同的名稱,但只需它們的特性有所區別。簡述Oracle數據庫中觸發器的類型及其觸發條件DDL觸發器在模式中執行DDL語句時執行數據庫級觸發器在發生打開、關閉、登錄和退出數據庫等系統事件時執行DML觸發器在對表或視圖執行DML語句時執行(insert、update、delete)語句級觸發器無論受影響的行數是多少,都只執行一次.默認方式行級觸發器對DML語句修改的每個行執行一次。ForeachrowINSTEADOF觸發器用于用戶不能直接使用DML語句修改的視圖答:行級觸發器;語句級觸發器;INSTEADOF觸發器;系統事件觸發器;用戶事件觸發器。簡述替代觸發器的作用Insteadof觸發器也稱替代觸發器,定義insteadof觸發器后,用戶對表的DML操作將不再被執行,而是執行觸發器主體中的操作。Insteadof觸發器是定義在視圖上的,而不是在表上,它是用來替換所使用實際語句的觸發器。因為一個視圖通常由多個基本表連接而成,這種視圖不允許進行instead、update和delete這樣的DML操作。當為視圖編寫insteadof觸發器后,用戶對視圖的DML操作就不會被執行,而是執行觸發器中的PL/SQL語句塊,這樣就可以通過在insteadof觸發器中編寫適當的代碼對構成視圖的各個表進行操作。介紹創建表時常用的數據類型。答:字符數據類型,數值數據類型,日期時間數據類型,LOB數據類型,ROWID數據類型。簡要介紹Oracle數據表的特性當用戶在Oracle中建立模式對象(如表)時,Oracle允許用戶規定該對象如何使用磁盤上的存儲空間。如果僅為表指定了表空間,而沒有設置存儲參數,它將自動采用所屬表空間的默認存儲參數設置。然而表空間的默認存儲參數設置并不一定對表空間中的每一個表都適合,因此,當表所需的存儲參數與表空間的默認存儲參數不同時,需要在創建表時顯式指定存儲參數以替換表空間的默認存儲設置。簡要介紹oracle數據表的各類約束及作用。答:非空約束,就是限制必須為某個列提供值;主鍵約束,用于惟一地確定表中的每一行數據;惟一性約束,強調所在的列不允許有相同的值;外鍵約束,外鍵約束可以使兩個表進行關聯;檢查約束;默認約束大對象數據類型?CLOB類型;字符LOB類型可以用來存儲各種字符數據,主要用于存儲英語字符;NCLOB類型,國際語言字符LOB類型,使用多字節存儲各種語言的字符,主要用于存儲非英語字符;BLOB類型,二進制LOB類型主要用于存儲二進制數據;BFILE類型,二進制FILE類型,用于存儲指向數據庫系統外面的文件系統中文件的指針。如何使用大對象數據類型?在創建大對象表時,可以根據實際情況直接使用大對象類型定義某些列。大對象定義完成之后,應該使用初始化函數初始化大對象列。對應CLOB或NCLOB歹U,可以使用EMPTY_CLOB()函數進行初始化。對于BLOB歹U,應該使用EMPTY_BLOB()函數進行初始化。可以在INSERT語句中使用這些初始化函數,初始化完成后,可以使用UPDATE語句向大對象列加入數據。簡述B樹索引的組織結構。答:B樹索引是以B樹結構組織并存放索引數據的。默認情況下,B樹索引中的數據是以升序方式排列的。B樹索引由根塊、分支枝和葉塊3部分組成,其中主要數據都集中在葉子結點。簡述位圖索引的組織結構。答:以位圖值標識索引數據,主要用于在DSS系統中執行數據統計、數據匯總等操作。簡述反向鍵索引的工作原理。答:Oracle會自動為表的主鍵列建立索引,這個默認的索引是普通的B-Tree索引。對于主鍵值是按順序(遞增或遞減)加入的情況,默認的B-Tree索引并不理想。這是因為如果索引列的值具有嚴格順序時,隨著數據行的插入,索引樹的層級增長很快。搜索索引發生的I/O讀寫次數和索引樹的層級數成正比,也就是說,一棵具有5個層級的B-Tree索引,在最終讀取到索引數據時最多可能發生多達5次I/O操作。因而,減少索引的層級數是索引性能調整的一個重要方法。簡述索引組織表與普通表之間的區別。答:對普通表而言,表、索引數據分別存放在表段、索引段中,要占用更多空間;而對于索引表而言,主鍵列和非主鍵列的數據都存放在主鍵索引中。索引組織表存儲結構采用索引(B-樹結構)來組織表的數據的組織方式,將記錄按照某個主鍵列進行排序后,再以B樹的組織方式存放在主鍵索引段中。標準表存儲結構采用堆組織方式,將記錄無序地存放在數據段中。簡述索引組織表的溢出存儲。答:增加溢出段,建立索引表時,既可以指定OVERFLOW關鍵字建立溢出段,也可以不指定OVERFLOW關鍵字;修改溢出段,修改索引表時,OVERFLOW選項之前的所有選項只適用于索引段,而OVERFLOW之后的選項只適用于溢出段。外部表的局限性答:在外部表上不能執行DML操作,也不能在外部表上建立索引。簡述什么是簇,以及什么是散列簇答:簇是一種用于存儲數據表中數據的方法,實際上是一組表,由一組共享相同數據塊的多個表組成;散列簇使用散列函數定位行的位置。通過散列簇,可以將靜態的數據均勻地分布到數據塊中。舉例說明withcheckoption的作用答:該選項用于在視圖上定義check約束。定義了/r

溫馨提示

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

評論

0/150

提交評論