1、Oracle實例和數據庫的概念和關系是什么?
參考:
數據庫,就是指保存與用戶數據相關的各種文件,如數據文件、索引文件、日志文件等。在Oracle中,還有控制文件,密碼文件等。
實例:就是指管理這些文件的程序。啟動以后叫做進程,同時還需要分配內存。
2、SGA的各個組成部分的名稱和作用,PGA與它有什么區別?
參考:
SGA包含三個部分
共享池:提升了程序執行的效率
日志緩沖區:提升了數據修改的效率
數據緩沖區:提升了查詢的效率
SGA內存是所有進程都可以訪問的,而PGA中連接到Oracle的某個程序專用的。
3、數據庫的邏輯結構是什么?
參考:
塊:最小存儲空間
區:最小分配空間
段:不同的數據類型在不同的段,如索引段、數據段、臨時段、回滾段(修改以后的數據先在回滾段)
表空間:對應數據文件,一個表空間可以有多個文件,一個文件只能屬于一個表空間
4、視圖是什么,有什么作用?
參考:
視圖就是一個包含一條查詢語句的對象,它能夠簡化復雜sql語句的調用。
如果在java程序中使用視圖,則sql改變時,java程序也不需要改。實現了sql的復用。
5、為什么要用同義詞,與視圖有什么區別?
參考:
在需要給對象一個新的名稱時可以使用同義詞。
視圖中包含了一條查詢語句,而同義詞相當于是一個對象快捷方式。
6、為什么要用,序列在Oracle中通常有什么用?
參考:
序列能夠非常高效的提供一個不重復的整數。
Oracle中沒有自動增長的數據類型,所以經常用序列來為主鍵提供編號。
7、dual是什么表,有什么作用?
參考:
dual是一個系統表,叫做啞表。
通常用于計算表達式的值。
8、scott是什么,有什么用?
參考:scott是安裝Oracle以后自帶的一個用戶,主要目的是為了提供一些原始數據,以方便學習SQL和PL/SQL。
9、談談對Oracle的認識(體系架構)?
回答:Oracle的體系很復雜,復雜的原因是(需要充分利用內存),它在整體上分(實例)和(數據庫)兩部分。實例主要由(SGA)和(后臺進程)組成。其中與Oracle性能關系最大的是(SGA),它包含三個部分分別是(數據緩沖區,日志緩沖區,共享池)。數據緩沖區(避免重復讀取常用的數據),日志緩沖區(減少了磁盤的讀寫);共享池(減少了相同SQL的編譯,提高了SQL執行的速度)。
10、SGA三個部分為什么能夠提高性能?
·共享池:使相同的SQL不再編譯;SQL所涉及的表結構(數據字典)不再從系統表中讀取。
·日志緩沖:減少了寫日志時對磁盤的訪問次數,提高了數據增刪改的速度
·數據緩沖:因為避免再讀取已經被讀取過數據而加快速度。