標籤:
1、資料庫的執行個體:資料庫建立後會有一系列為該資料庫提供服務的記憶體空間和後天進程,稱為該資料庫的執行個體。每一個資料庫至少會有一個執行個體為其服務。執行個體中的記憶體結構稱為系統全域區(SGA),系統會根據當前電腦系統的效能給SGA分配非常可觀的記憶體空間。
2、雖然一個Oracle資料庫伺服器中可以安裝多個資料庫,但是一個資料庫需要佔用非常大的記憶體空間,因此一般一個伺服器只安裝一個資料庫。每一個資料庫可以有很多使用者,不同的使用者擁有自己的資料庫物件(比如:資料庫表),一個使用者如果訪問其他使用者的資料庫物件,必須由對方使用者授予一定的許可權。不同的使用者建立的表,只能被目前使用者訪問。因此在Oracle開發中,不同的應用程式只需使用不同的使用者訪問即可。
3、Oracle 使用者和許可權
Oracle中,一般不會輕易在一個伺服器上建立多個資料庫,在一個資料庫中,不同的項目由不同的使用者訪問,每一個使用者擁有自身建立的資料庫物件,因此使用者的概念在Oracle中非常重要。Oracle的使用者可以用CREATE USER命令來建立。其文法是:
CREATE USER 使用者名稱 IDENTIFIED BY 口令 [ACCOUNT LOCK|UNLOCK]
LOCK|UNLOCK建立使用者時是否鎖定,預設為鎖定狀態。鎖定的使用者無法正常的登入進行資料庫操作。
儘管使用者成功建立,但是還不能正常的登入Oracle資料庫系統,因為該使用者還沒有任何許可權。如果使用者能夠正常登入,至少需要CREATE SESSION系統許可權。
Oracle使用者對資料庫管理或對象操作的權利,分為系統許可權和資料庫物件許可權。系統許可權比如:CREATE SESSION,CREATE TABLE等,擁有系統許可權的使用者,允許擁有相應的系統操作。資料庫物件許可權,比如對錶中的資料進行增刪改操作等,擁有資料庫物件許可權的使用者可以對所擁有的對象進行對應的操作。
還有一個概念就是資料庫角色(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 使用者(角色)
//回收許可權
REVOKE 角色|許可權 FROM 使用者(角色)
//修改使用者的密碼
ALTER USER 使用者名稱 IDENTIFIED BY 新密碼
//修改使用者處於鎖定(非鎖定)狀態
ALTER USER 使用者名稱 ACCOUNT LOCK|UNLOCK
Oracle執行個體、使用者、許可權和角色