#創建用戶需要管理員權限
SQL> create user lzz identified by lzz123;//這樣創建了一個普通用戶,但是還沒有解鎖
#給用戶修改密碼
#給自己的話:
SQL> password
更改 SCOTT 的口令
舊口令: ****
新口令:****
重新鍵入新口令:****
口令已更改
#給用戶的話:
SQL> alter user lzz identified by lzz;
#刪除用戶(擁有DBA)權限,或者擁有drop user的權限,不可以自己刪除自己
#如果要刪除的用戶已經創建了表,那麼就需要在刪除時帶一個參數cascade
SQL> drop user lzz
用戶已刪除。
#擁有給其他用戶賦予權限的用戶有sys、system,權限的種類很多,有100多種
#角色:角色是一組權限的集合,將角色賦給一個用戶,這個用戶就擁有了這個角色中的所有權限。
自定義角色:用戶根據需要自己定義權限給角色
預定義角色:系統預先定義好的(connec,dba,resource)
語句是:grant connect to lzz;
#數據對象:表和視圖,其他還有約束、序列、函數、存儲過程等等
#Oracle的權限有2種
系統權限:指的是用戶對數據庫的相關權限
對象權限:用戶對其他用戶的數據對象的操作權限(select,insert,update,delete,all)
命令:grant select on emp to lzz;
#收回權限的語法
例如:revoke select on emp from lzz;
#對權限的維護工作
權限的傳遞:
--如果是對象權限就加入with grant option
例如:grant select on emp to lzz with grant option;
--如果是系統權限就加入with admin option
例如:grant connect to xiaoming with admin option;
#使用profile管理用戶口令
profile是口令限制,資源限制的命令集合
(1)賬戶鎖定:指定用戶登錄時最多可以輸入密碼的次數,也可以指定鎖定
的時間,一般由dba用戶執行該命令;
案例:創建profile文件
SQL> create profile aa limit
2 failed_login_attempts 3 password_lock_time 2;
配置文件已創建。
SQL> alter user qinke profile aa;
用戶已更改。
#三次錯誤之後再寫正確的密碼
SQL> conn qinke/qinke;
ERROR:
ORA-28000: the account is locked
(2)給賬戶解鎖:
SQL> alter user qinke account unlock;
用戶已更改。
(3)終止口令:為了讓用戶定期修改密碼可以使用終止口令來完成
案例:每個10天修改,寬限為2天(單位均以天計算)
SQL> create profile aaa limit password_life_time 10 password_grace_time 2;
配置文件已創建
SQL> alter user qinke profile aaa;
用戶已更改。
#刪除profile
drop profile password_his [cascade];
1 創建一個對象lzz,並使其可以登錄(系統權限)
給此用戶添加一個可以預定義的角色
成功。
2 lzz這個用戶可以創建表
3 lzz這個用戶可以查詢scott的emp表(對象權限)
4 scott用戶回收lzz查詢scott的emp表的查詢權限
5 lzz獲得scott的emp表的查詢權限並且傳遞給qinke
?當scott把emp表的查詢權限回收了,那麼qinke會怎麼樣
答案是qinke也無法再查詢到emp表的信息了(株連)