學習筆記 007
學習內容:《dm8系統管理員手冊》
第19章 管理事務
看前思考:
資料庫事務的含義是什麼?
如何定義資料庫事務?
管理事務有哪些操作,如何管理?
個人總結:
dm資料庫通過事務管理相關技術,可以控制資料庫的併發操作,有效解決訪問資料不正確性,或破壞資料庫資料的一致性等問題;
資料庫事務是指作為單個邏輯工作單元的一系列操作的集合;
無論是提交還是回滾,dm保證資料庫在每個事務開始前、結束後是一致的;
乙個邏輯工作單元必須表現出四種屬性,即原子性、一致性、隔離性和永續性,這樣才能成為乙個有效的事務;
dm 資料庫預設都採用自動提交模式:
set autocommit on;
回滾事務是撤消該事務所做的任何更改。回滾有兩種形式:dm資料庫自動回滾,或者通過程式/rollback 命令手動回滾。
dm 資料庫使用四種不同的鎖模式:
i. 共享鎖,用於讀操作;
ii. 排他鎖,用於寫操作;
iii. 意向共享鎖:一般在唯讀訪問物件時使用;
iv. 意向排他鎖;一般在修改物件資料時 使用。
鎖粒度:
i. tid鎖:dm實現的是行級多版本,每一行記錄隱含乙個tid欄位,用於事務可見性判斷。
ii. 物件鎖:物件鎖是dm新引入的一種鎖,通過統一的物件id進行封鎖,將對資料字典的封鎖和表鎖合併為物件鎖,以達到減少封鎖衝突、提公升系統併發效能的目的。
iii. 顯式鎖定表的語法如下:lock table in mode [nowait];
dm資料庫專門提供了乙個 v$lock 動態檢視方便使用者檢視當前系統中鎖的狀態, 使用者可以檢視到系統當前所有鎖的詳細資訊,如鎖的記憶體位址、所屬事務 id、鎖型別、鎖模式等。
dm資料庫支援三種事務隔離級別:讀未提交、讀提交和序列化。其中,讀提交是 dm 資料庫預設使用的事務隔離級別。
案例介紹:
一、以乙個模擬的銀行轉賬業務為例,假設乙個銀行客戶a需要轉5000元給b,其具體業務步驟如下:
從a(id為5236)的儲蓄賬戶扣除5000元;
update account set balance=balance-
5000
where id=
5236
;
將b(id為5237)的儲蓄賬戶增加5000元;
update account set balance = balance +
5000
where id=
5237
;
在業務日誌中記錄此次業務;
insert
into trans_log values
(log_seq.nextval,
5236
,5237
,5000
);
提交事務。
commit
;
達夢資料庫 學習筆記 2020 09
學習筆記 006 學習內容 sql語言使用手冊 第1章內容總結如下 dm sql語言符合結構化查詢語言sql標準,是標準sql的擴充。它集資料定義 資料查詢 資料操縱和資料控制於一體,是一種統一的 綜合的關聯式資料庫語言。它功能強大,使用簡單方便 容易為使用者掌握。dm sql語言具有如下特點 dm...
達夢資料庫 學習筆記 2020 10
學習筆記 008 學習內容 dm8系統管理員手冊 第20章 問題跟蹤和解決 看起思考 大概可以分為幾類問題?是否可以歸納 分類總結?最常見 最容易遇到的問題有哪些?需要注意的問題有哪些?如何去跟蹤?解決方法有哪些?個人總結 系統出現問題無法響應使用者 應用請求時,一般包括以下幾類 網路是否正常 db...
達夢資料庫和mysql索引引擎 達夢資料庫 索引
1.索引的種類和功能 聚集索引 每乙個普通表有且只有乙個聚集索引 唯一索引 索引資料根據索引鍵唯一 函式索引 包含函式 表示式的預先計算的值 位圖索引 對低基數的列建立位圖索引 位圖連線索引 針對兩個或者多個表連線的點陣圖索引,主要用於資料倉儲中 全文索引 在表的文字列上而建的索引。2.何時使用索引...