oracle 數據庫常用sql語句

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;

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章