Oracle的許可權控制

2021-07-27 12:09:22 字數 3741 閱讀 4985

一)使用者

oracle中的使用者分為二大類

1)oracle資料庫伺服器建立時,由系統自動建立的使用者,叫系統使用者,如sys。

2)利用系統使用者建立的使用者,叫普通使用者,如scott,hr,c##tiger,zhaojun,...

》用sys登入,查詢當前oracle資料庫伺服器中已有使用者的名字和狀態

username表示登入名

expired&locked表示帳號過期和鎖定

open表示帳號現在可用

sqlplus / as sysdba;

col username for a30;

col account_status for a30;

set pagesize 100;

select username,account_status from dba_users;

查詢oracle中有哪些使用者

select * from all_users;

二)建立與刪除普通使用者

可以在oracle中建立新的普通使用者,建立普通使用者命令是:create user,在建立普通使用者的同時,應該為其分配乙個具體的表空間,通常叫users。

》用sys登入,查詢oracle中有哪些可用儲存空間,所有普通使用者預設為users儲存空間

select * from v$tablespace;

》用sys登入,建立普通使用者c##tiger,密碼為abc,預設使用users儲存空間,即對應硬碟上的乙個dbf二進位制檔案

sqlplus / as sysdba;

create user c##tiger identified by abc default tablespace users;

》用sys登入,為c##tiger分配users空間無限制使用,即資料庫中dbf檔案可以無限增加,乙個dbf檔案不夠,會建立第二個dbf檔案

sqlplus / as sysdba;

alter user c##tiger quota unlimited on users;

》用c##tiger登入,能進orcl資料庫嗎?

sqlplus c##tiger/abc

進不去orcl資料庫

》用sys登入,刪除普通使用者c##tiger

sqlplus / as sysdba;

drop user c##tiger cascade;

三)了解系統使用者

sys是oracle中乙個重要的系統使用者,sys是oracle中最高許可權使用者,其角色為sysdba(系統管理員)

sqlplus / as sysdba

四)許可權

許可權的最終作用於使用者。即所有使用者在資料庫內的操作物件和可執行的動作都是受到限制的。

oracle中許可權分為二大類:

1)系統許可權

2)物件許可權

五)系統許可權

針對資料庫中特定操作的許可,例如:讓c##tiger能登入到orcl資料庫,能在orcl資料庫中建立表

sqlplus / as sysdba;

select distinct privilege from dba_sys_privs;

》用sys登入,為c##tiger分配create session與資料庫建立會話的許可權,即允許該使用者登入

sqlplus / as sysdba;

grant create session to c##tiger;

》用c##tiger登入,能進orcl資料庫嗎?

sqlplus c##tiger/abc

能進去orcl資料庫

》用c##tiger登入,建立一張tiger的表,能建立嗎?

sqlplus c##tiger/abc

create table tiger(

name varchar2(20)

);這時c##tiger沒有許可權建立表

》用sys登入,為c##tiger分配create table許可權,即允許建立表

sqlplus / as sysdba;

grant create table to c##tiger;

》用c##tiger登入,建立一張tiger的表,能建立嗎?

sqlplus c##tiger/abc

create table tiger(

name varchar2(20)

);可以建立c##tiger表

》用sys登入,查詢c##tiger所擁有的系統許可權

sqlplus / as sysdba;

select grantee,privilege from dba_sys_privs where lower(grantee) = 'c##tiger';

grantee表示普通使用者名稱

privilege許可權名  

》用sys登入,撤銷c##tiger的create table許可權

sqlplus / as sysdba;

revoke create table from c##tiger;

六)物件許可權

使用者對已有物件的操作許可權,包括:

1)select可用於表,檢視和序列

2)insert向表或檢視中插入新的記錄

3)update更新表中資料

4)delete刪除表中資料

5)execute函式,過程的執行

6)index為表建立索引

7)references為表建立外健

8)alter修改表或者序列的屬性

》用sys登入,查詢c##tiger所擁有的物件許可權

sqlplus / as sysdba;

col grantee for a10;

col table_name for a10;

col privilege for a20;

select grantee,table_name,privilege from dba_tab_privs where lower(grantee) = 'c##tiger';

》用sys登入,為c##tiger分配對tiger表的所有許可權,即增刪改查操作

sqlplus / as sysdba;

grant all on c##tiger.tiger to c##tiger;

注意:c##tiger表示空間名

tiger表示該空間下的表名

c##tiger   tiger      flashback

c##tiger   tiger      debug

c##tiger   tiger      query rewrite

c##tiger   tiger      on commit refresh

c##tiger   tiger      references

c##tiger   tiger      update

c##tiger   tiger      select

c##tiger   tiger      insert

c##tiger   tiger      index

c##tiger   tiger      delete

c##tiger   tiger      alter

》用c##tiger登入,對tiger表進行增刪改查操作

sqlplus c##tiger/abc;

insert into tiger(name) values('aa');

update tiger set name = 'bb';

delete from tiger where rownum = 1;

select * from tiger;

oracle 控制使用者許可權

控制使用者許可權 一 許可權 1 資料庫的安全性 1 系統安全性 2 資料安全性 2 系統許可權 對於資料庫的許可權 3 物件許可權 運算元據庫物件的許可權 下面我們來詳細了解一下系統許可權 1 超過一百多種有效的許可權 2 資料庫管理員具有高階許可權以完成管理任務 例如 建立新使用者,刪除使用者,...

Oracle 使用者許可權控制

這篇部落格介紹sql語句中的dcl中的許可權操作 語句 功能 create user 建立使用者 通常由dba完成 grant 分配許可權 create role 建立角色 通常由dba完成 alter user 修改使用者密碼 revoke 收回許可權 這裡需要特別說明下,我使用oracle12c...

oracle 表訪問許可權控制

目前有資料庫有乙個系統使用者sysuser擁有所有表的許可權,另外乙個系統想訪問我資料庫中的一張表,我不想他控制我資料庫的所有表,所有我就新建了乙個使用者,控制這個使用者只能訪問我資料庫中的一張表,其他許可權都沒用。具體過程如下 1.系統使用者sys登入 conn sys password as s...