系統物件和物件許可權

2021-07-12 01:08:43 字數 2762 閱讀 9792

1.作用 oracle使用許可權來控制使用者對資料的訪問以及使用者所能執行的操作。通過對使用者授予許可權,使用者

能夠在自己的模式或其他使用者的模式中建立、刪除或修改資料庫物件,或者在資料庫中執行某些

特定的操作。

許可權可以通過以下兩種方法授予使用者

a.直接將許可權授予使用者

b.首先將許可權授予角色,然後再將角色授予使用者

2.分類 a.系統許可權:在資料庫級別執行某種操作,用於控制使用者可以執行的某一種或某一類資料庫操作,

例如create tablespace的許可權。

b.物件許可權:針對某個特定的模式物件(表、檢視、序列、過程、函式或包)執行各種操作的權利。

1.概述

系統許可權可以分為三類

a.針對系統級別或者資料庫級別的操作,如create session許可權允許使用者連線到資料庫,create 

tablespace許可權允許使用者建立表空間

b.允許使用者在自己模式內的物件管理,如create table系統許可權,允許使用者在自己的模式內建立表

c.允許使用者在任何模式內的物件管理,如create any table系統許可權,允許使用者在任何的模式內創

建表常見的系統許可權

create any index,alter any index,drop any index

create table,create any table,alter any table,drop any table,select any table,

update any table,delete any table

create session,alter session,restricted session

create tablespace alter tablespace,drop tablespace,unlimited tablespace

注意:a.在系統許可權內沒有create index許可權,因為create table許可權中已經包含了create index許可權

b.create table,create procedure和create cluster許可權中已經包含了刪除這些物件的許可權

c.unlimited tablespace系統許可權不能授予角色

d.要使用truncate 命令刪減其他模式的表,使用者必須具有drop any table的系統許可權

2.系統許可權的授予和**

授予:系統許可權可以被授予使用者、角色或public公共組,public公共組是乙個在建立資料庫時自動建立的使用者組,

如果將許可權授予public使用者組,則資料庫的任何使用者都具有該許可權。

使用grant語句來授予系統許可權,grant命令由dba完成,如果要以其他使用者身份授予系統許可權,那麼要求

使用者必須具有grant any privilege系統許可權或使用者在得到該許可權時具有轉授系統許可權的選項with admin option

語法:grant to [with admin option]

其中with admin option表示被授予的使用者可以把該系統許可權再授給其他使用者

另外:oracle有兩個特殊許可權:sysdba和sysoper,具有該許可權的使用者能執行資料庫維護操作,例如啟動和關閉oracle server、

建立資料庫、備份和恢復等。

當初始化引數remote_login_passwordfile設定為exclusive時,可以將sysdba和sysoper特權授予其他使用者,這樣

該使用者就會在口令檔案中出現,並能進行啟動和關閉例項等資料庫維護操作。

需要注意的是,具有特殊許可權sysdba或sysoper的使用者在登入時必須帶有as ssydba或as sysoper字句。使用者使用sysoper

可以執行基本操作任務,但不能檢視使用者資料。

許可權sysdba自動包含了sysoper的所有許可權,另外還具有建立資料庫和執行不完全恢復的許可權,而sysoper則不能執行這兩種

操作。**:

同樣,收回許可權一般是由db使用者來完成的,但如果要以其他使用者身份收回系統許可權,那麼要求使用者必須具有grant any privilege

系統許可權或轉授系統許可權的選項with admin option.

撤銷系統許可權時不會產生級聯影響,無論是否制定admin option

1.概述 物件許可權是指訪問其他模式物件的權利,它用於控制乙個使用者對另乙個使用者的訪問。模式物件的建立者具有該物件的所有

許可權,並且能夠將這些許可權授予其他使用者。

注意:a.物件許可權可以授予使用者、角色和public公共組

b.預設情況下,當直接授予物件許可權時,會將訪問所有列的許可權都授予使用者。如果想要只允許使用者訪問某些列,

則必須要授予列許可權。需要注意,只能在insert、update和peferences上授予列許可權。

c.select許可權不嗯呢該授予列,因此如果希望使用者只能查詢表中的某些列,唯一的方法是為表建立檢視,然後將

檢視的許可權授予使用者

2.授予和**物件許可權 授予:

語法:grant on [schema.]object to [with grant option]

**:**物件許可權一般是由物件建立者(所有者)來完成的,但如果要以其他使用者身份收回物件許可權,那麼要求使用者必須具有物件許可權及

with admin option選項。

在授予物件許可權時帶的with grant option選項只能被授予使用者,而不能被授予角色。

物件許可權在**時會被級聯收回

a.查詢使用者所具有的系統許可權以及with admin option

select * from dba_sys_privs where grantee='aaron';

b.

oracle的系統和物件許可權

alter any cluster 修改任意簇的許可權 alter any index 修改任意索引的許可權 alter any role 修改任意角色的許可權 alter any sequence 修改任意序列的許可權 alter any snapshot 修改任意快照的許可權 alter any...

Oracle 系統和物件許可權管理

授予系統許可權 grant to with admin option 系統許可權 revoke from 對於使用了with admin option引數賦予的許可權,許可權不是級聯的。授予物件許可權 grant 將當前使用者的某個資料庫物件的所有許可權賦予新使用者 on schema.object...

許可權的概述 系統許可權 物件許可權

許可權 1許可權是資料庫執行某種操作的能力 2許可權的分類 1 系統許可權 在系統級控制資料庫的訪問和使用機制。2 物件許可權 是指在模式物件上控制訪問和使用的機制 系統許可權 1系統許可權是針對使用者來設定的,使用者必須被授予相應的系統許可權,才能連線到資料庫中執行某種操作 2系統許可權包括建立會...