Oracle 的使用者管理
==========================================================
建立一個使用者名稱為bkjia 密碼為:88181的使用者
creat user bkjia identified by 88181
給使用者修改密碼:
sql>password 使用者名稱
如果給別人修改密碼則需要具有dba的許可權,或者是擁有alter
user的系統許可權
sql>alter user 使用者名稱 identified by 新密碼
刪除使用者
概述:一般以dba的身份去刪除某一個使用者,如果其他的使用者去刪除
使用者則需要具有 drop user的許可權
但是不能自己刪除自己
比如:drop user 使用者名稱【cascade】
在刪除使用者的時候注意:如果刪除的這個使用者已經建立了表,那麼
就需要在刪除的時候帶一個參數 cascade;帶著個參數就是說把這
個使用者建立的表也一起刪除。
==========================================================
授權:
給bkjia 登入的許可權
grant connect to bkjia
給bkjia查看scott的emp表的許可權
grant select on emp表 to chenghuang
查詢的時候:select * from scott.emp;
如果是對象許可權
grant select on emp表 to chenghuang with grant option
如果是系統許可權:
grant connect to chenghuang with admin option
收回許可權
scott希望收回對chengchuang對emp的查詢許可權
revoke select on emp from bkjia
==========================================================
Oracle 中的許可權分為:系統許可權和對象許可權
系統許可權:使用者對資料庫的相關許可權
對象許可權:使用者對其它使用者的資料對象的訪問或者操作的許可權
select
insert
update
delete
all
creat
註:資料對象不單單是指表,比如表,視圖,函數等等。
==========================================================
角色:
角色分為:自訂角色和預定義角色
==========================================================
賬戶鎖定:
概述: 指定該賬戶(使用者)登陸時最多可以輸入密碼的次數,也
可以指定使用者的鎖定時間,一般是dba的身份來執行該命令的
例子:指定Scott這個使用者最多隻能嘗試3次登陸鎖定的時間為2
天,讓我們看看我們怎麼實現的
sql> creat profile lock_account limit
failed_login_attempts 3 password_lock_time 2;
sql>alter user tea profile lock_account;
給賬戶解鎖
sql>alter user tea account unlock;
終止口令
為了讓使用者定期修改密碼可以用終止口令的指令來完成,
例子: 給前面建立的使用者tea 建立一個 profile 檔案,要求該
使用者每隔10天要修改自家的登陸密碼,寬限期為 2 天 看看那怎麼
做
sql> creat profile myprofile limit password_lift_time 10
password_grace_time 2;
sql> alter user bkjia profile myprofile
口令的曆史
概述:如果希望使用者在修改密碼時,不能使用以前用過的密碼,可
以使用口令的曆史,這樣Oracle就會將口令的修改資訊存放在資料
字典中,這樣當使用者修改密碼時,Oracle就會對新舊的密碼進行比
較,當發現新舊密碼一樣時,就會提示使用者重新輸入密碼
例子:
1)建立 profile
sql> creat profile password-history limit
password_life_time 10 password_grace_time 2
password_reuse_time 10
password_reuse_time //指定口令可重用的時間即是10天后
2)分配給某個使用者
sql> alter user bkjia profile password-history
刪除profile
概述: 當你不需要某個profile 檔案時,可以刪除該檔案。
sql> drop profile password_history