Oracle資料庫學習筆記之使用者與許可權

2021-08-04 03:34:17 字數 3379 閱讀 2575

對使用者進行操作(dba_users--資料庫裡面的所有使用者,all_users--你能管理的所有使用者,user_users--當前使用者)

--檢視當前使用者

show user

--建立使用者

管理員才能建立使用者

create user 使用者名稱 identified by "密碼";

注意:密碼不能以數字開頭

create user liuyan identified by "liuyan";

--修改使用者密碼

alter user 使用者名稱 identified by "新密碼";

alter user cat identified by "mouse";

--解鎖使用者

alter user 使用者名稱 account unlock;

alter user scott  account unlock;

許可權常用的系統許可權(dba_sys_privs,all_sys_privs,user_sys_privs)有:

create session  連線資料庫

create table 建表

create view  建檢視

create public synonym 建同義詞

create procedure 建過程、函式

create trigger 建觸發器

create sequence 建序列

--授予系統許可權

語法:grant 許可權1,許可權2 to 使用者 [with admin option|with grant option]; 

with admin option的意思是被授予該許可權的使用者有權將某個許可權(如create any table)授予其他使用者或角色,取消是不級聯的,但管理員可以顯式**許可權。

with grant option的意思是:許可權賦予/取消是級聯的

grant create session to cat;

grant create session to cat with admin option;

--**系統許可權

語法:revoke 許可權1,許可權2 from 使用者;

revoke create table from cat;

**許可權時cat之前授予別的使用者的建立表許可權不聯動**

建立乙個使用者設定密碼

create user yu identified by kay;

授予連線資料庫、建立表的許可權

grant create session,create table to yu with admin option;

**連線資料庫的許可權

revoke create session from yu;

物件許可權(dba_tab_privs,all_tab_privs,user_tab_privs)

系統許可權賦予的是使用者能建立什麼,物件許可權賦予的是對錶的增刪改查

常用的物件許可權有: 

alter 修改

delete 刪除

select 查詢

insert 新增

update 修改

index 索引

references 引用

execute 執行

--授予物件許可權

語法:grant 物件許可權 on 資料庫物件 to 使用者名稱 [with grant option|with admin option];

cat授權查詢scott使用者下的emp表

grant select on scott.emp to cat with grant option;

--**物件許可權

語法:revoke 物件許可權 on 資料庫物件 from 使用者名稱; 

revoke select on scott.emp from cat;

**物件許可權時cat之前授予別的使用者的查詢表許可權會聯動**

檢視使用者所擁有的許可權

select * from session_privs;

角色(dba_roles)

--預定義角色 

預定義角色是指oracle所提供的角色,每種角色都用於執行一些特定的管理任務,

常用的預定義角色connect,resource,dba 

1.connect角色 

connect角色具有一般應用開發人員需要的大部分許可權,當建立了乙個使用者後,多數情況下,只要給使用者授予connect和resource角色就夠了,那麼connect角色具有哪些系統許可權呢?

alter session 

create cluster 聚簇

create database link 

create session 

create table 

create view 

create sequence 

2.resource角色 

resource角色具有應用開發人員所需要的其它許可權,比如建立儲存過程,觸發器等。這裡需要注意的是resource角色隱含了unlimited tablespace系統許可權。 

resource角色包含以下系統許可權: 

create cluster 

create indextype 

create table 

create sequence 

create type 

create procedure 

create trigger 

3.dba角色 

dba角色具有所有的系統許可權,及with admin option選項,預設的dba使用者為sys和system,它們可以將任何系統許可權授予其他使用者。

--自定義角色

一般是dba來建立,如果用別的使用者來建立,則需要具有create role的系統許可權。

--建立角色(不驗證) 

如果角色是公用的角色,可以採用不驗證的方式建立角色。 

create role 角色名; 

--建立角色(資料庫驗證) 

採用這樣的方式時,角色名、口令存放在資料庫中。

當啟用該角色時,必須提供口令。

在建立這種角色時,需要為其提供口令。 

create role 角色名 identified by 密碼; 

--角色授權

grant 系統許可權 to 角色; 

grant 物件許可權 on 資料庫物件 to 使用者名稱;

--分配角色給某個使用者

grant 角色名 to 使用者 [with admin option];

--刪除角色

drop role 角色名;

--檢視使用者所擁有的角色

select * from dba_role_privs;

select * from user_role_privs;

刪除表需要是當前表的建立者或具有drop any table許可權

Oracle資料庫學習筆記 一

微軟 sql server 和 access 瑞典mysql ab公司 mysql ibm公司 db2 美國sybase公司 sybase ibm公司 informix 美國oracle公司 oracle 小型資料庫 access 中型資料庫 sql server mysql informix 大型...

資料庫 Oracle學習筆記(1)

類class class student 學生物件public class student byte b 100 int i 10000 double d 3.14 char c 我 boolean f true id name age1001 張三30 1002 李四25 nickname pas...

資料庫 Oracle學習筆記(4)

select from emp 查詢表中所有列 select ename,sal from emp 查詢表中ename列,和sal列 select concat ename,的工資是 from emp smith的工資是 smith的工資是 sal smith的工資是800 select conca...