17、SGA主要有那些部分,主要作用是什么?
系統全局區(SGA):是ORACLE為實例分配的一組共享緩沖存儲區,用于存放數據庫數據和控制信息,以實現對數據庫數據的管理和操作。 SGA主要包括:
1. 共享池(shared pool) :用來存儲最近執行的SQL語句和最近使用的數據字典的數據。
2. 數據緩沖區(database buffer cache):用來存儲最近從數據文件中讀寫過的數據。
3. 重作日志緩沖區(redo log buffer):用來記錄服務或后臺進程對數據庫的操作。 另外在SGA中還有兩個可選的內存結構:
4. Java pool: 用來存儲Java代碼。
5. Large pool: 用來存儲不與SQL直接相關的大型內存結構。備份、恢復使用。
18、Oracle系統進程主要有哪些,作用是什么?
數據寫進程(DBWR):負責將更改的數據從數據庫緩沖區高速緩存寫入數據文件
日志寫進程(LGWR):將重做日志緩沖區中的更改寫入在線重做日志文件
系統監控 (SMON): 檢查數據庫的一致性如有必要還會在數據庫打開時啟動數據庫的恢復
進程監控 (PMON): 負責在一個Oracle 進程失敗時清理資源
檢查點進程(CKPT):負責在每當緩沖區高速緩存中的更改永久地記錄在數據庫中時,更新控制文件和數據文件中的數據庫狀態信息。
歸檔進程 (ARCH):在每次日志切換時把已滿的日志組進行備份或歸檔
恢復進程 (RECO): 保證分布式事務的一致性,在分布式事務中,要么同時commit,要么同時rollback
21、Oracle中的控制文件什么時候讀取?
Oracle服務器啟動時,先啟動實例然后再讀取數據庫的各個文件當然也包括控制文件。也就是說在數據庫服務器啟動的第二步時讀取。
22、Oracle索引分為哪幾類,說出唯一索引和位圖索引的概念。
Oracle索引有B樹索引,位圖索引,函數索引,簇索引等。
唯一索引也是B樹索引的一種,它要求被索引的字段值不可以重復。在創建的時候使用B樹算法創建。
位圖索引是為每一個唯一的字段值創建一個位圖,位圖中使用位元來對應一個記錄的ROWID。位元到ROWID是通過映射得到的。