Oracle DBA 問題記錄

shely發表於2009-02-19

Oracle DBA 問題記錄
 
1.select執行時oracle內部的過程
  分析:其中包括語法分析、語義分析、檢視轉換、表示式轉換、選擇優化器、選擇連線方式、選擇連線順序、選擇資料搜尋路徑等等,然後在SGA中的共享SQL區中找是否執行過該語句,如找到則直接執行已編譯的SQL語句,如沒有找到,則先編譯後放入SGA,並執行編譯後的SQL語句。

  執行:在執行編譯過的SQL語句時,先在SGA中的資料庫緩衝區內查詢是否存在所需要的資料,如有直接讀取,如果沒有,則從物理檔案中讀取至資料庫緩衝區並讀取。

  返回結果:對SELECT 語句需要返回結果的語句,先看是否需要排序,需要,則排序後返回給使用者,然後根據記憶體的大小不同,可以一次取出一行資料,也可以一次取一組資料。

  2.熱備份導致非一致性解決方法
  使用熱備份會導致備份的資料具有非一致性,在Oracle提供的RMAN工具中可以依靠聯機重做日誌解決恢復備份時導致的非一致性。

  3.熱備份所備份檔案
  資料庫檔案
  日誌檔案
  控制檔案
  引數檔案
  口令檔案
  網路引數檔案

  4.資料庫中的最小讀寫操做以什麼為單位
  Oracleblock是Oracle資料庫中讀寫操作的最小單元。一個Oracleblock由三個部分組成,分別是資料塊頭、自由空間、實際資料三部份組成。

  資料塊頭:主要包含有資料塊地址的一些基本資訊和段的型別,以及表和包含有資料的實際行的地址。

  自由空間:是指可以為以後的更新和插入操作分配的空間,大小由PCTFREE和PCTUSED兩個引數影響。

  實際資料:是指在行記憶體儲的實際資料。

  當建立或者更改任何表和索引的時候,Oracle在空間控制方面使用兩個儲存引數:PCTFREE:為將來更新已經存在的資料預留空間的百分比。PCTUSED:用於為插入一新行資料的最小空間的百分比。這個值決定了塊的可用狀態。可用的塊時可以執行插入的塊,不可用狀態的塊只能執行刪除和修改,可用狀態的塊被放在freelist中。

  5.資料庫的兩種連線模式

  1.專用伺服器連線(dedicated server)
  在專用伺服器模式下,優點就是每個使用者都有一個連線,所以大家不至於有的應用佔著連線造成別的客戶的請求給掛起了。而最大的缺點在於記憶體管理上。

  2.共享伺服器連線(shared server)
  而共享連線方式優點在於連線數量固定,所以記憶體數量不會佔用很多。共享伺服器的最大的缺點還是在於資料倉儲模式下執行的時候,如果有大量的請求需要長時間佔用伺服器,那麼就會造成很多別的請求的掛起,導致整個伺服器效能的降低。

  6.oracle伺服器的體系結構
  oracle系統體系結構由例項、邏輯結構和物理結構組成。

  1.例項:SGA、系統監視SMON、程式監視PMON、資料庫寫入器DBWn、日誌寫入器LGWR、檢查點CKPT等程式組成。

  2.邏輯結構:主要由:表空間、段、區和資料塊等概念組成。邏輯結構是面向使用者的,使用者使用Oracle開發應用程式使用的就是邏輯結構。資料庫儲存層次結構及其構成關係,結構物件也從資料塊到表空間形成了不同層次的粒度關係

  3.物理結構:主要是資料庫檔案,包括控制檔案、重做日誌檔案、資料檔案等等。

  7.RAC實際應用群集
  RAC允許不同計算機上的多個例項開啟共享磁碟系統上的一個或多個公用資料庫,它極大地提高了資料庫的效能、容錯和可伸縮性。多對多的架構也可用較低的價格擴充套件資料庫規模。

  8.Linux啟動過程
  poweron --BIOS自檢--LILO/GRUB呼叫---KERNEL 呼叫--INIT 呼叫---MIGGETTY--LOGIN

  9.Linux決定開機後是否進入GUI介面的配置檔名
  在UNIX/Linux中一般將執行級別分為7級(一說九級,但實際應用為六級,保留一級):

  0 系統停機
  1 單使用者模式
  2 多使用者模式
  3 網路多使用者模式
  4 保留
  5 X11模式(即進入圖形介面模式)
  6 重起

  系統將其設定在/etc/inittab配置檔案中:
  id:3:initdefault:

  10.oracle調整工具
  1.STATSPACK:通過Statspack我們可以很容易的確定Oracle資料庫的瓶頸所在,記錄資料庫效能狀態。

  2.SQL Tuning:SQL Tuning Advisor用一個調整工具集作為輸入,檢查其中的語句併為它們提出優化建議。

  11.Date Guard
  Oracle9i Data Guard 通過使用稱為standby database的資料庫來防止出現資料的災難。它通過將primary database資料庫的重做日誌傳到並應用到standby database資料庫來使standby database資料庫與primary database資料庫同步。

  OracleStandby Database 是最經常使用的最有效的災難解決方案。在過去版本的基礎上,Oracle9i 又進行了許多改進,使其功能遠遠超過了基本的災難恢復要求。通過將複雜的工作自動化,並對監控、警告、以及控制機制的大規模改進,Standby Database 和一些新的模組可以幫助DBA從錯誤操作、癱瘓、以及其它的災難中恢復(這些災難都可能毀掉資料庫)。另外,通過使用Oracle9i Standby Database,由於硬體和軟體升級造成的當機時間也可以極度縮短。

  Oracle9i 將改進過的8版本的Standby Database功能,與幾個新增加的防止使用者錯誤和癱瘓的模組合起來稱為Oracle9i Data Guard。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7299296/viewspace-555684/,如需轉載,請註明出處,否則將追究法律責任。

相關文章