oracle用戶和權限


  在oracle中,一個服務器上一般只有一個數據庫。在一個數據庫中,不同的用戶項目由不同的用戶訪問,每一個用戶擁有自身創建的數據庫對象,當一個用戶想訪問其它用戶下的數據庫對象時,必須由對方授予一定的權限,因此,用戶和權限在oracle中非常重要。下面是我總結的一些關於用戶和權限的知識,和大家一起分享一下。

  連接數據庫前,必須保證oracle實例的服務與監聽開啟。在oracle中,默認有兩個數據庫管理員用戶(sys和system)和一個普通用戶(scott)。sys用戶具有所有數據庫管理的功能,system用戶除了不能用於數據庫的備份及恢復,scott表是為程序測試提供的用戶。

一、用戶

1.創建用戶

  格式:create user 用戶名 identified by 密碼;

create user test1 identified by 123456;

 

創建用戶后並沒有連接數據庫,創建操作數據庫對象的權限,需要進行相應的授權。

grant connect to test1;--允許用戶連接數據庫
grant resource to test1;--允許用戶創建相關的數據庫對象,如表,序列等。

 

進行上面的授權后,就可以連接數據庫並且創建表等對象了。

2.常用系統權限

系統權限 允許用戶的操作
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 創建視圖

 

 

 

 

 

 

 

 

 

 

 

 

 

3.數據庫角色

  (1)定義:若干系統權限的集合。

  (2)常用角色

    1>connect角色:主要用於臨時表中,擁有connect角色的用戶,可以與服務器建立連接會話(session,客戶端對服務器的連接,稱為會話)。

grant connect to test1;

 

    2>resource角色:resource提供給用戶另外的權限以創建他們的表,序列,過程,觸發器,索引等。但不能創建視圖。

grant resource to test1;

 

    3>DBA角色:擁有所有的系統權限,用戶system擁有DBA角色。

grant dba to test1;

 

  (3)一個用戶對其他用戶的授權

      一個用戶授權時使用with admin option,則該用戶可以繼續講該權限分配給其他用戶。並且當該用戶的權限被收回后,該用戶給其他分配出去的系統權限不受影響。

grant connect,resource,drop user to test2 with admin option;

 

4.收回權限

revoke connect,resource from test2;

 

5.修改用戶密碼

--修改用戶密碼
alter user test2 identified by 111111;
--或可視化更改用戶密碼
conn test2/123456 
password;--password必須放在下一行

 

6.查詢用戶

select * from dba_users;
select * from user_role_privs;
SELECT * FROM user_sys_privs

 

7.刪除用戶

drop user test2;

 

注意;刪除用戶時,若用戶架構包含對象(如表等),那么在刪除用戶時需要級聯刪除,即drop user test2 cascade;

總結:1.一般情況下,一個普通用戶若只是做測試用戶,不需要建表等,只分配connect權限即可。

   2.若用戶需要建表等,則分配connect和resource權限。

     3.當一個用戶需要給其他用戶授予系統權限時,其他用戶給該用戶分配權限時需要加with admin option

二、對象權限

1.定義:對象權限允許用戶執行某些數據庫對象操作,如表上執行DML語句。

對象權限

允許用戶的操作

select 查詢
update 更新
add 增加
delete 刪除
execute 執行存儲過程和函數

 

 

 

 

 

 

2.對象權限的分配與收回

  語法與分配收回系統權限類型,不用的地方在於當允許被授權用戶將權限授予其他用戶時使用的是with grant option,而非with admin option。且當用戶的權限被收回后,它之前授予其他用戶的該權限也被撤銷。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM