關閉資料庫
sql>shutdown immediate
關閉資料庫,以確保殺死所有未斷的user session
當例項無法關閉無法使用shutdown immediate關閉時,可使用shutdown abort關閉例項,但關閉後應startup並再次使用shutdown immediate關閉例項,保證database的同步
當在oracle下kill oracle程序後,sid被標記為killed,但鎖表仍未釋放時,就在os級殺程序。
主要步驟如下:
1)select s.process,
s.sid,
s.serial#,
b.object_name,
b.subobject_name,
a.locked_mode,
s.osuser,
s.logon_time,
s.machine,
s.program
from v$locked_object a, dba_objects b, v$session s
where a.object_id = b.object_id
and a.session_id = s.sid
2)alter system kill session 'sid,serial#';
3)此時如果oracle會話被標記為killed,但仍然鎖住表,則需要根據spid到os系統中殺相應的oracle程序
查詢spid的語句如下:
select spid, osuser, s.program
from v$session s,v$process p
where s.paddr=p.addr and s.sid=此處為上面查出的sid
4) kill -9 spid
檢視當前user的serial#和sid
select sid, serial#, status from v$session where audsid=userenv('sessionid');
檢視當前user的spid
select spid from v$process p join v$session s on p.addr=s.paddr and s.audsid=userenv('sessionid');
檢視當前使用者的trace file路徑:
select p.value || '\' || t.instance || '_ora_' || ltrim(to_char(p.spid,'fm99999')) || '.trc'
from v$process p, v$session s, v$parameter p, v$thread t
where p.addr = s.paddr and s.audsid = userenv('sessionid') and p.name = 'user_dump_dest';
MySQL行級鎖 表級鎖 頁級鎖
mysql資料庫由於其自身架構的特點,存在多種資料儲存引擎,每種儲存引擎所針對的應用場景特點都不太一樣,為了滿足各自特定應用場景的需求,每種儲存引擎的鎖定機制都是為各自所面對的特定場景而優化設計,所以各儲存引擎的鎖定機制也有較大區別。mysql各儲存引擎使用了三種型別 級別 的鎖定機制 表級鎖定,行...
行級鎖和表級鎖
鎖定的範圍不一樣,行級鎖鎖定的是相關的行,別人仍然可以操作該錶的其他行 而表級鎖則鎖定整個表,其他人對該錶的訪問會受到更多的限制。所以,二者的主要區別就是鎖的粒度不一樣,帶來的結果及時併發能力的不同。鎖的粒度越細,併發性越好。行級鎖,一般是指排它鎖,即被鎖定行不可進行修改,刪除,只可以被其他會話se...
MySQL行級鎖 表級鎖
行級鎖 表級鎖的資料不能被其它事務再鎖定,也不被其它事務修改 修改 刪除 是表級鎖時,不管是否查詢到記錄,都會鎖定表 innodb 行鎖是通過給索引上的索引項加鎖 來實現的,這一點mysql與 oracle 不同,後者是通過在資料塊中對相應資料行加鎖來實現的。innodb這種行鎖實現特點意味著 只有...