oracle学习笔记一:用户管理(2)创建删除用户
本文主要介紹如何創(chuàng)建和刪除用戶,當(dāng)然里面牽涉很多知識,慢慢道來。
1,創(chuàng)建用戶
需求:假設(shè)你是oracle管理員,當(dāng)一個同事入職,你需要分配給一個賬號。
?????? 創(chuàng)建用戶,一般需要有相應(yīng)權(quán)限的用戶才可以創(chuàng)建用戶.
?????? create user 用戶 identified by 密碼
?????? 舉例,創(chuàng)建一個普通用戶yfy,這里我們用管理員來創(chuàng)建。
?????? create user yfy identified by m123
??????
?????? [oracle 要求用戶密碼不能以數(shù)字開頭],但是我試了沒有問題。
?????? 此時用小明登錄是不可以的。conn yfy/m123;登錄之后會退出數(shù)據(jù)庫連接。
??????
????? Oracle剛剛創(chuàng)建的用戶是沒有任何權(quán)限的,需要管理員分配相應(yīng)的權(quán)限才能夠登錄。
????? 如何給用戶分配相應(yīng)的權(quán)限?
????????????? grant create [resource] to yfy;
????? 如果需要登錄resource改為session;其他權(quán)限以后再講;
?????
???? 當(dāng)然授權(quán)給某個用戶一些權(quán)限,也可以回收權(quán)限。
???????????? revoke create [resource]? from yfy
????
創(chuàng)建用戶細節(jié):
??????? aql->create user 用戶名 identified by 密碼????????????????????????????????? --------------------------這一行和上面的一樣?
??????????????????? default tablespace users???????????????????????????? 默認表空間 ---------------------------用戶的表空間在users上
??????????????????? temporary tablespace temp????????????????????????? 臨時表空間 ---------------------------用戶的臨時表空間在temp上
??????????????????? quota 3m on users??????????????????????????? ------------------3m表示建立的數(shù)據(jù)的對象(表,索引等)最大只能是3m(兆)。?
?????
表空間: 表存在的空間,一個邏輯概念。一個表空間指向一個文件。Oracle事先提供默認的表空間,創(chuàng)建用戶的時候就會在默認的表空間。2,角色
預(yù)定義角色: dba,connect,resource 見下圖。
????? 把常用的權(quán)限集中起來,形成一個角色,根據(jù)需求有幾種,因此有時候管理員不是分配給某個用戶某個權(quán)限,而是把一個角色分配給用戶,那么這個用戶將擁有一系列權(quán)限。
自定義角色:管理員覺得現(xiàn)在這些角色不滿足當(dāng)前用戶的權(quán)限要求,可能把某一系列的權(quán)限定義為一個角色。
??
???? 由此可知,上面的grant create session to yfy; 是分配給用戶yfy一個系統(tǒng)權(quán)限。如果我們嫌給一個用戶一個個的分配權(quán)限很麻煩就分配給他一個角色,這個角色包含的權(quán)限就比較多。那么如何分配角色呢?
??? grant 角色 to 用戶
??? 例如分配給yfy一個resource角色:grant resource to yfy;
當(dāng)然分配了角色就要回收角色,命令如下:
??? revoke 角色 from用戶
??? 例如回收yfy的resource角色:revoke resource from yfy;
3,刪除用戶
刪除這個用戶
???? drop user 用戶 [cascade];
??? cascade:當(dāng)刪除一個用戶的時候,如果這個用戶已經(jīng)創(chuàng)建過數(shù)據(jù)對象,那么刪除這個用戶的時候,必須用cascade,表示把這個用戶的同時,把該用戶創(chuàng)建的對象一同刪除。
4,綜合案例
創(chuàng)建一個用戶xiaohong,然后給他分配兩個角色,可以登錄,修改密碼,然后回收角色,最后刪除用戶。
(1) 使用system創(chuàng)建xiaohong
??????? create user xiaohong identifid by m123
(2) 給xiaohong分配兩個常用的角色
??????? grant connect to xiaohong;
??????? grant resource to xiaohong;
(3) 讓xiaohong登錄
??????? conn xiaohong/m123;
(4) 讓xiaohong修改密碼
?????? passw 或者password;回車之后再改。命令之后可以加上用戶名,不加就是修改當(dāng)前用戶;
(5) 回收角色
??????? revoke connect from xiaohong;
??????? revoke resource from xiaohong;
(6)?? 刪除這個用戶
??????? drop user xiaohong [cascade];
5,方案
方案schema
???? 當(dāng)一個用戶創(chuàng)建好了之后,如果該用戶創(chuàng)建了任意一個數(shù)據(jù)對象,這時我們的dbms就會創(chuàng)建一個對應(yīng)的一個方案和用戶同名。
????
需求: 讓xiaohong用戶可以查詢scott的enp表;
步驟如下:
(1)先用scott登錄??????????????????? conn scott/scott;
(2)賦權(quán)限????????????????????????????? grant select [update|delete|insert|all] on emp to xiaohong;
(3)然后xiaohong登錄后查詢??????? select * from scott.emp;
?????? 方案其實就是說對于每創(chuàng)建一個用戶,該用戶的數(shù)據(jù)都在此方案中,別人是看不到的,如果想讓別人對你的某些數(shù)據(jù)有某些權(quán)限,則可以賦予,然后對方可以在操作時加上方案名即可操作。
轉(zhuǎn)載于:https://www.cnblogs.com/yefengyu/p/4754474.html
總結(jié)
以上是生活随笔為你收集整理的oracle学习笔记一:用户管理(2)创建删除用户的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 机器学习中的相似性度量 (转)
- 下一篇: codeforces #274 C.