将数据库设置为运行在限制模式下
如果要維護數(shù)據(jù)庫的結(jié)果或者要對數(shù)據(jù)庫進行數(shù)據(jù)的導(dǎo)出導(dǎo)入操作時,此時應(yīng)該盡量限制其他會話進程,保證數(shù)據(jù)庫的操作運行在安全狀態(tài)下。同時對使用數(shù)據(jù)的庫的用戶也可以起到避免讀取臟數(shù)據(jù)的bug。將數(shù)據(jù)庫上的其他用戶進程kill,只保留具有restricted session權(quán)限的用戶操作數(shù)據(jù)庫,一般具有此權(quán)限的用戶即為數(shù)據(jù)庫管理員。操作步驟如下:
一、通過數(shù)據(jù)字典v$session查看登陸到此數(shù)據(jù)庫上的用戶的sid(回話標(biāo)志符)和serial#(序列號)
select sid,serial#,username,type from v$session;
獲得想要殺死用戶進程的sid 和serial#比如為sid=137 serial#=82 username=scott??? type=user
二、根據(jù)指定的sid和serial#殺死目標(biāo)會話進程
alter system kill session '137,82';
三、設(shè)置數(shù)據(jù)庫模式為限制模式
alter system enable restricted session;
四、此時如果以scott身份登陸數(shù)據(jù)庫會提示錯誤:"登陸用戶必須具有restricted session權(quán)限"
?
這樣就保證了在對數(shù)據(jù)庫的結(jié)構(gòu)和其他數(shù)據(jù)庫對象進行修改時不會受到來自其他會話進程的干擾。
注:如果不kill其他用戶的會話進程直接使用alter system enable restricted session;語句將數(shù)據(jù)庫設(shè)置為限制模式也是可以的,但是此時只能保證后續(xù)登陸的用戶必須具有restricted session權(quán)限,已經(jīng)登陸的用戶不受到此限制可以繼承正常的工作。
另外可以在啟動數(shù)據(jù)庫時就用限制模式啟動:startup restrict;
數(shù)據(jù)庫由限制模式切換到正常模式的sql:alter system disable restricted session;
posted on 2014-06-22 11:42 moonfans 閱讀(...) 評論(...) 編輯 收藏轉(zhuǎn)載于:https://www.cnblogs.com/moonfans/p/3802365.html
總結(jié)
以上是生活随笔為你收集整理的将数据库设置为运行在限制模式下的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 推荐我看过的几本好书给大家!(2)
- 下一篇: Unity手游之路lt;七gt;角色控制