Oracle10g系統管理2

2021-08-31 19:33:02 字數 2946 閱讀 9476

13.資料庫物理結構

資料庫檔案

資料檔案datafile

重做日誌logfile

控制檔案controlfile:資料檔案的位置及大小,重做日誌檔案的位置及大小,資料庫名稱及建立時間,日誌序列號

歸檔日誌archive log file

引數檔案pfile,spfile,init.ora,spfile.ora

口令檔案pwd.ora:用於驗證特權使用者,具有sysdba和sysoper許可權的特殊資料庫使用者。

預警檔案alert file:

預警檔案由連續的訊息和錯誤組成,並且這些訊息和錯誤是按時間排序存放的。使用預警檔案,可以檢視oracle內部錯誤(錯誤號為ora-600)、塊損壞錯誤、非預設初始化引數,可以監視特權使用者的操作(如啟動例項、關閉例程、備份和恢復等),可以監視資料庫物理結構的改變(如建立表空間、刪除表空間等)。預警檔案由初始化引數background_dump_dest指定,alert_.log,並且其資訊由伺服器程序和後台程序(dbwr、lgwr)寫入。

後台程序跟蹤檔案用於記載後台程序的警告或錯誤訊息,每個後台程序都有相應的跟蹤檔案。由初始化引數background_dump_dest指定,__.trc

伺服器程序跟蹤檔案用於記載伺服器程序的相關資訊,主要用於跟蹤sql語句。通過使用伺服器程序跟蹤檔案,可以診斷sql語句效能,並作出相應的sql調整規劃。當跟蹤sql語句時,必須啟用sql跟蹤。由初始化引數user_dump_dest確定,_ora_.trc

14.資料庫邏輯結構

表空間tablespace

system表空間、sysaux表空間、臨時表空間、undo表空間、資料表空間和索引表空間等。

system表空間用於存放系統資料(資料字典資訊)

sysaux表空間是oracle 10g的新特徵,用於儲存資料庫輔助系統資訊(如oem資料檔案庫)

段空間segement

段(segment)用於儲存特定邏輯物件(表、簇、索引等)的所有資料,有乙個或多個區組成

表段,索引段,臨時段,undo段

區extent

oracle塊

15.應用程式的所有sql操作都是由伺服器程序執行的,而使用者程序只是傳送sql語句,並接收sql語句的結果。

由於所有sql操作都是由伺服器程序執行的,所以伺服器程序也被稱為使用者程序的影子程序(shadow process)

伺服器程序處理select語句包括解析(parse)、執行(execute)和提取資料(fetch)三個階段。

1)解析(parse)用於檢查sql語句的語法和語義,生成sql語句的執行計畫,並將sql語句和執行計畫存放到共享池中。伺服器程序執行如下操作:

搜尋庫快取記憶體,並檢查是否存在相同的sql語句。如存在,直接執行該sql語句。

如不存在,伺服器程序會檢查該sql語句的語法。

當語法正確時,會檢查sql語義,以確定表名、列名是否正確。

當語義正確,則獲得物件解析鎖,以防止在解析期間其他使用者改變物件結構。

檢查使用者是否具有訪問物件的許可權。

有訪問許可權,則由優化器確定該sql語句的最佳執行計畫。

將sql語句及其執行計畫裝載到庫快取記憶體。

2)執行(execute)伺服器程序將按照執行計畫中所安排的步驟執行select語句:

確定被選擇行所在資料塊是否已經被讀取到緩衝區。若已經存在,直接提取資料。

若不在,將資料從資料檔案讀取到資料快取記憶體。

3)提取資料(fetch)是將被選擇行資料返回到客戶端。

16.處理dml語句

解析(parse)

執行(execute)伺服器程序按照執行計畫執行該dml語句,過程如下:

檢查被修改行資料是否在資料快取記憶體中。

在被修改行上加行鎖,防止其他使用者修改相應行資料;在表上加表鎖,防止其他使用者刪表或改表結構。

將資料變化(表塊變化、undo塊變化)寫入到重做日誌緩衝區。

修改緩衝區資料,將事務的新資料寫入到表塊對應的緩衝區中,將事務的舊資料寫入到undo塊對應的緩衝區中。

17.處理commit

將commit語句及scn寫入重做日誌緩衝區。

後台程序lgwr將重做日誌緩衝區的所有事務變化寫入重做日誌檔案。採用快速提交機制,提交時刻只是將事務變化寫入重做日誌,而髒緩衝區的資料不會寫入資料檔案。

將提交完成資訊返回到使用者程序。

釋放事務所占用的表鎖和行鎖。

18.當使用oem控制工具管理oracle資料庫時,特權使用者(sys)和dba使用者(system)可以直接登入,而普通資料庫使用者則必須具有select_catalog_role角色。

emctl start dbconsole

lsnrctl start

使用工具oradim建立例程服務和管理例程服務的方法,windows平台,unix和linux平台不需要

oradim -startup -sid orcl

net start oracleserviceorcl

net stop oracleserviceorcl

19.sysdba特權

預設情況下只有sys使用者具有sysdba特權。是oracle資料庫中具有最高端別許可權的特殊許可權。

該特權可以執行啟動資料庫、關閉資料庫、建立資料庫、備份和恢復資料庫,以及任何其他的管理操作。

如果要以sysdba身份登入,要求os使用者必須具有osdba角色(windows平台:ora_dba組,unix平台:dba使用者組)。

20.sysoper特權

該特權可以啟動資料庫、關閉資料庫。不能建立資料庫,也不能執行不完全恢復。sysoper特權也不具備dba角色的任何許可權。

如果要以sysoper身份登入,要求os使用者必須具有osoper角色

21.dba角色

當資料庫處於open狀態時,dba角色可以在資料庫中執行各種管理操作(如管理表空間、管理使用者等),但dba角色不能執行sysdba和sysoper所具有的任何特權操作(如啟動和關閉資料庫、建立資料庫等)。預設情況下只有system使用者具有dba角色。

Oracle10g系統管理4

30.建立資料庫步驟 建立例程服務 建立引數檔案 以nomount方式啟動例程 建立資料庫 執行指令碼完成後續操作 31.建立資料庫指令碼 create database demo maxinstances 8 maxloghistory 1 maxlogfiles 16 maxlogmembers...

Oracle10g系統管理6

39.控制檔案用於記錄和維護資料庫的物理結構。當啟動例程並開啟資料庫時,oracle會根據初始化引數control files在例程和資料庫之間建立關聯。裝載資料庫 mount狀態 時,oracle會按照初始化引數control files定位並開啟控制檔案。開啟資料庫時,oracle會根據控制檔案...

Oracle10g系統管理11

56.精細訪問控制使使用者可以使用函式 策略實現更加細微的安全訪問控制。如果使用精細訪問控制,那麼當在客戶端發出sql語句 select insert update delete 時,oracle會自動在這些sql語句後追加謂詞 where子句 並執行新的sql語句。通過使用精細訪問控制,可以使不同...