oracle資料庫如何建立使用者和角色,並給其賦權?

2021-09-24 04:08:10 字數 3189 閱讀 4191

一、建立使用者並賦予許可權

1、建立使用者

create user wangxiangyu identified by wangxiangyu;

2、賦權

grant dba to wangxiangyu;

grant create session to wangxiangyu; --會話許可權(沒有該許可權無法登入)

3、檢視已經賦予使用者的系統許可權

select * from user_sys_privs;

二、建立角色

角色,即許可權的集合,可以把乙個角色授予給使用者

1、建立角色

create role myrole;

2、賦權

grant create session to myrole;--將建立session的許可權授予給角色myrole

3、賦角色給使用者

grant myrole to zhangsan;--授予zhangsan使用者myrole的角色

4、刪除角色

drop role myrole;

檢視所有使用者

select * from dba_users;

select * from all_users;

select * from user_users;

alter user user_name account lock; 鎖住使用者

alter user user_name account unlock; 解鎖使用者

查詢當前使用者所擁有的許可權

select * from session_privs;

檢視使用者被賦予的系統許可權(直接賦值給使用者或角色的系統許可權)

select * from dba_sys_privs where grantee = 'resource';

select * from user_sys_privs;

注:user_sys_privs 檢視列出已經授予使用者的系統許可權。

它的列包括username、privilege和 admin_option(設定為yes 或no 的乙個標誌,用來指出是否用with admin option 授予許可權),直接授予使用者的所有系統許可權都可以通過該檢視顯示,通過角色授予使用者的系統許可權不能在此檢視中顯示。

檢視所有角色

select * from dba_roles;

檢視使用者所擁有的角色

select * from session_roles order by role;--返回當前使用者被授予的全部角色, 包括巢狀授權的角色

select * from dba_role_privs;

select * from user_role_privs;

檢視當前使用者角色所包含的許可權

select * from role_sys_privs where role = 'connect';

檢視使用者物件許可權

select * from dba_tab_privs;

select * from all_tab_privs;

select * from user_tab_privs;

檢視哪些使用者有sysdba或sysoper系統許可權(查詢時需要相應許可權)

select * from v$pwfile_users;

檢視使用者與預設表空間的關係

select username, default_tablespace from dba_users where username='scott';

檢視當前使用者的表

select * from user_tables;

視覺化賦權:

1、使用ins使用者建表

users——>ins,選中要賦權的表賦權(右鍵,編輯,許可權)

等同於:grant select, insert, update, delete on ins.tb_cablecheck_equ_odso to odso;

3、使用odso使用者登入,增刪改查該錶測試

命令賦權:

賦予許可權:grant ... to ...

撤銷許可權:revoke ... from ...

登陸grant create session to zhangsan;

使用表空間

grant unlimited tablespace to zhangsan;

建立表grant create table to zhangsan;

刪除表grant drop table to zhangsan;

grant drop on table_name to user_name;

插入表grant insert table to zhangsan;

grant insert on table_name to user_name;

grant insert(id) on table_name to user_name;

更新表資料

grant update table to zhangsan;

grant update on table_name to user_name;

grant update(id) on table_name to user_name;

修改表結構

grant alter table on table_name to user_name;

查詢表grant select on table_name to user_name;

建立過程

grant create any procedure to username;

執行過程

grant execute any procedure to username;

grant execute on ins.p_trun_link_odso  to odso_insert;

授予所有許可權(all)給所有使用者(public)

grant all to public;

許可權傳遞

即使用者a將許可權授予b,b可以將操作的許可權再授予c,

命令如下:

grant alter table on table_name to user_name with admin option;

grant update on table_name to user_name with grant option; --轉移更新許可權

grant alter table on table_name to user_name with grant option;

Oracle資料庫如何建立使用者

我們可以用scott使用者以sysdba的身份登入oracle 在cmd裡面使用 conn scott tiger as sysdba 然後我就可以來建立使用者了.create user 使用者名稱 identified by 使用者名稱 修改使用者的密碼.alter user zs identif...

建立oracle資料庫使用者

查詢表空間 select tablespace name,file id,file name,round bytes 1024 1024 0 total space from dba data files order by tablespace name 1.建立表空間 create tablesp...

為Oracle資料庫建立使用者

oracle安裝完後,其中有乙個預設的資料庫,除了這個預設的資料庫外,我們還可以建立自己的資料庫。對於初學者來說,為了避免麻煩,可以用 database configuration assistant 嚮導來建立資料庫。建立完資料庫後,並不能立即在資料庫中建表,必須先建立該資料庫的使用者,並且為該使...