




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、第第 8 8 章章 數(shù)據(jù)庫保護數(shù)據(jù)庫保護內(nèi)容提要內(nèi)容提要:1.數(shù)據(jù)庫的安全性數(shù)據(jù)庫的安全性(1)數(shù)據(jù)庫的存取控制和用戶的建立)數(shù)據(jù)庫的存取控制和用戶的建立(2)特權和角色)特權和角色(3)審計)審計2.數(shù)據(jù)完整性數(shù)據(jù)完整性(1)完整性的約束)完整性的約束(2)數(shù)據(jù)庫的觸發(fā)器)數(shù)據(jù)庫的觸發(fā)器3.并發(fā)控制并發(fā)控制(1)數(shù)據(jù)庫不一致的數(shù)據(jù)類型)數(shù)據(jù)庫不一致的數(shù)據(jù)類型(2)封鎖)封鎖(3)Oracle多種一致性模型多種一致性模型(4)封鎖機制)封鎖機制(5)手工的數(shù)據(jù)封鎖)手工的數(shù)據(jù)封鎖4.數(shù)據(jù)庫后備和恢復數(shù)據(jù)庫后備和恢復(1)數(shù)據(jù)庫恢復所使用的結構)數(shù)據(jù)庫恢復所使用的結構 (2)在線及歸檔日志()在
2、線及歸檔日志(LogMiner) (3)數(shù)據(jù)庫后備)數(shù)據(jù)庫后備(Data Guard)和恢復(和恢復(RMAN) (4)Oracle的閃回技術的閃回技術 (5)Oracle RAC技術技術 (6)自動存儲管理()自動存儲管理(ASM) 目的要求:目的要求:1.了解數(shù)據(jù)庫安全性定義、計算機系統(tǒng)的分級安全措施、了解數(shù)據(jù)庫安全性定義、計算機系統(tǒng)的分級安全措施、數(shù)據(jù)庫系統(tǒng)安全機制要做的工作、數(shù)據(jù)庫安全性分類數(shù)據(jù)庫系統(tǒng)安全機制要做的工作、數(shù)據(jù)庫安全性分類2.了解用戶模式和用戶安全域的基本概念及如何建立用了解用戶模式和用戶安全域的基本概念及如何建立用戶戶3.了解特權和角色的基本概念及建立了解特權和角色的基
3、本概念及建立4.了解審計的概念和使用了解審計的概念和使用5.了解完整性約束的定義、優(yōu)點(了解完整性約束的定義、優(yōu)點(3個)個)Oracle表完整性表完整性約束的類型(約束的類型(5個)個)6.了解數(shù)據(jù)庫觸發(fā)器的定義與過程的異同、作用了解數(shù)據(jù)庫觸發(fā)器的定義與過程的異同、作用7.了解數(shù)據(jù)庫觸發(fā)器的組成、類型了解數(shù)據(jù)庫觸發(fā)器的組成、類型8.能用能用SQL命令建立、更改、刪除觸發(fā)器命令建立、更改、刪除觸發(fā)器9.了解并行操作的(多程序或程序的多進程)基本概念了解并行操作的(多程序或程序的多進程)基本概念和數(shù)據(jù)不一致的兩因素(對數(shù)據(jù)修改、并行操作)及和數(shù)據(jù)不一致的兩因素(對數(shù)據(jù)修改、并行操作)及對并行操作
4、的措施(封鎖)對并行操作的措施(封鎖)10.了解數(shù)據(jù)庫不一致的類型(例如同查詢返回不同了解數(shù)據(jù)庫不一致的類型(例如同查詢返回不同“臟臟數(shù)據(jù)等數(shù)據(jù)等”)11.了解封鎖的基本概念、兩種封鎖(排它、共享表共享了解封鎖的基本概念、兩種封鎖(排它、共享表共享封鎖)和防死鎖封鎖)和防死鎖12.了解了解Oracle多種一致性模型(語句級和事務級讀一致多種一致性模型(語句級和事務級讀一致性)性)13.了解封鎖機制及五類封鎖(數(shù)據(jù)封鎖了解封鎖機制及五類封鎖(數(shù)據(jù)封鎖DML、數(shù)典封鎖、數(shù)典封鎖DDL、內(nèi)部封鎖、內(nèi)部封鎖SCN、分布式封鎖、并行緩沖管理封、分布式封鎖、并行緩沖管理封鎖)鎖)14.了解手工封鎖(事務級
5、:了解手工封鎖(事務級:LOCK SQL命令,系統(tǒng)級:命令,系統(tǒng)級:調整初始參數(shù)調整初始參數(shù)ROW-LOCK)15.了解數(shù)據(jù)庫恢復的基本概念與重要性了解數(shù)據(jù)庫恢復的基本概念與重要性16.了解數(shù)據(jù)為恢復所使用的四種結構(數(shù)據(jù)后備、日志、了解數(shù)據(jù)為恢復所使用的四種結構(數(shù)據(jù)后備、日志、回滾段、控制文件)回滾段、控制文件)17.了解在線日志與日志開頭、檢查點、鏡像在線日志文件了解在線日志與日志開頭、檢查點、鏡像在線日志文件以及日志線索的基本概念以及日志線索的基本概念18.了解歸檔日志的概念、用途和機制,以及了解歸檔日志的概念、用途和機制,以及LogMiner 19.了解數(shù)據(jù)庫后備的概念(操作系統(tǒng)后備
6、物理文件)、完了解數(shù)據(jù)庫后備的概念(操作系統(tǒng)后備物理文件)、完全和部分后備(數(shù)據(jù)文件和控制文件)全和部分后備(數(shù)據(jù)文件和控制文件) ,以及,以及Data Guard20.了解數(shù)據(jù)庫實例故障恢復、介質故障恢復(完全和不完了解數(shù)據(jù)庫實例故障恢復、介質故障恢復(完全和不完全)全) ,以及,以及RMAN 21.了解數(shù)據(jù)庫高可用性了解數(shù)據(jù)庫高可用性 (Oracle的閃回技術的閃回技術 、RAC 、自、自動存儲管理動存儲管理 ASM )重點:重點:1. 任意存取控制的概念任意存取控制的概念2. 完整性約束和數(shù)據(jù)庫觸發(fā)器的基本概念完整性約束和數(shù)據(jù)庫觸發(fā)器的基本概念3. 封鎖的基本概念封鎖的基本概念4. 在線
7、及歸檔日志(在線及歸檔日志(LogMiner)5. 數(shù)據(jù)庫后備數(shù)據(jù)庫后備(Data Guard)和恢復(和恢復(RMAN) 難點:難點:1. 用用Oracle的的SQL建立或刪除用戶、授予或回收特權、建立或刪除用戶、授予或回收特權、角色等。角色等。2. 用用SQL命令建立、更改、刪除觸發(fā)器命令建立、更改、刪除觸發(fā)器3. 死鎖和封鎖的類型死鎖和封鎖的類型4. 檢查點及其機制檢查點及其機制5. Oracle的閃回技術的閃回技術 、RAC 、自動存儲管理、自動存儲管理 ASM 作業(yè)、實驗:作業(yè)、實驗:第第1次作業(yè):次作業(yè): P250,10、12、13、17,20,21,22,23第第 8 8 章章
8、數(shù)據(jù)庫保護數(shù)據(jù)庫保護 本章主要介紹數(shù)據(jù)庫的完全性(用戶鑒別、特權、角色、審本章主要介紹數(shù)據(jù)庫的完全性(用戶鑒別、特權、角色、審計)、數(shù)據(jù)完整性(數(shù)據(jù)庫觸發(fā)器)和并發(fā)控制,數(shù)據(jù)庫后備及計)、數(shù)據(jù)完整性(數(shù)據(jù)庫觸發(fā)器)和并發(fā)控制,數(shù)據(jù)庫后備及恢復,高可用性等,以便對數(shù)據(jù)庫進行必要的保護。恢復,高可用性等,以便對數(shù)據(jù)庫進行必要的保護。8.1 數(shù)據(jù)庫的安全性數(shù)據(jù)庫的安全性(用戶鑒別、特權、角色、審用戶鑒別、特權、角色、審計計) 8.2 數(shù)據(jù)完整性(數(shù)據(jù)庫觸發(fā)器)數(shù)據(jù)完整性(數(shù)據(jù)庫觸發(fā)器)8.3 并發(fā)控制并發(fā)控制 8.4 數(shù)據(jù)庫后備和恢復數(shù)據(jù)庫后備和恢復以及高可用性以及高可用性 (LogMiner 、D
9、ata Guard 、RMAN 、 閃回閃回技術技術 、RAC 、ASM )8.1數(shù)據(jù)庫的安全性8.1數(shù)據(jù)據(jù)的安全性數(shù)據(jù)據(jù)的安全性目的:保護數(shù)據(jù)以防止不合法的使用所造成的數(shù)據(jù)泄露、更改或破壞 安全控制模型 (圖8-1)在數(shù)據(jù)庫系統(tǒng)這一級中提供兩種控制:用戶標識和鑒定,數(shù)據(jù)存取控制。 OSDBMS用 戶DB數(shù)據(jù)庫安全性分類 1、數(shù)據(jù)庫安全性分類、數(shù)據(jù)庫安全性分類系統(tǒng)安全性:指在系統(tǒng)級控制數(shù)據(jù)庫的存取和使用的系統(tǒng)安全性:指在系統(tǒng)級控制數(shù)據(jù)庫的存取和使用的機制機制 l有效的用戶名口令的組合有效的用戶名口令的組合 l一個用戶是否授權可連接數(shù)據(jù)庫一個用戶是否授權可連接數(shù)據(jù)庫 l用戶對象可用的磁盤空間的數(shù)
10、量用戶對象可用的磁盤空間的數(shù)量 l用戶的資源限制用戶的資源限制 l數(shù)據(jù)庫審計是否是有效的數(shù)據(jù)庫審計是否是有效的 l用戶可執(zhí)行哪些系統(tǒng)操作用戶可執(zhí)行哪些系統(tǒng)操作 數(shù)據(jù)安全性:指在對象級控制數(shù)據(jù)庫的存取和使用的數(shù)據(jù)安全性:指在對象級控制數(shù)據(jù)庫的存取和使用的機制。哪些用戶可存取一指定的模式對象及在對象上機制。哪些用戶可存取一指定的模式對象及在對象上允許作哪些操作類型允許作哪些操作類型 ORACLE管理數(shù)據(jù)庫安全性機制2、ORACLE管理數(shù)據(jù)庫安全機制管理數(shù)據(jù)庫安全機制數(shù)據(jù)庫用戶和模式數(shù)據(jù)庫用戶和模式 特權特權 角色角色(Role) 存儲設置和空間份額存儲設置和空間份額 資源限制資源限制 審計審計8.
11、1數(shù)據(jù)庫的安全性8.1.1 數(shù)據(jù)庫的存取控制和用戶的建立8.1.2 特權和角色8.1.3 審計返回章8.1.18.1.1數(shù)據(jù)庫的存取控制和用戶的建立數(shù)據(jù)庫的存取控制和用戶的建立一、數(shù)據(jù)庫的存取控制一、數(shù)據(jù)庫的存取控制任意存取控制來控制全部用戶對命名對象的存取。任意存取控制來控制全部用戶對命名對象的存取。用戶對對象的存取受特權控制用戶對對象的存取受特權控制一種特權是存取一命名對象的許可,為一種規(guī)定格式。一種特權是存取一命名對象的許可,為一種規(guī)定格式。 合法的用戶合法的用戶 :有一個相應的模式:有一個相應的模式 ,該用戶就可存取相,該用戶就可存取相應模式中的全部對象應模式中的全部對象 每一個用戶有
12、一個安全域,它是一組特性,可決定下每一個用戶有一個安全域,它是一組特性,可決定下列內(nèi)容:列內(nèi)容: 用戶可用的特權和角色;用戶可用的表空間用戶可用的特權和角色;用戶可用的表空間的份額(磁盤空間);用戶的系統(tǒng)資源限制(如的份額(磁盤空間);用戶的系統(tǒng)資源限制(如CPU處理時間處理時間建立用戶的命令 -語法格式 二、建立用戶二、建立用戶CREATE USER 用戶名用戶名 IDENTIFIED BY 口令口令DEFAULT TABLESPACE 表空間表空間名名TEMPORARY TABLESPACE 表空間名表空間名QUOTA 整數(shù)整數(shù)KMUNLIMITED ON 表空間表空間名名,PROFILE
13、 環(huán)境文件名環(huán)境文件名操作者使用該命令時必須具有操作者使用該命令時必須具有CREATE USER系統(tǒng)特系統(tǒng)特權權 QUOTA:指定該用戶在表空間可分配空間的總額:指定該用戶在表空間可分配空間的總額 IDENTIFIED:標識:標識ORACLE鑒別用戶的方式鑒別用戶的方式 建立用戶例子(1)建立用戶)建立用戶SIDNEY(例(例8.1):):CREATE USER SidneyIDENTIFIED BY CartonDEFAULT TABLESPACE Cases_tsTEMPORARY TABLESPACE temp_tsQUOTA 10M ON cases_tsQUOTA 5M ON tem
14、p_tsQUOTA 5M ON SYSTEMPROFILE engineer (2) 說明:說明: 建立的建立的SIDNEY用戶有下列特性:用戶有下列特性:口令為口令為Carton。缺省表空間為缺省表空間為Cases_ts,具有具有10兆字節(jié)定額。兆字節(jié)定額。臨時表空間為臨時表空間為Temp_ts,具有,具有5兆字節(jié)的定額。兆字節(jié)的定額??纱嫒】纱嫒YSTEM表空間,具有表空間,具有5兆字節(jié)的定額。兆字節(jié)的定額。數(shù)據(jù)庫資源限制由環(huán)境文件數(shù)據(jù)庫資源限制由環(huán)境文件ENGINEER指定。指定。1.用戶鑒別用戶鑒別 (1) ORACLE可使用操作系統(tǒng)所維護的信息來鑒定可使用操作系統(tǒng)所維護的信息來鑒定
15、用戶。用戶。 (2)ORACLE數(shù)據(jù)庫方式的用戶確認。數(shù)據(jù)庫方式的用戶確認。 用戶口令在訪問對數(shù)據(jù)庫時使用,以防止對數(shù)據(jù)庫非用戶口令在訪問對數(shù)據(jù)庫時使用,以防止對數(shù)據(jù)庫非授權的使用。授權的使用。 2. 用戶的表空間設置和定額用戶的表空間設置和定額 用戶的默認表空間;用戶的默認表空間; 用戶的臨時表空間用戶的臨時表空間 數(shù)據(jù)庫表空間的空間使用定額。數(shù)據(jù)庫表空間的空間使用定額。3. 用戶資源限制和環(huán)境文件用戶資源限制和環(huán)境文件 (1)用戶資源限制)用戶資源限制 在會話級:在會話級: 連接到一數(shù)據(jù)庫,建立一會話連接到一數(shù)據(jù)庫,建立一會話(session)。耗費。耗費CPU時間和對內(nèi)存量進行限制時間和
16、對內(nèi)存量進行限制,超過,當前語句被中超過,當前語句被中止(回滾),并返回指明會話限制已達到的信息。止(回滾),并返回指明會話限制已達到的信息。 在調用級:在調用級: I/O數(shù)據(jù)塊讀的數(shù)目等,超過,語句處理被停止,數(shù)據(jù)塊讀的數(shù)目等,超過,語句處理被停止,該語句被回滾,并返回一錯誤。該語句被回滾,并返回一錯誤。(2)用戶環(huán)境文件)用戶環(huán)境文件 資源限制是由環(huán)境文件管理。用戶環(huán)境文件資源限制是由環(huán)境文件管理。用戶環(huán)境文件(profile)是指定資源限制的命名集,可賦給是指定資源限制的命名集,可賦給ORACLE數(shù)據(jù)庫的有效的用戶。利用用戶環(huán)境文件可容易地管數(shù)據(jù)庫的有效的用戶。利用用戶環(huán)境文件可容易地管
17、理資源限制。用戶的環(huán)境文件的合適資源限制的最好理資源限制。用戶的環(huán)境文件的合適資源限制的最好方法是收集每種資源使用的歷史信息。方法是收集每種資源使用的歷史信息。 8.1.2 8.1.2 特權和角色特權和角色1、特權、特權特權特權 :執(zhí)行一種特殊類型的:執(zhí)行一種特殊類型的SQL語句或存取另一用戶語句或存取另一用戶的對象的權力。的對象的權力。ORACLE有兩類特權有兩類特權:系統(tǒng)特權和對象系統(tǒng)特權和對象特權。特權。 角色:角色:(role)為相關特權的命名組為相關特權的命名組,可授權給用戶和角可授權給用戶和角色色 (1)系統(tǒng)特權)系統(tǒng)特權系統(tǒng)特權系統(tǒng)特權 :執(zhí)行一種特殊動作或者在對象類型上執(zhí)行:執(zhí)
18、行一種特殊動作或者在對象類型上執(zhí)行一種特殊動作的權利一種特殊動作的權利可授權給用戶或角色可授權給用戶或角色 語法格式:語法格式:GRANT 特權名特權名角色名角色名,TO 用戶名用戶名角色角色名名PUBLIC,WITH ADMIN OPTION PUBLIC:表示將系統(tǒng)特權和角色授權給全部用戶。:表示將系統(tǒng)特權和角色授權給全部用戶。 WITH ADMIN OPTION:允許被授與者將該系統(tǒng)特權或:允許被授與者將該系統(tǒng)特權或角色授給其他用戶和角色角色授給其他用戶和角色 系統(tǒng)特權系統(tǒng)特權例子:例子:例例8.2: 將將CREATE SESSION 系統(tǒng)特權授給系統(tǒng)特權授給RICHARD。GRANT
19、CREATE SESSION TO richard 允許允許RICHARD登錄登錄ORACLE。例例8.3: 將將CREATE TABLE系統(tǒng)特權授給角色系統(tǒng)特權授給角色TRAVEL_AGENT。GRANT CREATE TABLE TO Travel_agent 執(zhí)行后,執(zhí)行后,在在Travel_agent的特權域中已包含的特權域中已包含CREATE TABLE系統(tǒng)特權。系統(tǒng)特權。 回收系統(tǒng)特權和角色命令 REVOKE系統(tǒng)特權名系統(tǒng)特權名角色名角色名,F(xiàn)ROM用戶名用戶名角角色名色名PUBLIC,例例8.5:從用戶:從用戶Bill和和Mary回收回收DROP ANY TABLE系系統(tǒng)特權。統(tǒng)
20、特權。REVOKE DROP ANY TABLE FROM Bill,Mary例例8.6: 從用戶從用戶HANSON回收回收CONTROLLER角色。角色。REVOKE CONTROLLER FROM HANSON例例8.4:現(xiàn)將:現(xiàn)將Travel_agent角色并帶有角色并帶有ADMIN OPTION給給THOMAS。 GRANT Travel_agent TO thomas WITH ADMIN OPTION執(zhí)行之后,執(zhí)行之后,THOMAS可執(zhí)行可執(zhí)行Travel_agent角色的操作角色的操作 (2) 對象特權對象特權在指定的表、視圖、序列、函數(shù)或包上具有特殊動作在指定的表、視圖、序列、
21、函數(shù)或包上具有特殊動作的權利的權利對象特權授權命令對象特權授權命令 GRANT 對象特權名對象特權名ALLPRIVILEGES(列(列名,名,), ON 模式名模式名.對象名對象名 TO 用戶名用戶名角色角色名名PUBLICWITH GRANT OPTION 對象特權名對象特權名 :ALTER、DELETE、EXECUTE、INDEX、INSERT、REFERENCES、SELECT和和UPDATE WITH GRANT OPTION:允許被授與者可將該對象特:允許被授與者可將該對象特權授權給其他用戶和角色權授權給其他用戶和角色 例子:對象特權授權例子:對象特權授權例例87: 將將BONUS表
22、上全部特權授給用戶表上全部特權授給用戶JONES。GRANT ALL ON BONUS TO JONES WITH GRANT OPTION例例88: 將模式將模式ELLY中序列中序列ESEQ的的SELECT特權授特權授給給BLAKE。GRANT SELECT ON elly.eseq TO BLAKE例例89: 將將SCOTT模式中模式中EMP表在表在EMPNO列上的列上的REFERENCES特權和在特權和在EMPNO、SAL和和COMM列上列上的的UPDATE特權授給特權授給BLAKE。 GRANT REFERENCES(empon),UPDATE(empno,sal,comm) ON s
23、cott.emp TO BLAKE回收對象特權命令回收對象特權命令 REVOKE對象特權名對象特權名 ALLPRIVILEGES, ON模式名模式名.對象名對象名 FROM用戶名用戶名角色名角色名PUBLIC,CASCADE CONSTRAINTSCASCADE CONSTRAINTS:刪除任何完整性約束,:刪除任何完整性約束,被回收者在這些約束中使用了當前回收的被回收者在這些約束中使用了當前回收的REFERENCES特權。特權。 例例811: 從用戶從用戶PEDRO回收在回收在BONUS表上的表上的DELETE特權。特權。REVOKE DELETE ON BONUS FROM Pedro(2
24、)(2)角色角色 - -優(yōu)點優(yōu)點 減少特權管理減少特權管理 動態(tài)特權管動態(tài)特權管 (3)角色角色 特點特點 在一個數(shù)據(jù)庫中,每一個角色名必須唯一。角色名與用戶不同,角色在一個數(shù)據(jù)庫中,每一個角色名必須唯一。角色名與用戶不同,角色不包含在任何模式中,所以建立一角色的用戶被刪除時不影響該角色。不包含在任何模式中,所以建立一角色的用戶被刪除時不影響該角色。 2. 角色角色 (1)角色角色 定義定義 角色角色(role)為相關特權的命名組為相關特權的命名組,可授權給可授權給用戶和角色。用戶和角色。 (4 4)角色)角色 目的目的為數(shù)據(jù)庫應用管理特權和為用戶組管理特權為數(shù)據(jù)庫應用管理特權和為用戶組管理特
25、權 應用角色應用角色(application role)和用戶角色和用戶角色(user role) l應用角色:授予的運行一數(shù)據(jù)庫應用所需的應用角色:授予的運行一數(shù)據(jù)庫應用所需的全部特權全部特權 l用戶角色用戶角色 :為具有公共特權需求的一組數(shù)據(jù):為具有公共特權需求的一組數(shù)據(jù)庫用戶而建立的庫用戶而建立的 (5 5)數(shù)據(jù)庫角色功能)數(shù)據(jù)庫角色功能 一個角色可授予系統(tǒng)特權或對象特權一個角色可授予系統(tǒng)特權或對象特權 一個角色可授權給其它角色,但不能循一個角色可授權給其它角色,但不能循環(huán)授權環(huán)授權 任何角色可授權給任何數(shù)據(jù)庫用戶任何角色可授權給任何數(shù)據(jù)庫用戶 授權給一用戶的每一角色可以是使能的授權給一
26、用戶的每一角色可以是使能的或者使不能的或者使不能的 一個間接授權角色(授權給另一角色)一個間接授權角色(授權給另一角色)對一用戶可顯式地使其使能或使不能對一用戶可顯式地使其使能或使不能 (6)ORACLE 中的典型角色中的典型角色預定義 :CONNENT、RESOURCE、DBA、EXP_FULL_DATABASE和IMP_FULL_DATABASE CONNECT、RESOURCE和DBA角色同ORACLE老版本中的概念相兼容 為了數(shù)據(jù)庫安全性,建立自己的角色 (7 7)建立角色命令)建立角色命令 CREATE ROLE角色名 NOT IDENTIFIEDIDENTIFIEDBYEXTERN
27、ALLYNOT IDENTIFIED:指明授予該角色的用戶,在使它使能時,不需要檢驗。IDENTIFIED:指明授予該角色的用戶lBY 口令選擇 lEXTERNALLY選擇 例812:建立角色TELLER。 CREATE ROLE TELLER IDENTIFIED BY Cashflow (8 8)更改角色命令)更改角色命令ALTER ROLE角色名 NOT IDENTIFIEDIDENTIFIEDBY 口令EXTERNALLY例813:將角色TELLER 的口令改為LETTER。ALTER ROLE TELLERIDENTIFIED BY Letter授給TELLER角色的用戶,在以后要使
28、角色使能時,必須指定新的口令 (9 9)刪除角色命令)刪除角色命令DROP ROLE角色名當刪除一角色時,ORACLE從所有授權該角色的用戶中回收,并將它從數(shù)據(jù)庫中刪除 例814:刪除FLORIST角色。DROP ROLE FLORIST返回節(jié)8.1.3 審計對選定的用戶動作的監(jiān)控和記錄對選定的用戶動作的監(jiān)控和記錄 l審查可疑的活動審查可疑的活動 l監(jiān)視和收集關于指定數(shù)據(jù)庫活動的數(shù)據(jù)監(jiān)視和收集關于指定數(shù)據(jù)庫活動的數(shù)據(jù) ORACLE支持三種審計類型支持三種審計類型 l語句審計語句審計 l特權審計特權審計 l對象審計對象審計 審計記錄可存在數(shù)據(jù)字典表(稱為審計審計記錄可存在數(shù)據(jù)字典表(稱為審計記錄
29、)或操作系統(tǒng)審計記錄中。數(shù)據(jù)庫審計記錄)或操作系統(tǒng)審計記錄中。數(shù)據(jù)庫審計記錄是在記錄是在SYS模式的模式的AUD$表中。表中。 返回節(jié)8.2 數(shù)據(jù)完整性數(shù)據(jù)完整性( (數(shù)據(jù)庫觸發(fā)器數(shù)據(jù)庫觸發(fā)器 ) ) 8.2.1 數(shù)據(jù)完整性8.2.2 數(shù)據(jù)庫觸發(fā)器8.2.1 完整性約束完整性約束數(shù)據(jù)完整性:指數(shù)據(jù)的正確性和相容性數(shù)據(jù)完整性:指數(shù)據(jù)的正確性和相容性 完整性檢查完整性檢查 :DBMS必須提供一種功能來保證數(shù)據(jù)庫必須提供一種功能來保證數(shù)據(jù)庫的數(shù)據(jù)完整性的數(shù)據(jù)完整性 ORACLE中表的數(shù)據(jù)完整性(中表的數(shù)據(jù)完整性(5種)種) l在插入或修改表的行時允許不允許包含有空值的列,在插入或修改表的行時允許不允
30、許包含有空值的列,稱為空與非空規(guī)則。稱為空與非空規(guī)則。l唯一列值規(guī)則,允許插入或修改的表行在該列(或唯一列值規(guī)則,允許插入或修改的表行在該列(或組列)上的值唯一。組列)上的值唯一。l主碼值規(guī)則,主碼的列值唯一地標識表的每一行。主碼值規(guī)則,主碼的列值唯一地標識表的每一行。l 引用完整性規(guī)則,同關系模型定義。引用完整性規(guī)則,同關系模型定義。l 用戶對列定義的規(guī)則,為復雜的完整性檢查用戶對列定義的規(guī)則,為復雜的完整性檢查完整性約束完整性約束 ORACLE利用完整性約束機制防止無效的數(shù)據(jù)進利用完整性約束機制防止無效的數(shù)據(jù)進入數(shù)據(jù)庫的基表入數(shù)據(jù)庫的基表 l由于使用由于使用SQL命令定義完整性約束,以致在
31、定義或命令定義完整性約束,以致在定義或更改表時,不需要程序設計。優(yōu)于應用代碼和數(shù)據(jù)更改表時,不需要程序設計。優(yōu)于應用代碼和數(shù)據(jù)庫觸發(fā)器。庫觸發(fā)器。l當由完整性約束所實施的事務規(guī)則改變時,管理員當由完整性約束所實施的事務規(guī)則改變時,管理員只需改變完整性約束的定義,所有應用自動地遵守只需改變完整性約束的定義,所有應用自動地遵守所修改的約束。所修改的約束。 l由于完整性約束可臨時地使不能,以致在裝入大量由于完整性約束可臨時地使不能,以致在裝入大量數(shù)據(jù)時可避免約束檢索的開銷。數(shù)據(jù)時可避免約束檢索的開銷。 返回節(jié)8.2.2 數(shù)據(jù)庫觸發(fā)器ORACLE允許定義過程允許定義過程,當對相關的表作當對相關的表作I
32、NSERT、UPDATE或或DELETE語句時語句時,這些過程被隱式地執(zhí)行這些過程被隱式地執(zhí)行 。這些過程稱為。這些過程稱為數(shù)據(jù)庫觸發(fā)器數(shù)據(jù)庫觸發(fā)器 過程與觸發(fā)器差別在于調用方法:過程過程與觸發(fā)器差別在于調用方法:過程由用戶或應用顯式執(zhí)行;而觸發(fā)器是為由用戶或應用顯式執(zhí)行;而觸發(fā)器是為一激發(fā)語句一激發(fā)語句(INSERT、UPDATE或或DELETE)發(fā)出時由發(fā)出時由ORACLE隱式地觸發(fā)隱式地觸發(fā) 數(shù)據(jù)庫觸發(fā)器1、數(shù)據(jù)庫觸發(fā)器的組成、數(shù)據(jù)庫觸發(fā)器的組成l觸發(fā)事件或語句觸發(fā)事件或語句 :引起激發(fā)觸發(fā)器的引起激發(fā)觸發(fā)器的SQL語句語句 l觸發(fā)限制觸發(fā)限制 :指定一個布爾表達式指定一個布爾表達式,為
33、真時觸為真時觸發(fā)發(fā) l觸發(fā)器動作觸發(fā)器動作 :過程,是:過程,是PL/SQL塊塊 INSERT、UPDATE或或DELETE語句時語句時觸發(fā)器的類型2、觸發(fā)器的類型(、觸發(fā)器的類型(34)觸發(fā)器的類型決定于建立觸發(fā)器命令中對下面的選擇表觸發(fā)器的類型決定于建立觸發(fā)器命令中對下面的選擇表(8-1所示)所示):BEFORE 、AFTER、 FOR EACH ROW 建立觸發(fā)器命令建立觸發(fā)器命令3、建立觸發(fā)器命令、建立觸發(fā)器命令語法格式:語法格式:CREATEON REPLACE TRIGGER 模式名模式名.觸發(fā)器觸發(fā)器名名BEFOREAFTERDELETEINSERT UPDATE OF列列名,名
34、, ON 模式名模式名. 表名表名關鍵字和參數(shù)說明:關鍵字和參數(shù)說明:lON REPLACE:如果觸發(fā)器已存在,則重建觸發(fā)器:如果觸發(fā)器已存在,則重建觸發(fā)器 lBEFORE:指示:指示ORACLE在執(zhí)行觸發(fā)語句之前激發(fā)觸發(fā)器。在執(zhí)行觸發(fā)語句之前激發(fā)觸發(fā)器。lAFTER:指示:指示ORACLE在執(zhí)行觸發(fā)語句之后激發(fā)觸發(fā)器。在執(zhí)行觸發(fā)語句之后激發(fā)觸發(fā)器。lDELETE:指示:指示ORACLE每當一個每當一個DELETE語句從表中刪除語句從表中刪除一行時激發(fā)觸發(fā)器。一行時激發(fā)觸發(fā)器。lFOR EACH ROW :指明是行觸發(fā)器:指明是行觸發(fā)器 。如果忽略該子句,該。如果忽略該子句,該觸發(fā)器是語句觸發(fā)
35、器觸發(fā)器是語句觸發(fā)器 lWHEN:指定觸發(fā)器限制:指定觸發(fā)器限制 例子:建立觸發(fā)器例子:建立觸發(fā)器例例8.15:在:在SCOTT的的EMP表上建立語句前觸發(fā)器表上建立語句前觸發(fā)器EMP_PERMIT_CHANGES CREATE TRIGGER SCOTT.EMP_PERMIT_CHANGESBEFOREDELETE OR INSERT OR UPDATEON SCOTT.EMPDECLAREdummy INTEGER;BEGIN /* If today is a Saturday or Sunday, Then return an error.*/IF (TO_CHAR(SYSDATE,DY
36、)=SATOR TO_CHAR(SYSDATE,DY)=SUN) THEN RAISE_APPLICATION_ERROR(-20501, May Not change employee table during the weekend);EMD IF;/* Compare todays date with the dates of all company holidays.If today is a Company holiday, then return an error.*/SELECT COUNT(*) INTO dummyFROM Company_holidaysWHERE day=
37、TRUNC(Sysdate);IF dummy0 THEN RAISE_APPLICATION_ERROR(-20501, May not change employee table during a holiday);END IF;/* If the current TIME is Before 8:00 AM or after 6:00 PM,then return an error.*/IF(TO_CHAR(SYSDATE,HH24)=18) THEN RAISE_APPLICATION_ERROR(-20502,May only change employee table during
38、 working hours); END IF;END;返回節(jié)并發(fā)控制并發(fā)控制原因:對數(shù)據(jù)庫的并行操作 ,可能造成數(shù)據(jù)不一致并發(fā)控制 :并行操作進行控制 ,防止數(shù)據(jù)不一致8.3 并發(fā)控制原因:對數(shù)據(jù)庫的并行操作原因:對數(shù)據(jù)庫的并行操作 ,可能造,可能造成數(shù)據(jù)不一致成數(shù)據(jù)不一致并發(fā)控制并發(fā)控制 :并行操作進行控制:并行操作進行控制 ,防止,防止數(shù)據(jù)不一致數(shù)據(jù)不一致8.3.1 數(shù)據(jù)庫不一致的類型數(shù)據(jù)庫不一致的類型8.3.2 封鎖封鎖8.3.3 ORACLE多種一致性模型多種一致性模型8.3.4 封鎖機制封鎖機制返回章8.3.1 數(shù)據(jù)庫不一致的類型數(shù)據(jù)庫不一致的類型不一致性不一致性 在一事務期間在一
39、事務期間,其它提交的或未提交事務的修改是顯其它提交的或未提交事務的修改是顯然的然的,以致由查詢所返回的數(shù)據(jù)集不與任何點相一致。以致由查詢所返回的數(shù)據(jù)集不與任何點相一致。 不可重復讀不可重復讀 讀臟數(shù)據(jù)讀臟數(shù)據(jù) 如果事務如果事務T1將一值將一值(A)修改修改,然后事務然后事務T2讀該值讀該值,在這在這之后之后T1由于某種原因撤銷對該值的修改由于某種原因撤銷對該值的修改,這樣造成這樣造成T2讀讀取的值是臟的。取的值是臟的。 丟失更改丟失更改 破壞性的破壞性的DDL操作操作 返回節(jié)8.3.2 封鎖封鎖防止存取同一資源的用戶之間破壞性的干擾的機制防止存取同一資源的用戶之間破壞性的干擾的機制 兩種封鎖:
40、排它封鎖和共享封鎖兩種封鎖:排它封鎖和共享封鎖 l排它封鎖排它封鎖:專用,資源不共享。專用,資源不共享。l共享封鎖共享封鎖:允許相關資源可以共享允許相關資源可以共享 。死鎖現(xiàn)象死鎖現(xiàn)象 在多用戶系統(tǒng)中使用封鎖后會出現(xiàn)死鎖在多用戶系統(tǒng)中使用封鎖后會出現(xiàn)死鎖(dead lock),引起一些事務不能繼續(xù)工作。當兩個或多個用,引起一些事務不能繼續(xù)工作。當兩個或多個用戶彼此等待對方所封鎖的數(shù)據(jù)時可發(fā)生死鎖。戶彼此等待對方所封鎖的數(shù)據(jù)時可發(fā)生死鎖。 返回節(jié)8.3.3 ORACLE多種一致性模型多種一致性模型語句級讀一致性:語句級讀一致性: 語句級讀一致性:保證單個查詢所返回的數(shù)據(jù)與該查詢開語句級讀一致性:
41、保證單個查詢所返回的數(shù)據(jù)與該查詢開始時刻相一致。始時刻相一致。 注視當前注視當前SCN(系統(tǒng)修改號系統(tǒng)修改號system change number)。在。在查詢執(zhí)行時,在注視查詢執(zhí)行時,在注視SCN的時候為止所提交的數(shù)據(jù)是有效的的時候為止所提交的數(shù)據(jù)是有效的,而在語句執(zhí)行開始之后其它事務所提交的任何修改而在語句執(zhí)行開始之后其它事務所提交的任何修改,查詢將是查詢將是看不到的??床坏降摹?事務級讀一致性事務級讀一致性 : 保證在同一事務內(nèi)所有查詢的數(shù)據(jù)與一個時間點相一致保證在同一事務內(nèi)所有查詢的數(shù)據(jù)與一個時間點相一致 ?????梢灾貜妥x。以重復讀。l只讀事務,該事務只能包含查詢。只讀事務,該事務只
42、能包含查詢。 l對要重復讀的表可顯式地獲取共享封鎖或行的排它封鎖。對要重復讀的表可顯式地獲取共享封鎖或行的排它封鎖。 返回節(jié)8.3.4 封鎖機制封鎖機制數(shù)據(jù)封鎖數(shù)據(jù)封鎖(DML封鎖)封鎖): 表封鎖和排它的行封鎖。表封鎖有表封鎖和排它的行封鎖。表封鎖有5種形式。種形式。字典封鎖字典封鎖(DDL封鎖封鎖) 封鎖保護模式對象封鎖保護模式對象(如表如表)的定義的定義, DDL語句隱式地提交語句隱式地提交一個事務。一個事務。 內(nèi)部封鎖內(nèi)部封鎖 分布式封鎖分布式封鎖并行緩沖管理封鎖并行緩沖管理封鎖1、數(shù)據(jù)封鎖、數(shù)據(jù)封鎖 防止相沖突的防止相沖突的DML和和DDL操作的破操作的破壞性干擾壞性干擾. 指定行封
43、鎖指定行封鎖 :一事務獲取行封鎖,行封:一事務獲取行封鎖,行封鎖總是排它封鎖,該事務還獲取對相應鎖總是排它封鎖,該事務還獲取對相應表的表封鎖表的表封鎖 。表封鎖表封鎖 :行共享:行共享(RS)、行排它、行排它(RX)、共、共享封鎖享封鎖(S)、共享行排它、共享行排它(SRX)和排它封和排它封鎖鎖(X)。 其他封鎖其他封鎖 2、DDL封鎖封鎖(字典封鎖字典封鎖) DDL封鎖封鎖(字典封鎖字典封鎖):保護模式對象:保護模式對象(如如表表)的定義的定義 ,DDL操作將影響對象操作將影響對象 ,操,操作期間作期間,被修改或引用的模式對象被封鎖被修改或引用的模式對象被封鎖 3、內(nèi)部封鎖、內(nèi)部封鎖內(nèi)部封鎖
44、內(nèi)部封鎖 :內(nèi)部封鎖保護內(nèi)部數(shù)據(jù)庫和:內(nèi)部封鎖保護內(nèi)部數(shù)據(jù)庫和內(nèi)存結構,這些結構對用戶是不可見的。內(nèi)存結構,這些結構對用戶是不可見的。 返回節(jié)8.3.5 手工的數(shù)據(jù)封鎖手工的數(shù)據(jù)封鎖代替默認封鎖代替默認封鎖 ORACLE自動封鎖可在兩級被替代自動封鎖可在兩級被替代 l事務級事務級 :LOCK TABLE命令、命令、SELECT.FOR UPDATE 命令、具有命令、具有READ ONLY 選項的選項的SET TRANS_ACTION 命令命令 l系統(tǒng)級系統(tǒng)級 :通過調整初始化參數(shù):通過調整初始化參數(shù)SERIALIZABLE和和ROW_LOCKING,實例可用非默認封鎖啟動。該兩實例可用非默認封
45、鎖啟動。該兩參數(shù)的默認值為:參數(shù)的默認值為:SERIALIZABLE=FALSEROW_LOCKING=ALWAYS返回節(jié)8.4 8.4 數(shù)據(jù)庫后備和恢復以及高可用性數(shù)據(jù)庫后備和恢復以及高可用性 故障:硬件故障、軟件故障、網(wǎng)絡故障、故障:硬件故障、軟件故障、網(wǎng)絡故障、進程故障和系統(tǒng)故障。進程故障和系統(tǒng)故障。 故障的危害:影響數(shù)據(jù)的正確性,甚至故障的危害:影響數(shù)據(jù)的正確性,甚至破壞數(shù)據(jù)庫。破壞數(shù)據(jù)庫。 數(shù)據(jù)庫恢復:發(fā)生故障后,希望能重新數(shù)據(jù)庫恢復:發(fā)生故障后,希望能重新建立一個完整的數(shù)據(jù)庫的處理。建立一個完整的數(shù)據(jù)庫的處理。使數(shù)據(jù)庫具有高可用性使數(shù)據(jù)庫具有高可用性 數(shù)據(jù)庫后備和恢復8.4.1 數(shù)
46、據(jù)庫恢復所使用的結構數(shù)據(jù)庫恢復所使用的結構8.4.2 在線及在線及歸檔日志歸檔日志(LogMiner) 8.4.3 數(shù)據(jù)庫后備數(shù)據(jù)庫后備(Data Guard)和恢復和恢復 (RMAN) 8.4.4 Oracle的閃回技術的閃回技術8.4.5 Oracle RAC技術技術8.4.6 自動存儲管理(自動存儲管理(ASM)返回章8.4.1 數(shù)據(jù)庫恢復所使數(shù)據(jù)庫恢復所使用的結構用的結構數(shù)據(jù)庫后備數(shù)據(jù)庫后備 :由構成:由構成ORACLE數(shù)據(jù)庫的物理數(shù)據(jù)庫的物理文件的操作系統(tǒng)后備所組成文件的操作系統(tǒng)后備所組成 。日志日志 :記錄數(shù)據(jù)庫中所作的全部修改:記錄數(shù)據(jù)庫中所作的全部修改 。l在線日志在線日志 l
47、歸檔日志歸檔日志 回滾段回滾段 :用于撤消任何非提交的修改:用于撤消任何非提交的修改 ??刂莆募阂话阌糜诖鎯?shù)據(jù)庫的物理結構的控制文件:一般用于存儲數(shù)據(jù)庫的物理結構的狀態(tài)。狀態(tài)。 返回節(jié)8.4.2 8.4.2 在線日志及歸檔日志在線日志及歸檔日志(LogMinerLogMiner) 在線日志:由多個在線在線日志:由多個在線(active)日志文件組成,日志項記錄的數(shù)據(jù)日志文件組成,日志項記錄的數(shù)據(jù)用于重構對數(shù)據(jù)庫所作的全部修改用于重構對數(shù)據(jù)庫所作的全部修改 。日志開關日志開關 :ORACLE結束寫入一在線日志文件并開始寫入到另一結束寫入一在線日志文件并開始寫入到另一個在線日志文件的點個在線日
48、志文件的點 。檢查點檢查點 :進程:進程DBWR(數(shù)據(jù)庫寫數(shù)據(jù)庫寫)將將SGA中所有被修改的數(shù)據(jù)庫緩沖中所有被修改的數(shù)據(jù)庫緩沖區(qū)區(qū)(包含提交和未提交的包含提交和未提交的)寫入到數(shù)據(jù)文件的一個事件寫入到數(shù)據(jù)文件的一個事件 。檢查點確保。檢查點確保將內(nèi)存中經(jīng)常改變的數(shù)據(jù)段塊每隔一定時間寫入到數(shù)據(jù)文件將內(nèi)存中經(jīng)常改變的數(shù)據(jù)段塊每隔一定時間寫入到數(shù)據(jù)文件 。保。保證自前一個檢查點以來的全部修改數(shù)據(jù)塊寫入到磁盤證自前一個檢查點以來的全部修改數(shù)據(jù)塊寫入到磁盤 。LogMiner:此實用程序提供了一種重要的視圖來了解數(shù)據(jù)庫中已:此實用程序提供了一種重要的視圖來了解數(shù)據(jù)庫中已經(jīng)發(fā)生的改動。經(jīng)發(fā)生的改動。 在線
49、日志在線日志1、在線日志、在線日志執(zhí)行檢查點:執(zhí)行以下動作執(zhí)行檢查點:執(zhí)行以下動作l檢查點后臺進程檢查點后臺進程(CKPT)記住寫入在線日志文件的記住寫入在線日志文件的下一日志行的位置下一日志行的位置 。l后臺進程后臺進程DBWR將修改的數(shù)據(jù)庫緩沖區(qū)寫入到磁盤將修改的數(shù)據(jù)庫緩沖區(qū)寫入到磁盤上的數(shù)據(jù)文件。上的數(shù)據(jù)文件。l由由CKPT修改全部控制文件和數(shù)據(jù)文件的標頭,反修改全部控制文件和數(shù)據(jù)文件的標頭,反映該最后檢查點。映該最后檢查點。鏡象在線日志文件:為了安全鏡象在線日志文件:為了安全 ,LGWR同時將同一日同時將同一日志信息寫入到多個同樣的在線日志文件。志信息寫入到多個同樣的在線日志文件。 鏡
50、象在線日志的機制鏡象在線日志的機制 :每個組中的日志文件全部同時:每個組中的日志文件全部同時活動,由活動,由LGWR賦給相同的日志序列號,對一組的全賦給相同的日志序列號,對一組的全部成員并行地寫部成員并行地寫 。在線日志線索在線日志線索 :每個數(shù)據(jù)庫實例有自己的在線日志組。:每個數(shù)據(jù)庫實例有自己的在線日志組。在運行在運行ORACLE并行服務器中,兩個或多個實例并行并行服務器中,兩個或多個實例并行地存取單個數(shù)據(jù)庫,在這種情況下,每個實例有自己地存取單個數(shù)據(jù)庫,在這種情況下,每個實例有自己的線索。的線索。 歸檔日志歸檔日志2、歸檔日志、歸檔日志要將填滿的在線日志文件組歸檔時,則要建立歸檔日要將填滿
51、的在線日志文件組歸檔時,則要建立歸檔日志或稱離線日志志或稱離線日志 ??杀WC全部提交的事務可被恢復??杀WC全部提交的事務可被恢復。 歸檔機制歸檔機制 :決定于歸檔設置:決定于歸檔設置 ,自動歸檔或由用戶進程,自動歸檔或由用戶進程發(fā)出語句手工地歸檔發(fā)出語句手工地歸檔 。理想的是將歸檔日志文件永久。理想的是將歸檔日志文件永久移到離線存儲設備,如磁帶。移到離線存儲設備,如磁帶。 數(shù)據(jù)庫可運行在兩種不同方式下:數(shù)據(jù)庫可運行在兩種不同方式下:NOARCHIVELOG方式或方式或ARCHIVELOG方式方式 LogMinerLogMiner程序程序 3. LogMiner程序程序(1)使用)使用LogMi
52、ner 當使用當使用LogMiner時,可以看到已經(jīng)做出的改動時,可以看到已經(jīng)做出的改動(SQL_redo)和可以用于還原這些改變的)和可以用于還原這些改變的SQL(SQL_undo)。現(xiàn)在,可以使用現(xiàn)在,可以使用LogMiner來僅僅回滾那些有問題的事來僅僅回滾那些有問題的事務處理,而不會隨后丟失有效的事務處理。務處理,而不會隨后丟失有效的事務處理。(2)LogMiner的工作方式的工作方式 LogMiner需要數(shù)據(jù)字典來完整地翻譯重做日志文件內(nèi)需要數(shù)據(jù)字典來完整地翻譯重做日志文件內(nèi)容,并將內(nèi)部對象標識符和數(shù)據(jù)類型轉換為對象名和容,并將內(nèi)部對象標識符和數(shù)據(jù)類型轉換為對象名和外部數(shù)據(jù)格式。外部
53、數(shù)據(jù)格式。 三種選擇獲得供三種選擇獲得供LogMiner使用的數(shù)據(jù)字典:提取到一使用的數(shù)據(jù)字典:提取到一平面文件中、重做日志文件中平面文件中、重做日志文件中 ,或從當前的數(shù)據(jù)庫中,或從當前的數(shù)據(jù)庫中使用聯(lián)機數(shù)據(jù)字典使用聯(lián)機數(shù)據(jù)字典 。可以從可以從LogMiner正在其上運行的數(shù)據(jù)庫或從另一數(shù)據(jù)正在其上運行的數(shù)據(jù)庫或從另一數(shù)據(jù)庫分析重做日志文件。如果正從當前的數(shù)據(jù)庫使用聯(lián)庫分析重做日志文件。如果正從當前的數(shù)據(jù)庫使用聯(lián)機目錄,只能從當前的數(shù)據(jù)為分析重做日志文件。機目錄,只能從當前的數(shù)據(jù)為分析重做日志文件。(3)提取數(shù)據(jù)字典)提取數(shù)據(jù)字典相比于使用重做日志文件,使用平面文件來存儲數(shù)據(jù)相比于使用重做日
54、志文件,使用平面文件來存儲數(shù)據(jù)字典時需要更少的系統(tǒng)資源,但是前者更為迅速。字典時需要更少的系統(tǒng)資源,但是前者更為迅速。數(shù)據(jù)字典文件放置在一個目錄中,為了定義目錄的位數(shù)據(jù)字典文件放置在一個目錄中,為了定義目錄的位置,使用初始化參數(shù)置,使用初始化參數(shù)UTL_FILE_DIR。例如,為了指。例如,為了指定位置定位置D:OracleOra11database作為作為LogMiner的的輸出位置,將以下的記錄項放在參數(shù)文件中:輸出位置,將以下的記錄項放在參數(shù)文件中: UTL_FILE_DIR = D:OracleOra11database 。 可以使用可以使用DBMS_LOGMNR_D.BUILD程序,
55、程序,將數(shù)據(jù)字典提取到平面文件或重做日志文件將數(shù)據(jù)字典提取到平面文件或重做日志文件中中 。 例如,為了將數(shù)據(jù)字典提取到位于例如,為了將數(shù)據(jù)字典提取到位于G:OracleOra11database目錄中的文件名為目錄中的文件名為mydb_dictionary的平面文件中,可以發(fā)出如的平面文件中,可以發(fā)出如下令:下令: execute DBMS_LOGMNR_D.BUILD (mydb_dictionary.ora, G:OracleOra11database, options =DBMS_LOGMNR_D.STORE_IN_FLAT_FILE);(4)分析一個或多個重做日志文件)分析一個或多個重
56、做日志文件 為了使用為了使用LogMiner分析重做日志文件,遵照以下分析重做日志文件,遵照以下步驟:步驟:使用使用VLOGMINR_LOGS獲得一個可用的重做日志文獲得一個可用的重做日志文件的清單。件的清單。使用使用DBMS_LOGMINR.START_LOGMINR程序啟動程序啟動LogMiner實用程序。參見本節(jié)后面的表實用程序。參見本節(jié)后面的表8-3來了解來了解START_LOGMINR參數(shù)。參數(shù)。查詢查詢VLOGMINR_CONTENTS來察看結果。來察看結果。一旦已經(jīng)完成對重做日志的察看,發(fā)出如下命令來結一旦已經(jīng)完成對重做日志的察看,發(fā)出如下命令來結束會話:束會話: execute
57、 DBMS_LOGMNR.END_LOGMNR; 為了創(chuàng)建一個可用于分析的重做日志文件的清單,運為了創(chuàng)建一個可用于分析的重做日志文件的清單,運行帶有行帶有NEW選項的選項的DBMS_LOGMINR.ADD_LOGFILE程序,如下所示:程序,如下所示: execute DBMS_LOGMNR.ADD_LOGFILE( LogFileName = /oracle/ora11/redo01.ora, Options = DBMS_LOGMNR.NEW); execute DBMS_LOGMNR.ADD_LOGFILE( LogFileName = /oracle/ora11/redo02.ora,
58、 Options = DBMS_LOGMNR.NEW);可以如下指定數(shù)據(jù)字典文件的位置:可以如下指定數(shù)據(jù)字典文件的位置: execute DBMS_LOGMNR.ADD_LOGFILE( DictFileName = oracle/ora11/dictionary.ora, 使用使用DBMS_LOGMINR.START_LOGMINR程序包開程序包開始分析重做日志文件。例如,可以使用始分析重做日志文件。例如,可以使用SCN值來篩選值來篩選數(shù)據(jù),如下所示:數(shù)據(jù),如下所示:execute DBMS_LOGMNR.START_LOGMNR( DictFileName = /oracle/dictio
59、nary.ora, StartScn = 125, EndScr =300); (5)可以使用)可以使用OEM啟動啟動LogMiner Viewer來查看重做來查看重做日志和歸檔重做日志日志和歸檔重做日志 過單擊圖標面板中頂端的圖標或從過單擊圖標面板中頂端的圖標或從Object下拉菜單中下拉菜單中選擇選擇Create Query來創(chuàng)建一個對象查詢。來創(chuàng)建一個對象查詢。LogMiner Viewer自動查找用來創(chuàng)建查詢的可用的歸檔重做日志自動查找用來創(chuàng)建查詢的可用的歸檔重做日志文件。文件??梢院喕Y選日志文件內(nèi)容的過程。此外,可以使用可以簡化篩選日志文件內(nèi)容的過程。此外,可以使用Grid Con
60、trol屏幕來訪問和查看屏幕來訪問和查看LogMiner的輸出。的輸出。 8.4.3 數(shù)據(jù)庫后備數(shù)據(jù)庫后備(Data Guard)和恢復和恢復(RMAN) 一、一、數(shù)據(jù)庫后備與數(shù)據(jù)庫后備與Oracle數(shù)據(jù)衛(wèi)士數(shù)據(jù)衛(wèi)士(Oracle Data Guard) 1.導出(導出(export) (1) 3種種 導出方式導出方式 export實用程序具有實用程序具有3種功能:種功能:Full方式方式(導出整個導出整個數(shù)據(jù)庫數(shù)據(jù)庫 )、User方式方式(導出一個用戶的某些對象及其導出一個用戶的某些對象及其本身的數(shù)據(jù)本身的數(shù)據(jù) )和和Table方式方式(導出一個指定的表導出一個指定的表,表的結表的結構、索引
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 實驗學校課題申報書
- 課題幼兒申報書怎么寫
- 聲樂表演創(chuàng)新課題申報書
- 化學品研發(fā)項目合同范例
- 課題申報書研究價值部分
- 農(nóng)村荒山轉租合同范本
- 農(nóng)田承包流轉合同范本
- 公司文員聘用合同范本
- 人造草坪回收合同范本
- 醫(yī)學脊柱外科課題申報書
- 有關物質、含量測定方法學驗證指標的可接受標準
- IQC來料檢驗指導書
- 機電系統(tǒng)單機調試及聯(lián)動調試方案
- h型鋼力學性能計算表
- 自明排課使用說明
- 醫(yī)院安全巡查制度醫(yī)院安全巡查制度
- 骨化膿性骨髓炎的影像學診斷
- 臺灣姓氏拼音對照
- 轎車驅動橋設計課程設計,過程以及計算
- 套管柱及其強度設計ppt課件
- 三年級語文家長會(課堂PPT)
評論
0/150
提交評論