1.用戶管理
- 創建用戶,並設置密碼
create user 用戶名 identified by 密碼;
- 刪除用戶
drop user 用戶名;
- 修改口令
alter user 用戶名 identified by "密碼";
- 用戶加鎖和解鎖
--加鎖
Alter user 用戶名 account lock;
--解鎖
Alter user 用戶名 account unlock;
- 用戶授權
grant 權限名稱1, 權限名稱2, ... to 用戶名1, 用戶名2, 用戶名3, ...;
角色種類:
何爲角色:
角色。角色是一組權限的集合,將角色賦給一個用戶,這個用戶就擁有了這個角色中的所有權限。
DBA: 擁有全部特權,是系統最高權限,只有DBA纔可以創建數據庫結構。
RESOURCE:擁有Resource權限的用戶只可以創建實體,不可以創建數據庫結構。
CONNECT:擁有Connect權限的用戶只可以登錄Oracle,不可以創建實體,不可以創建數據庫結構。
建議:對於普通用戶:授予connect, resource權限。
對於DBA管理用戶:授予connect,resource, dba權限。
--建立一個角色
create role role1;
--授權給角色
grant create any table,create procedure to role1;
--然後給某個用戶授予某個角色,或者某種權限(這個用戶就擁有了role1的所有權限)
grant role1 to user1;
--查看角色所包含的權限
select * from role_sys_privs;
--刪除角色
drop role role1;
權限種類:
- 系統權限:系統規定用戶使用數據庫的權限。(系統權限是對用戶而言)。
- 對象權限(實體權限):某種權限用戶對其它用戶的表或視圖的存取權限。(是針對表或視圖而言的)。
- 與權限,角色相關的視圖
DBA_SYS_PRIVS: 查詢某個用戶所擁有的系統權限
USER_SYS_PRIVS: 當前用戶所擁有的系統權限
SESSION_PRIVS: 當前用戶所擁有的全部權限
ROLE_SYS_PRIVS: 某個角色所擁有的系統權限
- 注意: 要以SYS用戶登陸查詢這個視圖,否則返回空.
ROLE_ROLE_PRIVS: 當前角色被賦予的角色
SESSION_ROLES: 當前用戶被激活的角色
USER_ROLE_PRIVS: 當前用戶被授予的角色
- 另外還有針對表的訪問權限的視圖:
TABLE_PRIVILEGES
ALL_TAB_PRIVS
ROLE_TAB_PRIVS: 某個角色被賦予的相關表的權限
--查看某一用戶所擁有的角色
select * from dba_role_privs where GRANTEE='用戶名';
--查看某一用戶所擁有系統權限
select * from dba_sys_privs where GRANTEE='用戶名';
實體權限分類:select, update, insert, alter, index, delete, all //all包括所有權限
execute //執行存儲過程權限
--給user02用戶授予prouct表的實體權限
grant select, update, insert on product to user02;
--user02得到權限,並可以傳遞
grant select, update on product to user02 with grant option;
實體權限回收:
Revoke select, update on product from user02;