維護工作包括:
① 資料庫轉儲與恢復
② 資料庫安全性、完整性控制
③ 檢測並改善資料庫效能
④ 資料庫的重組與重構
1) 重組不修改資料庫原有的邏輯結構和物理結構
2) 重構部分修改模式和內模式
一、資料庫完整性
完整性設計:保證資料來源的正確性、一致性和相容性
資料完整性約束的作用物件分為列、元祖和關係三種級別。
二、資料庫安全性
安全性保護:防止非法使用者對資料庫的非法使用,避免資料洩露、篡改或破壞
主要保護方式:使用者身份驗證、許可權控制、檢視機制
DBMS解決安全控制問題的方案:
① 自主存取控制,又稱自主安全模式,通過SQL的GRANT、DENY、REVOKE語句來實現
許可權種類:維護許可權與操作許可權(語句許可權與物件許可權)
使用者分類:系統管理員(sa)、資料庫物件擁有者、普通使用者
② 強制存取控制
為避免自主模存取模式下資料的“無意洩露”,採取強制存取控制
DBMS將全部實體分為主體和客體兩大類:
1) 主體:系統活動實體,實際使用者和程式
2) 客體:被動實體,受主體操縱,包括檔案、基本表、檢視
對於主體和客體,DBMS為它們的每個例項指派一個敏感標記(Label):
1) 主體為許可證級別
2) 客體為密級,分為絕密、祕密、可信和公開等若干級別
強制存取控制遵循如下規則:
1) 當主體許可證級別大於或等於客體密級,主體可以讀取相應客體
2) 僅當主體許可證級別等於客體密級,該主體才能寫相應客體
Oracle的安全機制分為:資料庫級、表級、行集、列級
① 資料庫級的安全性通過使用者身份認證和授予使用者相應系統許可權來保證
② 表級、行級、列級的安全性通過授予和回收物件許可權保證
使用者按許可權大小可劃分為:
① DBA使用者:由DBMS自動建立,sys與system使用者,擁有全部系統特權
② 普通使用者:由DBA使用者或由相應特權的使用者建立,並授予系統特權
DDL(Data Definition Language)資料庫模式定義語言,用於描述資料庫中要儲存的現實世界實體的語言。一個資料庫模式包含該資料庫中所有實體的描述定義
db_ddladmin具有執行全部資料定義語言的許可權,如:CREATE、DROP、ALTER語句
三、資料庫可靠性
四、監控分析
監控分析:值管理員藉助工具監測DBMS的執行情況,掌握系統當前或以往的負荷、配置、應用等資訊,並分析監測資料的效能引數和環境資訊、評估DBMS的整體執行狀態
① 根據監控分析實現不同,分為:
1) 資料庫系統建立的自動監控機制,由DBMS自動監測資料庫的執行qingk
2) 管理員手動實施的監控機制
② 監控物件不同,分為:
1) 資料庫架構體系的監控,監控空間基本資訊、空間使用率與剩餘空間大小等
2) 資料庫效能監控,監控資料緩衝區命中率、庫緩衝、使用者鎖、索引使用、等待事件等
五、引數調整
調整引數,提高資料庫效能的方法:
① 外部調整:資料庫效能和外部環境有很大關係,主要外部條件包括:CPU(CPU的處理能力時衡量計算機效能的一個標誌)、網路(大量的SQL資料在網路上傳輸會導致網速變慢)
② 調整記憶體分配:調整相關引數控制資料庫記憶體分配,很大程度改善資料庫系統效能
③ 調整磁碟I/O:資料庫效能優劣的重要度量是響應時間
④ 調整資源競爭:
1) 修改引數以控制連線 到資料庫的最大程式數
2) 減少排程程式的競爭
3) 減少多執行緒服務程式競爭
4) 減少重做日誌緩衝區競爭
5) 減少回滾段競爭
六、查詢優化
資料庫的規範化過程:高效利用儲存空間,減少資料的冗餘,減少資料的不一致性
問題:規範化關係解決了資料維護的異常,並使資料冗餘最小,但會導致資料處理效能下降
反規範化:將規範化關係轉換為非規範化的關係的過程
反規範化方法:
① 增加派生性冗餘列:增加的資料由表中的一些資料經過計算生成
作用:查詢時減少連線操作,避免使用聚合函式
② 增加冗餘列:在多個表中增加具有相同語義的列,常用來在查詢時避免連線操作(外碼不屬於這種情況)
③ 重新組表:當使用者經常檢視的某些資料時由多個表連線之後才能得到的,就可以考慮先把這些資料重新組成一個表,這樣在查詢時會減少連線提高效率
④ 分割表:
1) 水平分割:根據行的使用特點進行分割,分割之後所有表的結構都相同,而儲存的資料不同,並使用(Union)操作
2) 垂直分割:根據列的特點分割,分割後所得表除了都包含主碼以外其他列都不相同,通常將常用列與不常用列分別放在不同表中,查詢減少I/O次數。缺點是使用連線(Join)操作
⑤ 新增彙總表:
七、空間管理
空間使用情況變化帶來的問題:
① 降低資料庫系統服務效能
② 空間溢位帶來災難停機事故
資料庫的儲存結構包括:
① 邏輯儲存結構
② 物理儲存結構