Oracle用戶和權限


Oracle入門教程:Oracle用戶和權限,Oracle中,一般不會輕易在一個服務器上創建多個數據庫,在一個數據庫中,不同的項目由不同的用戶訪問,每一個用戶擁有自身創建的數據庫對象,因此用戶的概念在Oracle中非常重要。Oracle的用戶可以用CREATE USER命令來創建。其語法是:

語法結構:創建用戶

CREATE USER 用戶名 IDENTIFIED BY 口令 [ACCOUNT LOCK|UNLOCK]

語法解析:

LOCK|UNLOCK創建用戶時是否鎖定,默認為鎖定狀態。鎖定的用戶無法正常的登錄進行數據庫操作。

代碼演示:創建用戶

SQL> CREATE USER jerry

2 IDENTIFIED BY tom

3 ACCOUNT UNLOCK;

注意!Oracle在SQL*Plus中的命令以分號(;)結尾,代表命令完畢並執行,系統同時會把該命令保存在緩存中,緩存中只保存最近執行過的命令,如果重新執行緩存中的命令,直接使用左斜杠符號(/)。如果命令不以分號結尾,該命令只是寫入緩存保存起來,但並不執行。

盡管用戶成功創建,但是還不能正常的登錄Oracle數據庫系統,因為該用戶還沒有任何權限。如果用戶能夠正常登錄,至少需要CREATE SESSION系統權限。

Oracle用戶對數據庫管理或對象操作的權利,分為系統權限和數據庫對象權限。系統權限比如:CREATE SESSION,CREATE TABLE等,擁有系統權限的用戶,允許擁有相應的系統操作。數據庫對象權限,比如對表中的數據進行增刪改操作等,擁有數據庫對象權限的用戶可以對所擁有的對象進行對應的操作。

來源:北京Oracle認證

還有一個概念就是數據庫角色(role),數據庫角色就是若干個系統權限的集合。下面介紹幾個常用角色:

·CONNECT角色,主要應用在臨時用戶,特別是那些不需要建表的用戶,通常只賦予他們CONNECT role。CONNECT是使用Oracle的簡單權限,擁有CONNECT角色的用戶,可以與服務器建立連接會話(session,客戶端對服務器連接,稱為會話)。

·RESOURCE角色,更可靠和正式的數據庫用戶可以授予RESOURCE role。RESOURCE提供給用戶另外的權限以創建他們自己的表、序列、過程(procedure)、觸發器(trigger)、索引(index)等。

·DBA角色,DBA role擁有所有的系統權限----包括無限制的空間限額和給其他用戶授予各種權限的能力。用戶SYSTEM擁有DBA角色。

一般情況下,一個普通的用戶(如SCOTT),擁有CONNECT和RESOURCE兩個角色即可進行常規的數據庫開發工作。

可以把某個權限授予某個角色,可以把權限、角色授予某個用戶。系統權限只能由DBA用戶授權,對象權限由擁有該對象的用戶授權,授權語法是:

語法結構:授權

GRANT角色|權限 TO 用戶(角色)

代碼演示:授權

SQL> GRANT CONNECT TO jerry;

授權成功。

SQL> GRANT RESOURCE TO jerry;

授權成功。

SQL>

語法結構:其他操作

//回收權限

REVOKE 角色|權限 FROM 用戶(角色)

//修改用戶的密碼

ALTER USER 用戶名 IDENTIFIED BY 新密碼

//修改用戶處於鎖定(非鎖定)狀態

ALTER USER 用戶名 ACCOUNT LOCK|UNLOCK


免責聲明!

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



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