一算撮、用戶管理
1生宛、創(chuàng)建用戶
2、修改用戶
3肮柜、刪除用戶
二陷舅、權(quán)限管理
1、系統(tǒng)權(quán)限 - 授權(quán)操作
2素挽、對象權(quán)限 - 授權(quán)操作
3蔑赘、回收權(quán)限操作
4、查看用戶和權(quán)限
三预明、角色管理
1缩赛、系統(tǒng)常用角色
2、查看角色和授權(quán)
3撰糠、創(chuàng)建角色和授權(quán)
一酥馍、用戶管理
1、創(chuàng)建用戶?
【例1】創(chuàng)建用戶 u_test 密碼為 test123
SQL> create user u_test identified by test123;?
【例2】創(chuàng)建用戶 u_test 密碼為 test123阅酪,設(shè)置表空間為 tbsp_data旨袒,臨時表空間 tbsp_temp
SQL> create user u_test identified by test123
????????? defualt tablespace tbsp_data
????????? temporary tablespace tbsp_temp;
創(chuàng)建表空間和臨時表空間參考鏈接:Oracle | 表空間、臨時表空間术辐、數(shù)據(jù)文件
創(chuàng)建用戶語法:
create user user_name identified by pass_word
[ defualt tablespace tablespace_defualt_name ]? // 設(shè)置表空間
[ temporary tablespace tablespace_temp_name ]?? // 設(shè)置臨時表空間
[ quota [ integer k|m ][ unlimited ] on tablespace_specify1_name ] // 設(shè)置表空間磁盤使用量
[ quota [ integer k|m ][ unlimited ] on tablespace_specify2_name ]
[ profiles profile_name ]? // 設(shè)置資源文件
[ account lock | account unlock]? // 設(shè)置用戶是否加鎖砚尽,默認(rèn)不加鎖
2、修改用戶
修改用戶在 表空間 tbsp_data 的磁盤限額為20m
SQL> alter user u_test quota 20m on tbsp_data;
注:修改用戶語法辉词,只要將創(chuàng)建用戶語法 create 替換成 alter
3必孤、刪除用戶
SQL> drop user u_test cascade;? 刪除用戶 u_test
注:若用戶存有數(shù)據(jù)庫對象,需使用 cascade 進行刪除
二瑞躺、權(quán)限管理
數(shù)據(jù)庫權(quán)限包括:系統(tǒng)權(quán)限 和?對象權(quán)限
1敷搪、系統(tǒng)權(quán)限 - 授權(quán)操作
系統(tǒng)權(quán)限:如 session 權(quán)限(用戶是否可以連接到數(shù)據(jù)庫);系統(tǒng)級的DDL操作(CREATE幢哨、ALTER赡勘、DROP等)
1)登錄(以dba數(shù)據(jù)庫管理員身份登錄,bda為超級用戶)捞镰,將創(chuàng)建session 和創(chuàng)建table的權(quán)限賦予用戶 u_test
[oracle@orcl ~]$ sqlplus / as sysdba
SQL> grant create session,create table to u_test;
2)授予用戶 u_test1 連接和開發(fā)系統(tǒng)權(quán)限
[oracle@orcl ~]$ sqlplus / as sysdba
SQL> grant connect,resource to u_test1;
注:connect闸与,resource 都是角色,兩種角色包括多種權(quán)限岸售,把角色授予用戶几迄,用戶就會得到該角色擁有的權(quán)限,下面會講解到冰评。
系統(tǒng)權(quán)限授權(quán)語法:
grant sys_privi | role to user | role | public [ with admin option ]
-- sys_privi:oracle系統(tǒng)權(quán)限
-- user:具體的用戶名
-- role:角色名,以下會介紹
-- public :代表系統(tǒng)的所有用戶
-- with admin option:表示被授權(quán)者可以再將權(quán)限授予其他用戶
2木羹、對象權(quán)限 - 授權(quán)操作
對象權(quán)限:用戶對其他用戶的表甲雅、視圖解孙、序列、存儲過程抛人、函數(shù)等得操作權(quán)限
用戶u_test1下存在表 test_table弛姜,將select, intert,delect,update表test_table操作權(quán)限授予給用戶u_test2。這樣的話妖枚,u_test2 就可以對用戶u_test1下的表 test_table進行操作廷臼。
SQL>grant? select, intert,delect,update on u_test1.test_table to u_test2;
對象權(quán)限授權(quán)語法:
grant obj_privi | all column on schema.object to user | role | public
[ with admin option ]
[ with hierarchy option ]
-- obj_privi:對象的權(quán)限(ALTER、EXECUTE绝页、SELECT荠商、UPDATE、INSERT)
-- user:具體的用戶名
-- role:角色名续誉,以下會介紹
-- public :代表系統(tǒng)的所有用戶
-- with admin option:表示被授權(quán)者可以再將權(quán)限授予其他用戶
-- with hierarchy option:在對象的子對象上授權(quán)給用戶
3莱没、回收權(quán)限操作
語法:
revoke obj_privi | all column on schema.object to user | role | public cascade constraints
-- cascade constraints : 有關(guān)聯(lián)關(guān)系的權(quán)限也被撤銷
4、查看用戶和權(quán)限
可以從以下的數(shù)據(jù)字典表中酷鸦,查看用戶饰躲、系統(tǒng)權(quán)限、對象權(quán)限等信息臼隔。但是不同的用戶可以查詢表的權(quán)限有區(qū)別嘹裂。
三、角色管理
1摔握、系統(tǒng)常用角色
因為oracle的權(quán)限很多寄狼,如果需要管理的用戶也很多的話,在用戶權(quán)限分配和管理上就會比較困難盒发。所以就有了角色這個數(shù)據(jù)庫實體例嘱。
角色包括一個或多個權(quán)限的集合,可以授予任務(wù)用戶宁舰。
系統(tǒng)常用的角色:
2拼卵、查看角色和授權(quán)
查看角色被授予哪些權(quán)限以及用戶被授予了哪些權(quán)限和角色,可以查看數(shù)據(jù)字典表
3蛮艰、創(chuàng)建角色和授權(quán)
創(chuàng)建角色語法:
create role role_name [not identified | identified by [password] | [exeternally] | [ grobally] ]
-- identified by password:登錄角色的密碼
-- identified by exeternally:代表角色名在操作系統(tǒng)下驗證
-- identified by grobally:代表用戶是oracle安全域中心服務(wù)器來驗證腋腮,此角色由全局用戶來使用
將連接和開發(fā)系統(tǒng)權(quán)限授予用戶 u_test1
[oracle@orcl ~]$ sqlplus / as sysdba
SQL>grant connect,resource to u_test1;
注:connect,resource 都是角色