時間:2015/6/28來源:IT貓撲網(wǎng)作者:網(wǎng)管聯(lián)盟我要評論(0)
創(chuàng)建與管理用戶賬戶
用戶是oracle數(shù)據(jù)庫管理的常用要求之一,能夠連接到數(shù)據(jù)庫的每一個用戶都必須是系統(tǒng)的合法用戶。用戶要想使用Oracle的管理系統(tǒng),必須要擁有相應(yīng)的權(quán)限。創(chuàng)建用戶并授予權(quán)限是Oracle系統(tǒng)管理員的常用任務(wù)之一。
1.1 配置身份驗證
Oracle為用戶賬戶提供了三種身份驗證方法。
。1)密碼驗證
當(dāng)一個使用密碼驗證機制的用戶試圖連接到數(shù)據(jù)庫時,數(shù)據(jù)庫會核實用戶名是否是一個有效的數(shù)據(jù)庫賬戶,并且提供與該用戶在數(shù)據(jù)庫中存儲的密碼相匹配的密碼。
由于用戶信息和密碼都存儲在數(shù)據(jù)庫內(nèi)部,所以密碼驗證用戶也稱為數(shù)據(jù)庫驗證用戶。
。2)外部驗證
當(dāng)一個外部驗證式用戶試圖連接到數(shù)據(jù)庫時,數(shù)據(jù)庫會核實用戶名是否是一個有效的數(shù)據(jù)庫賬戶,并確信該用戶已經(jīng)完成了操作系統(tǒng)級別的身份驗證。
注意,外部驗證式用戶并不在數(shù)據(jù)庫中存儲一個驗證密碼。
(3)全局驗證
全局驗證式用戶也不在數(shù)據(jù)庫中存儲驗證密碼,這種類型的驗證是通過一個高級安全選項所提供的身份驗證服務(wù)來進行的。
在上述的三種驗證方式中,密碼驗證是最常使用的驗證用戶的方法,也是我們將要詳細(xì)介紹的。除非特別聲明,本書中所創(chuàng)建和使用的用戶都是密碼驗證用戶。
另外兩種驗證一般很少使用,在這里僅簡單列出,有興趣的讀者可以查閱Oracle的官方文檔。
1.2 創(chuàng)建用戶的語法
要創(chuàng)建一個新的用戶(密碼驗證用戶),可以采用CREATE USER命令。
CREATE USER username IDENTIFIED BY password
OR IDENTIFIED EXETERNALLY
OR IDENTIFIED GLOBALLY AS ‘CN=user’
[DEFAULT TABLESPACE tablespace]
[TEMPORARY TABLESPACE temptablespace]
[QUOTA [integer K[M] ] [UNLIMITED] ] ON tablespace
[,QUOTA [integer K[M] ] [UNLIMITED] ] ON tablespace
[PROFILES profile_name]
[PASSWORD EXPIRE]
[ACCOUNT LOCK or ACCOUNT UNLOCK]
其中,
? CREATE USER username:用戶名,一般為字母數(shù)字型和"#"及"_"符號。
? IDENTIFIED BY password:用戶口令,一般為字母數(shù)字型和"#"及"_"符號。
? IDENTIFIED EXETERNALLY:表示用戶名在操作系統(tǒng)下驗證,該用戶名必須與操作系統(tǒng)中所定義的用戶名相同。
? IDENTIFIED GLOBALLY AS ‘CN=user’:用戶名由Oracle安全域中心服務(wù)器驗證,CN名字表示用戶的外部名。
? [DEFAULT TABLESPACE tablespace]:默認(rèn)的表空間。
? [TEMPORARY TABLESPACE tablespace]:默認(rèn)的臨時表空間。
? [QUOTA [integer K[M] ] [UNLIMITED] ] ON tablespace:用戶可以使用的表空間的字節(jié)數(shù)。
? [PROFILES profile_name]:資源文件的名稱。
? [PASSWORD EXPIRE]:立即將口令設(shè)成過期狀態(tài),用戶再登錄前必須修改口令。
? [ACCOUNT LOCK or ACCOUNT UNLOCK]:用戶是否被加鎖,默認(rèn)情況下是不加鎖的。
1.3 創(chuàng)建用戶實例
本節(jié)通過具體實例演示如何創(chuàng)建數(shù)據(jù)庫用戶。
。1)創(chuàng)建用戶,指定默認(rèn)表空間和臨時表空間。
創(chuàng)建用戶名為guord,口令為12345,默認(rèn)表空間為system,臨時表空間為TEMP的用戶。
示例1:
CREATE USER guord IDENTIFIED BY 12345
DEFAULT TABLESPACE system
TEMPORARY TABLESPACE TEMP;
有時,為了避免用戶在創(chuàng)建表和索引對象時占用過多的空間,可配置用戶在表空間上的磁盤限額,在創(chuàng)建用戶時通過QUOTA xxxM ON tablespace_name 子句即可。
。2)創(chuàng)建用戶,并配置磁盤限額。
創(chuàng)建一個用戶名為guord,口令為12345,默認(rèn)表空間為system,臨時表空間為TEMP的用戶,并且不允許該用戶使用Users表空間。
示例2:
CREATE USER guord IDENTIFIED BY 12345
DEFAULT TABLESPACE system
TEMPORARY TABLESPACE TEMP
QUOTA 0 ON users;
#p#副標(biāo)題#e#
(3)配置用戶在指定表空間上不受限制。
創(chuàng)建一個用戶名為test,口令為12345,默認(rèn)表空間為users,并且該用戶使用users表空間不受限制。
示例3:
CREATE USER test IDENTIFIED BY 12345
DEFAULT TABLESPACE users
QUOTA UNLIMITED ON users;
在創(chuàng)建用戶時,以下幾點特別需要特別注意。
? 初始建立的數(shù)據(jù)庫用戶沒有任何權(quán)限,不能執(zhí)行任何數(shù)據(jù)庫操作。
? 如果建立用戶時不指定DEFAULT TABLESPACE子句,Oracle會將SYSTEM表空間作為用戶默認(rèn)表空間。
? 如果建立用戶時不指定TEMPORARY TABLESPACE子句,Oracle會將數(shù)據(jù)庫默認(rèn)臨時表空間作為用戶的臨時表空間。
? 如果建立用戶時沒有為表空間指定QUOTA子句,那么用戶在特定表空間上的配額為0,用戶將不能在相應(yīng)表空間上建立數(shù)據(jù)對象。
? 初始建立的用戶沒有任何權(quán)限,所以為了使用戶可以連接到數(shù)據(jù)庫,必須授權(quán)其CREATE SESSION權(quán)限,我們將在15.2節(jié)中講述。
1.4 修改用戶語法與實例
用戶創(chuàng)建完成后,管理員可以對用戶進行修改,包括修改用戶口令、改變用戶默認(rèn)表空間、臨時表空間、磁盤配額及資源限制等。修改用戶的命令語法如下。
ALTER USER username IDENTIFIED BY password
OR IDENTIFIED EXETERNALLY
OR IDENTIFIED GLOBALLY AS ‘CN=user’
[DEFAULT TABLESPACE tablespace]
[TEMPORARY TABLESPACE temptablespace]
[QUOTA [integer K[M] ] [UNLIMITED] ] ON tablespace
[,QUOTA [integer K[M] ] [UNLIMITED] ] ON tablespace
[PROFILES profile_name]
[PASSWORD EXPIRE]
[ACCOUNT LOCK or ACCOUNT UNLOCK]
[DEFAULT ROLE role[,role]]
OR [DEFAULT ROLE ALL [EXCEPT role[,role]]]
OR [DEFAULT ROLE NOTE]
其中,各個參數(shù)的含義讀者可以參照前面CRREATE USER語法中的解釋,這里不再贅述。
如果DBA在創(chuàng)建用戶時,指定了用戶在某個表空間的磁盤限額,那么經(jīng)過一段時間,該用戶使用該表空間已經(jīng)達(dá)到了DBA所設(shè)置的磁盤限額時,Oracle系統(tǒng)會給出類似于下面的錯誤提示。
ORA-01536:SPACE QUOTA EXCEEDED FOR TABLESPACE ‘USERS’
此時,DBA應(yīng)該及時通過ALTER USER命令增加用戶在該表空間中的使用限額。
。1)修改用戶的磁盤限額。
當(dāng)Oracle系統(tǒng)提示ORA-01536錯誤時,表示該用戶的資源超出限額,需要為用戶增加資源。
示例1:
SQL>SQLPLUS SYSTEM/password
SQL>ALTER USER wbtest QUOTA 100M ON USERS;
通過上述命令,將用戶wbtest在USERS表空間上的磁盤限額擴展到100M。
。2)修改用戶的口令。
將SCOTT用戶的口令改為tigerabc。
示例2:
SQL>alter user scott identified by tigerabc;
Oracle默認(rèn)安裝完成后,為了安全起見,很多用戶處于LOCKED狀態(tài),可以對LOCKED狀態(tài)的用戶解除鎖定。
。3)查詢Oracle系統(tǒng)中被鎖住的用戶信息。
示例3:
SQL>select username,account_status,lock_date from dba_users;
USERNAME ACCOUNT_STATUS LOCK_DTAE
--------------------------------------------------------------------------------------
SYS OPEN
SYSTEM OPEN
DBSNMP OPEN
HOUSE OPEN
SCOTT OPEN
OE OPEN
OUTLN EXPIRED&LOCKED 18-8月 -07
WMSYS EXPIRED&LOCKED 18-8月
關(guān)鍵詞標(biāo)簽:oracle用戶管理
相關(guān)閱讀
熱門文章 Oracle中使用alter table來增加,刪除,修改列oracle中使用SQL語句修改字段類型-oracle修使用低權(quán)限Oracle數(shù)據(jù)庫賬戶得到管理員權(quán)限Oracle對user的訪問控制
人氣排行 ORACLE SQL 判斷字符串是否為數(shù)字的語句Oracle中使用alter table來增加,刪除,修改列的語法ORACLE和SQL語法區(qū)別歸納(1)oracle grant 授權(quán)語句如何加速Oracle大批量數(shù)據(jù)處理Oracle刪除表的幾種方法ORACLE修改IP地址后如何能夠使用Oracle 10g創(chuàng)建表空間和用戶并指定權(quán)限