解鎖HR
SQL > connect HR/password
輸入口令:
已連接。
SQL >select * from tab;
---- HR用戶下的表
Countries,國(guó)家信息
Departments,部門信息
Employees,員工信息
Jobs,工作崗位信息
Job_history,員工歷史崗位信息
Locations,位置歷史信息
Regions,區(qū)域信息(洲)
-----并發(fā)
- 體會(huì)鎖機(jī)制,通過同時(shí)啟動(dòng)兩個(gè)會(huì)話,同時(shí)更新同一個(gè)數(shù)據(jù),造成兩個(gè)會(huì)話對(duì)一個(gè)數(shù)據(jù)的爭(zhēng)用,來體會(huì)鎖機(jī)制(一個(gè)會(huì)話在等待)
重點(diǎn):同一資源的爭(zhēng)奪
commit; 完成會(huì)話
- 創(chuàng)造死鎖,通過同時(shí)啟動(dòng)兩個(gè)會(huì)話,分別對(duì)兩個(gè)資源進(jìn)行交叉加鎖,來實(shí)現(xiàn)死鎖(Oracle會(huì)檢測(cè)出該死鎖)
等待資源時(shí)檢測(cè)到死鎖
- 隔離級(jí)別,賦予事務(wù)不同的隔離級(jí)別,通過啟動(dòng)兩個(gè)會(huì)話來體會(huì)并發(fā)。設(shè)計(jì)實(shí)驗(yàn)用例,體現(xiàn)多事務(wù)的讀寫競(jìng)爭(zhēng)。
--Oracle提供三種事務(wù)隔離級(jí)別,實(shí)驗(yàn)版本不支持read only,僅支持READ COMMITTED、 SERIALIZABLE
--相關(guān)語(yǔ)句
set transaction isolation level read commited;
set transaction isolation level serializable;
set transaction read only;
alter session set isolation_level serializable;
alter session set isolation_level read commit;
實(shí)驗(yàn)內(nèi)容:
--SQL標(biāo)準(zhǔn)下事務(wù)隔離級(jí)別的定義,與Oracle提供的事務(wù)隔離級(jí)別的差異性。例如提交讀隔離級(jí)別下,Oracle會(huì)不會(huì)出現(xiàn)不可重復(fù)讀和幻象讀,為什么?
--體會(huì)提交讀與串行化級(jí)別之間的差異?并發(fā)用戶的相互差異?
- 索引:B樹索引、基于函數(shù)的索引,位圖不做
注意事項(xiàng):
HR用戶在Sqlplus下查看查詢計(jì)劃,需要給HR用戶賦予DBA角色
是否使用索引,需要考慮兩個(gè)問題:
1、Where后面條件表達(dá)式中屬性的組成,與索引項(xiàng)的匹配關(guān)系
2、SQL語(yǔ)句中涉及到的屬性列,例如select后面的屬性列表,與索引項(xiàng)的關(guān)系。它決定了是通過索引數(shù)據(jù)回答,還是通過索引數(shù)據(jù)進(jìn)行二次查找
- 要求:記錄實(shí)驗(yàn)結(jié)果,撰寫實(shí)驗(yàn)報(bào)告,要求在報(bào)告中明確實(shí)驗(yàn)?zāi)康?、?shí)驗(yàn)內(nèi)容、實(shí)驗(yàn)結(jié)果和分析。