oracle資料庫的許可權問題

2021-06-05 07:49:15 字數 2272 閱讀 7919

限分為系統許可權

(system privilege)

和物件許可權

(object privilege)

所謂系統許可權是指使用者對資料庫的相關許可權。允許使用者在資料庫中執行特定操

比如執行

ddl。常用的系統特權:

create session

:連線到資料庫上

create sequence

:建立序列。序列是一系列數字,通常用來填充主鍵值。

create synonym

:建立同名物件。同名物件用來引用其它模式中的表。

create table

create any table

drop table

drop any table

create procedure

execute any procedure

create user

drop user

create view

授權

向使用者授予系統特權,如果後面使用

with admin option

選項,則表示所授予的使用者可以把這種特權再授予其它使用者。

grant execute any procedure to steve with admin option

conn steve/button

grant execute any procedure to gail;

將一種特權授予

public,

可以將特權授予所有的使用者。

conn system/manager

grant execute any procedure to public;

檢查授予使用者的系統特權

通過查詢

user_sys_privs

可以檢索某個使用者具有哪些系統特權

.select * from user_sys_privs

撤權

revoke execute any procedure from steve

在撤銷steve

使用者的execute any procedure

特權時—steve

已經將這種特權又授權了

gail

使用者,gail

使用者仍然會保留這些特權。

所謂物件許可權是指使用者對其它使用者的資料物件操作的許可權。比如對錶執行

dml。常用的物件特權:

select

、update

、insert

、delete

、execute

、all (

前四種的總稱

)授權

grant select ,insert,update on store.products to steve

下面這個例子將對

last_name

和salary

列的update

特權授予

steve使用者.

grant update(last_name,salary) on store.products to steve

此處可以使用

wtih grant option選項

檢查已授予的物件特權通過查詢

user_tab_privs_made

可以檢查某個使用者對哪些表向其它使用者開放了哪些物件特權。

select *

from user_tab_privs_made

where table_name=』products』

通過查詢

user_col_privs_made

可以檢索某個使用者對哪些列開放了哪些特權。

select *

from user_col_privs_made

檢索已接受的物件特權

通過查詢

user_tab_privs_recd

可以檢查某個使用者被授予了哪些表上的哪些物件特權。

通過查詢

user_col_privs_recd

可以檢查某個被授予了哪些列上的物件特權。

注意:當所授予的權是系統特權時,並且使用

with admin option

選項使該系統特權向下傳遞,當撤銷授予者的系統特權時,其所向下授予的系統特權不在撤銷。

當授予的權是物件特權時,並且使用

with grant option

選項使該物件特權向下傳遞,當撤銷授予者的系統特權時,其所向下授予的物件特權一併收回。

Oracle資料庫許可權

oracle系統提供三種許可權 object 物件級 system 系統級 role 角色級。許可權分類 1 系統許可權 系統規定使用者使用資料庫的許可權。系統許可權是對使用者而言 2 實體許可權 某種許可權使用者對其它使用者的表或檢視的訪問許可權。是針對表或檢視而言的 系統許可權主要有 dba 擁...

Oracle資料庫許可權

sql create user user50 identified by user50 sql grant connect,resource to user50 sql select from dba role privs sql select from dba sys privs sql sele...

Oracle資料庫許可權的傳遞

oracle資料庫許可權的傳遞 1 系統許可權的傳遞 超級管理員授予lisi修改任意表的管理許可權 sql grant alter any table to lisi with admin option 授權成功。www.2cto.com 檢視lisi使用者的系統許可權 sql select fro...