觸發器裡可以訪問old值和new值
- insert時: 只有new值而沒有old值
- delete時: 只有old值沒有new值
- update時: 既有old值也有new值
資料庫的系統全域性區中快取的內容
- 由共享池內的資料字典快取記憶體儲存最近使用的資料字典
- 由共享池內的庫快取記憶體儲存有關最近使用的SQL和PL/SQL語句的資訊
- 資料庫緩衝區快取記憶體儲存已從資料檔案中檢索到的資料塊的副本
- 重做日誌緩衝區記錄對資料庫資料塊所做的全部更改,稱作重做條目,主要用於恢復
並沒有關於最近登入使用者的快取
關於塊空間使用引數PCTFREE和PCTUSED
這是兩個閾值,PCTFREE表示,該塊為空閒塊時,使用率超過多少,該塊標記為滿:
比如PCTFREE為20,當該塊使用到80%時,即剩餘為100%-80%=20%時,該塊標記為滿,不允許再插入
PCTUSED表示的是,當該塊為滿塊時,使用率降低到多少時,該塊重新標記回空閒塊
比如PCTUSED為60,即在滿塊狀態下,滿塊使用率降低到60時,該塊重新標記為空閒塊
關於表空間的說法
Oracle 在邏輯上以表空間儲存資料,而實際上以資料檔案進行儲存。
表空間:
-
某一時刻只能屬於一個資料庫
-
由一個或多個資料檔案組成
-
可進一步劃分為邏輯儲存單元
資料檔案:
-
只能屬於一個表空間和一個資料庫
-
是方案物件資料的資料檔案庫
表空間的預設管理方式是本地管理,另一種是字典管理
表空間的儲存碎片
- 系統表空間儲存碎片傾向最低
- 臨時表空間儲存碎片傾向最高
關於資料字典的說法
資料字典的內容
-
資料庫邏輯結構和物理結構
-
資料庫物件的定義和空間分配
-
一致性約束
-
使用者
-
角色
-
許可權
-
審計
資料字典的用途
-
Oracle伺服器從資料字典中獲取資料
-
當執行DDL語句時,Oracle伺服器修改資料字典。
-
使用者和管理員從資料字典中獲取只讀資訊。
幾種關閉形式的對比
四種關閉形式,關閉強硬程度逐漸降低:
- ABORT 中止關閉
- TRANSACTIONAL 事務處理關閉
- IMMEDIATE 立即關閉
- NORMAL 正常關閉
從上圖可以看出幾點:
- 所有的關閉模式都不允許新的連線。
- 只有Normal模式會等待所有的會話結束才關閉,即所有的使用者都退出,關閉連結。
- TRANSACTIONAL模式仍會等待事務處理結束,比如提交完這一次的修改
- IMMEDIATE模式不會等待事務處理,執行完檢查點操作後直接關閉檔案
- ABORT模式直接立即關閉,下次啟動要求恢復例程,該操作將自動進行。 只有該關閉模式在下次啟動要求恢復例程
HWM高水線
-
HWM(high water mark)表示表中包含資料塊的數量。HWM通常增長的幅度為一次5個資料塊。-
-
DELETE語句不影響表所佔用的資料塊, HWM保持不動
-
TRUNCATE語句釋放空間,HWM復位。
-
若INSERT語句使用了APPEND關鍵字,則將會使用HWM以上的資料塊,此時HWM會自動增大。
所以這題選C。
一些零碎知識點
- 資料表儲存在資料庫的表空間
- 關閉資料庫只能由system使用者做
- 資料庫裡最小的I/O單元是塊,表分成段->段分成區->區分成塊
- 資料庫檔案包含:資料檔案、控制檔案和聯機重做日誌
- 當對一張表執行update語句,在尚未提交時,舊值和新值儲存在,還原表空間、原表中的位置,即即使事務尚未提交,但是原來的舊值已經放到還原表空間去了。
一些名詞
- SGA——System Global Area 系統全域性區
- PGA——Porcess Global Area 程式全域性區(程式全域性區)
五大必需啟動的程式
- PMON——Process Monitor 過程監視器
- SMON——System Monitor 系統監控程式
- DBWR——Database Writer 資料庫寫入程式
- LGWR——Log Writer 日誌寫入器
- CKPT——Checkpoint 檢查點
DML語句執行過程
- 語法分析
- 繫結變數
- 執行語句
- 提取結果(不是必須)
資料庫關閉過程中經歷的4個狀態:
open-> mount-> nomount-> shutdown
本作品採用《CC 協議》,轉載必須註明作者和本文連結